[jboss-svn-commits] JBL Code SVN: r22880 - in labs/jbossesb/workspace/skeagh: runtime/src/main/java/org/jboss/esb/deploy/config and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Sep 18 10:02:34 EDT 2008
Author: tfennelly
Date: 2008-09-18 10:02:34 -0400 (Thu, 18 Sep 2008)
New Revision: 22880
Modified:
labs/jbossesb/workspace/skeagh/api/service/src/main/java/org/jboss/esb/context/AddressingContext.java
labs/jbossesb/workspace/skeagh/api/service/src/main/java/org/jboss/esb/context/InvocationContext.java
labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/deploy/config/DeploymentUnit.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/federate/bus/BusDispatcher.java
labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/bus/BusOutboundRouter.java
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/federate/bus/scenario1/BusTest.java
Log:
some basic bus tests
Modified: labs/jbossesb/workspace/skeagh/api/service/src/main/java/org/jboss/esb/context/AddressingContext.java
===================================================================
--- labs/jbossesb/workspace/skeagh/api/service/src/main/java/org/jboss/esb/context/AddressingContext.java 2008-09-18 13:30:16 UTC (rev 22879)
+++ labs/jbossesb/workspace/skeagh/api/service/src/main/java/org/jboss/esb/context/AddressingContext.java 2008-09-18 14:02:34 UTC (rev 22880)
@@ -21,6 +21,8 @@
import org.jboss.esb.service.ServiceName;
+import java.io.Serializable;
+
/**
* Message Addressing Context.
*
@@ -29,7 +31,7 @@
* @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
* @author <a href="mailto:tom.fennelly at jboss.com">Tom Fennelly</a>
*/
-public class AddressingContext
+public class AddressingContext implements Serializable
{
/**
* "To" ServiceName for the message associated with the current context.
Modified: labs/jbossesb/workspace/skeagh/api/service/src/main/java/org/jboss/esb/context/InvocationContext.java
===================================================================
--- labs/jbossesb/workspace/skeagh/api/service/src/main/java/org/jboss/esb/context/InvocationContext.java 2008-09-18 13:30:16 UTC (rev 22879)
+++ labs/jbossesb/workspace/skeagh/api/service/src/main/java/org/jboss/esb/context/InvocationContext.java 2008-09-18 14:02:34 UTC (rev 22880)
@@ -23,6 +23,7 @@
import java.util.LinkedHashMap;
import java.util.Map;
+import java.io.Serializable;
/**
* InvocationContext Context.
@@ -34,7 +35,7 @@
* @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
* @author <a href="mailto:tom.fennelly at jboss.com">Tom Fennelly</a>
*/
-public class InvocationContext implements ESBContext
+public class InvocationContext implements ESBContext, Serializable
{
/**
* Context Data Map.
Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/deploy/config/DeploymentUnit.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/deploy/config/DeploymentUnit.java 2008-09-18 13:30:16 UTC (rev 22879)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/deploy/config/DeploymentUnit.java 2008-09-18 14:02:34 UTC (rev 22880)
@@ -256,13 +256,24 @@
/**
* Expand the outbound routers list for this DeploymentUnit.
* <p/>
- * This involves adding an empty outbound routers list for all Services
- * that do not define any outbound routers.
+ * This involves making sure there's an outbound router list
+ * for all services that have a service or routing components
+ * defined in this deployment unit.
*/
public final void expandOutboundRouters()
{
+ // Check through the inrouter definitions...
+ Set<Map.Entry<ServiceName, List<InboundRouterConfig>>> inrouterLists = inboundRouters.entrySet();
+ for (Map.Entry<ServiceName,List<InboundRouterConfig>> inrouterList : inrouterLists)
+ {
+ if(!outboundRouters.containsKey(inrouterList.getKey()))
+ {
+ outboundRouters.put(inrouterList.getKey(), new ArrayList<OutboundRouterConfig>());
+ }
+ }
+
+ // Check through the service definitions...
Set<Map.Entry<ServiceName, ServiceConfig>> serviceList = services.entrySet();
-
for (Map.Entry<ServiceName, ServiceConfig> service : serviceList)
{
if(!outboundRouters.containsKey(service.getKey()))
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-18 13:30:16 UTC (rev 22879)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/dispatch/AbstractDispatcher.java 2008-09-18 14:02:34 UTC (rev 22880)
@@ -173,10 +173,12 @@
{
if (outboundRouters != null && !outboundRouters.isEmpty())
{
+ AddressingContext addressContext = AddressingContext.getContext();
+
// If this deployment doesn't specifiy this service, see is there a
// Service by this name on one of the monitored deployments, and route
// it there...
- if(service == null)
+ if(!getServiceName().equals(addressContext.getFrom()))
{
for (OutboundRouterConfig outboundRouterConfig : outboundRouters)
{
@@ -197,9 +199,20 @@
for (OutboundRouterConfig outboundRouter : outboundRouters)
{
- // TODO: cloneOnOutboundTransforms
- applyOutboundTransformers(outMessage, outboundRouter.getTransformers());
- outboundRouter.getRouter().route(outMessage);
+ OutboundRouter outRouter = outboundRouter.getRouter();
+ if(outRouter instanceof BusOutboundRouter)
+ {
+ if(!((BusOutboundRouter)outRouter).hasService(serviceName))
+ {
+ outRouter.route(outMessage);
+ }
+ }
+ else
+ {
+ // TODO: cloneOnOutboundTransforms
+ applyOutboundTransformers(outMessage, outboundRouter.getTransformers());
+ outRouter.route(outMessage);
+ }
}
}
}
Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/bus/BusDispatcher.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/bus/BusDispatcher.java 2008-09-18 13:30:16 UTC (rev 22879)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/bus/BusDispatcher.java 2008-09-18 14:02:34 UTC (rev 22880)
@@ -68,9 +68,9 @@
// The addressing context should have been set for
// this dispacther. It should have been received from the Bus...
AddressingContext addressingContext = AddressingContext.getContext();
- if(addressingContext != null)
+ if(addressingContext == null)
{
- throw new IllegalStateException("");
+ throw new IllegalStateException("Null AddressingContext set on BusMessage instance.");
}
// The InvocationContext should have also come from the bus...
Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/bus/BusOutboundRouter.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/bus/BusOutboundRouter.java 2008-09-18 13:30:16 UTC (rev 22879)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/bus/BusOutboundRouter.java 2008-09-18 14:02:34 UTC (rev 22880)
@@ -186,8 +186,6 @@
*/
private boolean routeToOutRouters(final BusMessage busMessage) throws RoutingException
{
- boolean messageWasRouted = false;
-
for (DeploymentMonitor deploymentMonitor : deploymentMonitors)
{
if (deploymentMonitor.isOnline())
@@ -198,12 +196,12 @@
if (!services.contains(serviceName) && outRoutedServices.contains(serviceName))
{
deploymentMonitor.getBus().send(busMessage, deploymentMonitor.getServiceSets().getDeploymentId());
- messageWasRouted = true;
+ return true;
}
}
}
- return messageWasRouted;
+ return false;
}
/**
Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/federate/bus/scenario1/BusTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/federate/bus/scenario1/BusTest.java 2008-09-18 13:30:16 UTC (rev 22879)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/federate/bus/scenario1/BusTest.java 2008-09-18 14:02:34 UTC (rev 22880)
@@ -56,6 +56,7 @@
inrouterDeployment.setDeploymentName("inrouter");
inrouterDeployment.deploy();
+ Thread.sleep(100); // Allow the deployments to exchange deployment details
try
{
HelloInboundRouter inrouter = (HelloInboundRouter) DeploymentUtil.getInboundRouter(serviceA, "inrouter", inrouterDeployment).getRouter();
@@ -63,10 +64,10 @@
HelloOutboundRouter outrouter = (HelloOutboundRouter) DeploymentUtil.getOutboundRouter(serviceA, "outrouter", outrouterDeployment).getRouter();
inrouter.sendHello("Hi there!!");
- Thread.sleep(100);
+ Thread.sleep(100); // Allow the message to be delivered
- //assertEquals("Hi there!!", service.getHelloMessage());
- //assertEquals("Hi there!!", outrouter.getHelloMessage());
+ assertEquals("Hi there!!", service.getHelloMessage());
+ assertEquals("Hi there!!", outrouter.getHelloMessage());
}
finally
{
More information about the jboss-svn-commits
mailing list