[jboss-svn-commits] JBL Code SVN: r23078 - in labs/jbossesb/workspace/skeagh/runtime/src: main/java/org/jboss/esb/deploy/config and 8 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Sep 25 11:37:22 EDT 2008
Author: tfennelly
Date: 2008-09-25 11:37:22 -0400 (Thu, 25 Sep 2008)
New Revision: 23078
Added:
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/deploy/config/jbossesb-inrouters_02.xml
Modified:
labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/deploy/DeploymentRuntime.java
labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/deploy/config/InboundRouterConfig.java
labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/dispatch/AbstractDispatcher.java
labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/dispatch/LocalDispatcher.java
labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/DeploymentMonitor.java
labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/routing/ServiceInvoker.java
labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/inrouters-smooks.xml
labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/jbossesb-5.0.xsd
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestService.java
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/deploy/config/DefaultConfigurationDigesterTest.java
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/deploy/lifecycle/UndeployDispatcherDelayTest.java
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/01-deployment.xml
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/02-deployment.xml
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/03-deployment.xml
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/RoutingTest.java
Log:
Routing and replyto tests and mods.
Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/deploy/DeploymentRuntime.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/deploy/DeploymentRuntime.java 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/deploy/DeploymentRuntime.java 2008-09-25 15:37:22 UTC (rev 23078)
@@ -609,6 +609,8 @@
LocalDispatcher dispatcher = new LocalDispatcher(context);
dispatcher.setServiceName(serviceName);
dispatcher.setService(getService(aggregatedDeploymentUnit, serviceName));
+ dispatcher.setReplyTo(routerConfig.getReplyTo());
+ dispatcher.setFaultTo(routerConfig.getFaultTo());
dispatcher.setTransformers(routerConfig.getTransformers());
dispatcher.setOutboundRouters(aggregatedDeploymentUnit.getOutboundRouters().get(serviceName));
Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/deploy/config/InboundRouterConfig.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/deploy/config/InboundRouterConfig.java 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/deploy/config/InboundRouterConfig.java 2008-09-25 15:37:22 UTC (rev 23078)
@@ -22,6 +22,7 @@
import org.jboss.esb.message.MessageTransformer;
import org.jboss.esb.routing.InboundRouter;
import org.jboss.esb.routing.MessageDispatcher;
+import org.jboss.esb.service.ServiceName;
import java.util.List;
@@ -48,6 +49,14 @@
* Router transformers.
*/
private List<MessageTransformer> transformers;
+ /**
+ * "replyTo" address for all messages dispatched from this router.
+ */
+ private ServiceName replyTo;
+ /**
+ * "faultTo" address for all messages dispatched from this router.
+ */
+ private ServiceName faultTo;
/**
* Get the router configuration name.
@@ -91,6 +100,7 @@
/**
* Get the {@link MessageDispatcher} associated with this router config.
+ *
* @return The DispatcherProxy instance.
*/
public final MessageDispatcher getDispatcher()
@@ -100,6 +110,7 @@
/**
* Get the {@link MessageDispatcher} associated with this router config.
+ *
* @param dispatcher The DispatcherProxy instance.
*/
public final void setDispatcher(final MessageDispatcher dispatcher)
@@ -126,4 +137,48 @@
{
this.transformers = transformers;
}
+
+ /**
+ * Get the "replyTo" address for messages generated out of this
+ * inrouter.
+ *
+ * @return The replyTo Service name.
+ */
+ public final ServiceName getReplyTo()
+ {
+ return replyTo;
+ }
+
+ /**
+ * Set the "replyTo" address for messages generated out of this
+ * inrouter.
+ *
+ * @param replyTo The replyTo Service name.
+ */
+ public final void setReplyTo(final ServiceName replyTo)
+ {
+ this.replyTo = replyTo;
+ }
+
+ /**
+ * Get the "faultTo" address for messages generated out of this
+ * inrouter.
+ *
+ * @return The faultTo Service name.
+ */
+ public final ServiceName getFaultTo()
+ {
+ return faultTo;
+ }
+
+ /**
+ * Set the "faultTo" address for messages generated out of this
+ * inrouter.
+ *
+ * @param faultTo The replyTo Service name.
+ */
+ public final void setFaultTo(final ServiceName faultTo)
+ {
+ this.faultTo = faultTo;
+ }
}
Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/dispatch/AbstractDispatcher.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/dispatch/AbstractDispatcher.java 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/dispatch/AbstractDispatcher.java 2008-09-25 15:37:22 UTC (rev 23078)
@@ -192,12 +192,23 @@
{
try
{
- Message outMessage = service.process(theMessage);
- AddressingContext.getContext().setFrom(getServiceName());
+ AddressingContext addressingContext = AddressingContext.getContext();
+ ServiceName replyTo = addressingContext.getReplyTo();
+ Message outMessage;
+ // Process the message...
+ outMessage = service.process(theMessage);
+ addressingContext.setFrom(getServiceName());
+
// Log this processing event...
ProcessingEventLog.getEventLog().logEvent(new ServiceProcessingEvent(getServiceName()));
+ // If we need to send a reply, send it now...
+ if(outMessage != null && replyTo != null)
+ {
+ serviceInvoker.send(outMessage, replyTo);
+ }
+
return outMessage;
}
catch (ServiceException e)
@@ -282,25 +293,25 @@
}
}
- // Create a clone of the message in case there's an error or
- // there are multiple outrouters with transformers on them...
- Message clone = (Message) outMessage.clone();
-
for (OutboundRouterConfig outboundRouterConfig : outboundRouters)
{
+ // Create a shallow clone of the message in case there's an error or
+ // there are multiple outrouters with transformers on them...
+ Message clone = (Message) outMessage.clone();
OutboundRouter outRouter = outboundRouterConfig.getRouter();
+
if (outRouter instanceof BusOutboundRouter)
{
if (!((BusOutboundRouter) outRouter).hasService(serviceName))
{
try
{
- outRouter.route(outMessage);
+ outRouter.route(clone);
}
catch (Throwable t)
{
logger.error("Exception routing message to remote OutboundRouter for Service '" + addressContext.getTo() + "' via OutboundRouter. Router Configuration '" + outboundRouterConfig.getName() + "'. Routing to Dead Letter Service '" + DeadLetterPersistanceService.SERVICE_NAME + "'.", t);
- routeToDeadLetterService(outMessage, t);
+ routeToDeadLetterService(clone, t);
}
}
}
@@ -308,7 +319,7 @@
{
try
{
- applyOutboundTransformers(outMessage, outboundRouterConfig.getTransformers());
+ applyOutboundTransformers(clone, outboundRouterConfig.getTransformers());
}
catch (Throwable t)
{
@@ -316,10 +327,11 @@
// We route the clone because it's unmodified... allows us to
// start from scratch again...
routeToDeadLetterService(clone, t);
+ continue;
}
try
{
- outRouter.route(outMessage);
+ outRouter.route(clone);
// Log this processing event...
ProcessingEventLog.getEventLog().logEvent(new OutboundRouterProcessingEvent(outboundRouterConfig.getName()));
@@ -331,15 +343,6 @@
// start from scratch again...
routeToDeadLetterService(clone, t);
}
- finally
- {
- // Reset the message contents in case there are multiple
- // outrouters. They may have transformers that modified
- // the original message...
- outMessage.setPayload(clone.getPayload());
- outMessage.getAttachments().clear();
- outMessage.getAttachments().putAll(clone.getAttachments());
- }
}
}
}
Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/dispatch/LocalDispatcher.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/dispatch/LocalDispatcher.java 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/dispatch/LocalDispatcher.java 2008-09-25 15:37:22 UTC (rev 23078)
@@ -26,6 +26,7 @@
import org.jboss.esb.message.Message;
import org.jboss.esb.util.AssertArgument;
import org.jboss.esb.history.ProcessingEventLog;
+import org.jboss.esb.service.ServiceName;
/**
* Local message dispatcher.
@@ -38,6 +39,14 @@
* Logger.
*/
private static Logger logger = Logger.getLogger(LocalDispatcher.class);
+ /**
+ * ReplyTo Address.
+ */
+ private ServiceName replyTo;
+ /**
+ * FaultTo Address.
+ */
+ private ServiceName faultTo;
/**
* Public constructor.
@@ -51,6 +60,24 @@
}
/**
+ * Set the "replyTo" address.
+ * @param replyTo The "replyTo" address.
+ */
+ public final void setReplyTo(final ServiceName replyTo)
+ {
+ this.replyTo = replyTo;
+ }
+
+ /**
+ * Set the "faultTo" address.
+ * @param faultTo The "faultTo" address.
+ */
+ public final void setFaultTo(final ServiceName faultTo)
+ {
+ this.faultTo = faultTo;
+ }
+
+ /**
* Dispatch method.
* <p/>
* Receives a message, applies the set of transforms to it, passes it to
@@ -72,6 +99,9 @@
AddressingContext addressingContext = new AddressingContext();
addressingContext.setTo(getServiceName());
+ addressingContext.setReplyTo(replyTo);
+ addressingContext.setFaultTo(faultTo);
+
AddressingContext.setContext(addressingContext);
try
{
Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/DeploymentMonitor.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/DeploymentMonitor.java 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/DeploymentMonitor.java 2008-09-25 15:37:22 UTC (rev 23078)
@@ -25,8 +25,8 @@
import org.jboss.esb.failure.DeadLetterPersistanceService;
import org.jboss.esb.federate.bus.Bus;
import org.jboss.esb.federate.bus.BusMessage;
+import org.jboss.esb.history.ProcessingEventLog;
import org.jboss.esb.history.events.BusRouterProcessingEvent;
-import org.jboss.esb.history.ProcessingEventLog;
import org.jboss.esb.message.Message;
import org.jboss.esb.routing.ServiceInvoker;
import org.jboss.esb.service.ServiceName;
Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/routing/ServiceInvoker.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/routing/ServiceInvoker.java 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/routing/ServiceInvoker.java 2008-09-25 15:37:22 UTC (rev 23078)
@@ -154,7 +154,10 @@
if(eventLog.propagate())
{
- ProcessingEventLog.setEventLog(eventLog, dispatchInvocationContext);
+ ProcessingEventLog newEventLog = new ProcessingEventLog(true);
+
+ newEventLog.getProcessingEvents().addAll(eventLog.getProcessingEvents());
+ ProcessingEventLog.setEventLog(newEventLog, dispatchInvocationContext);
}
// And dispatch the message...
Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/inrouters-smooks.xml
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/inrouters-smooks.xml 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/inrouters-smooks.xml 2008-09-25 15:37:22 UTC (rev 23078)
@@ -38,6 +38,8 @@
<jb:bindings beanId="inRouterConfig" class="org.jboss.esb.deploy.config.InboundRouterConfig" createOnElement="inRouter">
<jb:wiring property="router" beanIdRef="inRouter" />
<jb:wiring property="transformers" beanIdRef="transformers" />
+ <jb:wiring property="replyTo" beanIdRef="replyTo" />
+ <jb:wiring property="faultTo" beanIdRef="faultTo" />
<jb:value property="name" data="inRouter/@name" />
</jb:bindings>
@@ -54,4 +56,52 @@
<param name="nameAttrib">name</param>
</resource-config>
+ <!--
+ "replyTo" Service Name...
+ -->
+
+ <resource-config selector="replyTo">
+ <resource>org.jboss.esb.deploy.config.digest.CreateObject</resource>
+ <param name="beanId">replyTo</param>
+ <param name="className">org.jboss.esb.service.ServiceName</param>
+ </resource-config>
+
+ <resource-config selector="replyTo">
+ <resource>org.jboss.esb.deploy.config.digest.SetProperty</resource>
+ <param name="beanId">replyTo</param> <!-- Created above. -->
+ <param name="property">category</param>
+ <param name="valueAttrib">serviceCategory</param>
+ </resource-config>
+
+ <resource-config selector="replyTo">
+ <resource>org.jboss.esb.deploy.config.digest.SetProperty</resource>
+ <param name="beanId">replyTo</param> <!-- Created above. -->
+ <param name="property">name</param>
+ <param name="valueAttrib">serviceName</param>
+ </resource-config>
+
+ <!--
+ "faultTo" Service Name...
+ -->
+
+ <resource-config selector="faultTo">
+ <resource>org.jboss.esb.deploy.config.digest.CreateObject</resource>
+ <param name="beanId">faultTo</param>
+ <param name="className">org.jboss.esb.service.ServiceName</param>
+ </resource-config>
+
+ <resource-config selector="faultTo">
+ <resource>org.jboss.esb.deploy.config.digest.SetProperty</resource>
+ <param name="beanId">faultTo</param> <!-- Created above. -->
+ <param name="property">category</param>
+ <param name="valueAttrib">serviceCategory</param>
+ </resource-config>
+
+ <resource-config selector="faultTo">
+ <resource>org.jboss.esb.deploy.config.digest.SetProperty</resource>
+ <param name="beanId">faultTo</param> <!-- Created above. -->
+ <param name="property">name</param>
+ <param name="valueAttrib">serviceName</param>
+ </resource-config>
+
</smooks-resource-list>
\ No newline at end of file
Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/jbossesb-5.0.xsd
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/jbossesb-5.0.xsd 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/jbossesb-5.0.xsd 2008-09-25 15:37:22 UTC (rev 23078)
@@ -116,6 +116,11 @@
</xs:sequence>
</xs:complexType>
+ <xs:complexType name="address">
+ <xs:attribute name="serviceCategory" use="required" type="xs:string"/>
+ <xs:attribute name="serviceName" use="required" type="xs:string"/>
+ </xs:complexType>
+
<!--
In Routing...
-->
@@ -141,6 +146,8 @@
<xs:complexContent>
<xs:extension base="abstractInRouter">
<xs:sequence>
+ <xs:element name="replyTo" type="address" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="faultTo" type="address" minOccurs="0" maxOccurs="1"/>
<xs:element name="property" type="property" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="class" type="xs:string" use="required" />
Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestService.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestService.java 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestService.java 2008-09-25 15:37:22 UTC (rev 23078)
@@ -33,6 +33,7 @@
public class TestService implements Service
{
private String message;
+ private String messageAppendage;
public static InvocationContext invocationContext;
public static AddressingContext addressingContext;
public static DeploymentContext deploymentContext;
@@ -60,6 +61,11 @@
return message;
}
+ public void setMessageAppendage(String messageAppendage)
+ {
+ this.messageAppendage = messageAppendage;
+ }
+
public void setSleep(long sleep)
{
this.sleep = sleep;
Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/deploy/config/DefaultConfigurationDigesterTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/deploy/config/DefaultConfigurationDigesterTest.java 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/deploy/config/DefaultConfigurationDigesterTest.java 2008-09-25 15:37:22 UTC (rev 23078)
@@ -19,26 +19,24 @@
*/
package org.jboss.esb.deploy.config;
+import org.jboss.esb.deploy.DeploymentException;
+import org.jboss.esb.deploy.config.digest.DefaultConfigurationDigester;
+import org.jboss.esb.deploy.config.digest.DigestUtil;
+import org.jboss.esb.message.MessageTransformer;
+import org.jboss.esb.service.ServiceName;
+import org.junit.After;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import org.junit.Test;
+import org.milyn.SmooksException;
import java.io.IOException;
import java.net.URI;
import java.util.List;
import java.util.Map;
-import org.jboss.esb.deploy.DeploymentException;
-import org.jboss.esb.deploy.config.digest.DefaultConfigurationDigester;
-import org.jboss.esb.deploy.config.digest.DigestUtil;
-import org.jboss.esb.message.MessageTransformer;
-import org.jboss.esb.service.ServiceName;
-import org.junit.After;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.milyn.SmooksException;
-
/**
* @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
*/
@@ -85,6 +83,33 @@
test_outrouters(configUnit);
}
+ @Test
+ public void test_inrouters_02() throws DeploymentException, IOException
+ {
+ DeploymentUnit configUnit = digest("jbossesb-inrouters_02.xml");
+ Map<ServiceName, List<InboundRouterConfig>> inRouters = configUnit.getInboundRouters();
+ InboundRouterConfig routerConfig;
+
+ List<InboundRouterConfig> cRouterConfigs = inRouters.get(new ServiceName("service-cat", "service-c"));
+ assertEquals(4, cRouterConfigs.size());
+
+ routerConfig = cRouterConfigs.get(0);
+ assertEquals(new ServiceName("cat", "s1"), routerConfig.getReplyTo());
+ assertEquals(null, routerConfig.getFaultTo());
+
+ routerConfig = cRouterConfigs.get(1);
+ assertEquals(null, routerConfig.getReplyTo());
+ assertEquals(new ServiceName("cat", "s2"), routerConfig.getFaultTo());
+
+ routerConfig = cRouterConfigs.get(2);
+ assertEquals(new ServiceName("cat", "s3"), routerConfig.getReplyTo());
+ assertEquals(new ServiceName("cat", "s4"), routerConfig.getFaultTo());
+
+ routerConfig = cRouterConfigs.get(3);
+ assertEquals(null, routerConfig.getReplyTo());
+ assertEquals(null, routerConfig.getFaultTo());
+ }
+
private void test_inrouters(String config) throws IOException, DeploymentException
{
DeploymentUnit configUnit = digest(config);
Copied: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/deploy/config/jbossesb-inrouters_02.xml (from rev 23074, labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/deploy/config/jbossesb-inrouters_01.xml)
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/deploy/config/jbossesb-inrouters_02.xml (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/deploy/config/jbossesb-inrouters_02.xml 2008-09-25 15:37:22 UTC (rev 23078)
@@ -0,0 +1,21 @@
+<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+
+ <routing>
+
+ <!-- Test the replyTo and faultTo -->
+ <inRouters serviceCategory="service-cat" serviceName="service-c">
+ <inRouter name="inrouter5" class="org.jboss.esb.deploy.config.MyInRouter">
+ <replyTo serviceCategory="cat" serviceName="s1"/>
+ </inRouter>
+ <inRouter name="inrouter6" class="org.jboss.esb.deploy.config.MyInRouter">
+ <faultTo serviceCategory="cat" serviceName="s2"/>
+ </inRouter>
+ <inRouter name="inrouter7" class="org.jboss.esb.deploy.config.MyInRouter">
+ <replyTo serviceCategory="cat" serviceName="s3"/>
+ <faultTo serviceCategory="cat" serviceName="s4"/>
+ </inRouter>
+ <inRouter name="inrouter8" class="org.jboss.esb.deploy.config.MyInRouter" />
+ </inRouters>
+ </routing>
+
+</jbossesb>
\ No newline at end of file
Property changes on: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/deploy/config/jbossesb-inrouters_02.xml
___________________________________________________________________
Name: svn:mime-type
+ text/xml
Name: svn:mergeinfo
+
Name: svn:eol-style
+ native
Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/deploy/lifecycle/UndeployDispatcherDelayTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/deploy/lifecycle/UndeployDispatcherDelayTest.java 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/deploy/lifecycle/UndeployDispatcherDelayTest.java 2008-09-25 15:37:22 UTC (rev 23078)
@@ -89,9 +89,14 @@
Thread.sleep(10);
}
+ long start = System.currentTimeMillis();
+
+ // Wait another fraction, just to make sure the services get into
+ // their sleep states...
+ Thread.sleep(100);
+
// Run the undeploy... they should wait until all messages have
// been processed...
- long start = System.currentTimeMillis();
inrouterDeployment.undeploy();
serviceADeployment.undeploy();
serviceBDeployment.undeploy();
Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/01-deployment.xml
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/01-deployment.xml 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/01-deployment.xml 2008-09-25 15:37:22 UTC (rev 23078)
@@ -1,34 +1,11 @@
<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
-
+
<routing>
<inRouters serviceCategory="Service" serviceName="A">
- <inRouter name="inrouter" class="org.jboss.esb.TestInboundRouter" />
+ <inRouter name="inrouter" class="org.jboss.esb.TestInboundRouter">
+ <replyTo serviceCategory="Service" serviceName="B" />
+ </inRouter>
</inRouters>
-
- <!--
- Route the message from A to B....
- -->
- <outRouters serviceCategory="Service" serviceName="A">
- <outRouter name="A_to_B_router" class="org.jboss.esb.routing.ServiceRouter">
- <property name="toCategory">Service</property>
- <property name="toService">B</property>
- </outRouter>
- </outRouters>
- <!--
- Route the message from B to C....
- -->
- <outRouters serviceCategory="Service" serviceName="B">
- <outRouter name="B_to_C_router" class="org.jboss.esb.routing.ServiceRouter">
- <property name="toCategory">Service</property>
- <property name="toService">C</property>
- </outRouter>
- </outRouters>
</routing>
- <services>
- <service serviceCategory="Service" serviceName="A" serviceDescription="A Service" class="org.jboss.esb.TestService" />
- <service serviceCategory="Service" serviceName="B" serviceDescription="B Service" class="org.jboss.esb.TestService" />
- <service serviceCategory="Service" serviceName="F" serviceDescription="F Service" class="org.jboss.esb.TestService" />
- </services>
-
</jbossesb>
\ No newline at end of file
Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/02-deployment.xml
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/02-deployment.xml 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/02-deployment.xml 2008-09-25 15:37:22 UTC (rev 23078)
@@ -1,29 +1,16 @@
<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+ <services>
+ <service serviceCategory="Service" serviceName="A" serviceDescription="A Service" class="org.jboss.esb.TestService" />
+ </services>
+
<routing>
- <!--
- Route the message from C to D....
- -->
- <outRouters serviceCategory="Service" serviceName="C">
- <outRouter name="C_to_D_router" class="org.jboss.esb.routing.ServiceRouter">
- <property name="toCategory">Service</property>
- <property name="toService">D</property>
- </outRouter>
+ <outRouters serviceCategory="Service" serviceName="A">
+ <!--
+ And route it out altogether...
+ -->
+ <outRouter name="outrouter" class="org.jboss.esb.TestOutboundRouter" />
</outRouters>
- <!--
- Route the message from E to F....
- -->
- <outRouters serviceCategory="Service" serviceName="E">
- <outRouter name="E_to_F_router" class="org.jboss.esb.routing.ServiceRouter">
- <property name="toCategory">Service</property>
- <property name="toService">F</property>
- </outRouter>
- </outRouters>
</routing>
- <services>
- <service serviceCategory="Service" serviceName="C" serviceDescription="C Service" class="org.jboss.esb.TestService" />
- <service serviceCategory="Service" serviceName="E" serviceDescription="E Service" class="org.jboss.esb.TestService" />
- </services>
-
</jbossesb>
\ No newline at end of file
Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/03-deployment.xml
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/03-deployment.xml 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/03-deployment.xml 2008-09-25 15:37:22 UTC (rev 23078)
@@ -1,19 +1,7 @@
<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
<services>
- <service serviceCategory="Service" serviceName="D" serviceDescription="D Service" class="org.jboss.esb.TestService" />
+ <service serviceCategory="Service" serviceName="B" serviceDescription="B Service" class="org.jboss.esb.TestService" />
</services>
- <routing>
- <!--
- Route the message from D to E....
- -->
- <outRouters serviceCategory="Service" serviceName="D">
- <outRouter name="D_to_E_router" class="org.jboss.esb.routing.ServiceRouter">
- <property name="toCategory">Service</property>
- <property name="toService">E</property>
- </outRouter>
- </outRouters>
- </routing>
-
</jbossesb>
\ No newline at end of file
Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/RoutingTest.java 2008-09-25 13:58:59 UTC (rev 23077)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/RoutingTest.java 2008-09-25 15:37:22 UTC (rev 23078)
@@ -25,6 +25,7 @@
import org.jboss.esb.jms.JMSTestRunner;
import org.jboss.esb.TestInboundRouter;
import org.jboss.esb.TestService;
+import org.jboss.esb.TestOutboundRouter;
import org.jboss.esb.service.ServiceName;
/**
@@ -34,11 +35,10 @@
{
/*
- * The message should go (across the 3 deployments and back):
- * [inrouter_ServiceA -> ServiceA -> ServiceB] -> [ServiceC] -> [ServiceD]
- * |
- * \|/
- * [ ServiceF ] -> [ServiceE] <-------
+ * The message should go (across the 3 deployments):
+ * [inrouter_ServiceA] -> [ServiceA] -|
+ * |-> [replyTo{ServiceB}]
+ * |-> [outrouter_ServiceA]
*/
public void test() throws Exception
{
@@ -46,7 +46,7 @@
public void test() throws Exception
{
ServiceName serviceNameA = new ServiceName("Service", "A");
- ServiceName serviceNameF = new ServiceName("Service", "F");
+ ServiceName serviceNameB = new ServiceName("Service", "B");
DeploymentRuntime deployment1 = DeploymentUtil.createRuntime(getClass().getResourceAsStream("01-deployment.xml"));
deployment1.setDeploymentName("deployment1");
@@ -70,30 +70,32 @@
try
{
TestInboundRouter inrouter = (TestInboundRouter) DeploymentUtil.getInboundRouter(serviceNameA, "inrouter", deployment1).getRouter();
- TestService serviceA = (TestService) DeploymentUtil.getService(serviceNameA, deployment1).getService();
- TestService serviceF = (TestService) DeploymentUtil.getService(serviceNameF, deployment1).getService();
+ TestService serviceA = (TestService) DeploymentUtil.getService(serviceNameA, deployment2).getService();
+ TestService serviceB = (TestService) DeploymentUtil.getService(serviceNameB, deployment3).getService();
+ TestOutboundRouter outrouter = (TestOutboundRouter) DeploymentUtil.getOutboundRouter(serviceNameA, "outrouter", deployment2).getRouter();
- // Force propagation of the event log...
inrouter.sendMessage("Hi there!!", true);
- Thread.sleep(1000); // Allow the message to be delivered
+ Thread.sleep(300); // Allow the message to be delivered
// Check that the message has been routed across deployments, from the inrouter
// to the service instance and then to the outrouter...
assertEquals("Hi there!!", serviceA.getMessage());
- assertEquals("Hi there!!", serviceF.getMessage());
+ assertEquals("Hi there!!", serviceB.getMessage());
+ assertEquals("Hi there!!", outrouter.getMessage());
assertEquals("Message Processing Event Log:\n" +
- "\t1. [deployment1-Id:deployment1] ServiceProcessingEvent: service='Service:A'\n" +
- "\t2. [deployment1-Id:deployment1] ServiceProcessingEvent: service='Service:B'\n" +
- "\t3. [deployment1-Id:deployment1] BusRouterProcessingEvent: to='Service:C', targetDeploymentId='deployment2-Id:deployment2', busType='JMSBus'\n" +
- "\t4. [deployment2-Id:deployment2] ServiceProcessingEvent: service='Service:C'\n" +
- "\t5. [deployment2-Id:deployment2] BusRouterProcessingEvent: to='Service:D', targetDeploymentId='deployment3-Id:deployment3', busType='JMSBus'\n" +
- "\t6. [deployment3-Id:deployment3] ServiceProcessingEvent: service='Service:D'\n" +
- "\t7. [deployment3-Id:deployment3] BusRouterProcessingEvent: to='Service:E', targetDeploymentId='deployment2-Id:deployment2', busType='JMSBus'\n" +
- "\t8. [deployment2-Id:deployment2] ServiceProcessingEvent: service='Service:E'\n" +
- "\t9. [deployment2-Id:deployment2] BusRouterProcessingEvent: to='Service:F', targetDeploymentId='deployment1-Id:deployment1', busType='JMSBus'\n" +
- "\t10. [deployment1-Id:deployment1] ServiceProcessingEvent: service='Service:F'",
- serviceF.getEventLog().toString().trim());
+ "\t1. [deployment1-Id:deployment1] BusRouterProcessingEvent: to='Service:A', targetDeploymentId='deployment2-Id:deployment2', busType='JMSBus'\n" +
+ "\t2. [deployment2-Id:deployment2] ServiceProcessingEvent: service='Service:A'\n" +
+ "\t3. [deployment2-Id:deployment2] BusRouterProcessingEvent: to='Service:B', targetDeploymentId='deployment3-Id:deployment3', busType='JMSBus'\n" +
+ "\t4. [deployment3-Id:deployment3] ServiceProcessingEvent: service='Service:B'",
+ serviceB.getEventLog().toString().trim());
+
+ assertEquals("Message Processing Event Log:\n" +
+ "\t1. [deployment1-Id:deployment1] BusRouterProcessingEvent: to='Service:A', targetDeploymentId='deployment2-Id:deployment2', busType='JMSBus'\n" +
+ "\t2. [deployment2-Id:deployment2] ServiceProcessingEvent: service='Service:A'\n" +
+ "\t3. [deployment2-Id:deployment2] BusRouterProcessingEvent: to='Service:B', targetDeploymentId='deployment3-Id:deployment3', busType='JMSBus'\n" +
+ "\t4. [deployment2-Id:deployment2] OutboundRouterProcessingEvent: config='outrouter'",
+ outrouter.getEventLog().toString().trim());
}
finally
{
More information about the jboss-svn-commits
mailing list