[jboss-svn-commits] JBL Code SVN: r23055 - in labs/jbossesb/workspace/skeagh/runtime/src: main/java/org/jboss/esb/federate and 6 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Sep 24 17:53:28 EDT 2008
Author: tfennelly
Date: 2008-09-24 17:53:28 -0400 (Wed, 24 Sep 2008)
New Revision: 23055
Added:
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/01-deployment.xml
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/02-deployment.xml
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/03-deployment.xml
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/RoutingTest.java
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/federate/DeploymentCoordinator.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/history/ProcessingEventLog.java
labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/routing/ServiceInvoker.java
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/TestService.java
labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_006/RoutingTest.java
Log:
Bug fix to local service message dispatch resetting of the deployment context
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-24 21:19:40 UTC (rev 23054)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/deploy/DeploymentRuntime.java 2008-09-24 21:53:28 UTC (rev 23055)
@@ -46,8 +46,8 @@
import org.jboss.esb.service.ServiceName;
import org.jboss.esb.util.AssertArgument;
+import java.io.IOException;
import java.io.InputStream;
-import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/DeploymentCoordinator.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/DeploymentCoordinator.java 2008-09-24 21:19:40 UTC (rev 23054)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/DeploymentCoordinator.java 2008-09-24 21:53:28 UTC (rev 23055)
@@ -23,6 +23,7 @@
import org.jboss.esb.annotations.Initialize;
import org.jboss.esb.annotations.Uninitialize;
import org.jboss.esb.context.AddressingContext;
+import org.jboss.esb.context.DeploymentContext;
import org.jboss.esb.deploy.DeploymentException;
import org.jboss.esb.deploy.DeploymentRuntime;
import org.jboss.esb.deploy.config.PropertiesUtil;
@@ -511,7 +512,15 @@
}
// And hand it off to the inrouter to manage the processing of it...
- inRouter.receive(busMessage);
+ DeploymentContext.setContext(getDeploymentContext());
+ try
+ {
+ inRouter.receive(busMessage);
+ }
+ finally
+ {
+ DeploymentContext.setContext(null);
+ }
}
}
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-24 21:19:40 UTC (rev 23054)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/federate/bus/BusDispatcher.java 2008-09-24 21:53:28 UTC (rev 23055)
@@ -60,46 +60,39 @@
AssertArgument.isNotNull(invocationContext, "invocationContext");
Message outMessage;
- DeploymentContext.setContext(getDeploymentContext());
+
+ // 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)
+ {
+ throw new IllegalStateException("Null AddressingContext set on BusMessage instance.");
+ }
+
+ // The InvocationContext should have also come from the bus...
+ InvocationContext.setContext(invocationContext);
try
{
- // 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)
- {
- throw new IllegalStateException("Null AddressingContext set on BusMessage instance.");
- }
+ ServiceName from = addressingContext.getFrom();
- // The InvocationContext should have also come from the bus...
- InvocationContext.setContext(invocationContext);
- try
+ // Only pass the message to the service if the from address
+ // is null (i.e. it's from an InRouter or client), or it is from
+ // a different service....
+ if (from == null || !from.equals(getServiceName()))
{
- ServiceName from = addressingContext.getFrom();
-
- // Only pass the message to the service if the from address
- // is null (i.e. it's from an InRouter or client), or it is from
- // a different service....
- if (from == null || !from.equals(getServiceName()))
- {
- outMessage = dispatchToService(message);
- }
- else
- {
- outMessage = message;
- }
- applyOutboundRouters(outMessage);
-
- // TODO; Use the faultTo address if there's an issue??
+ outMessage = dispatchToService(message);
}
- finally
+ else
{
- InvocationContext.setContext(null);
+ outMessage = message;
}
+ applyOutboundRouters(outMessage);
+
+ // TODO; Use the faultTo address if there's an issue??
}
finally
{
- DeploymentContext.setContext(null);
+ InvocationContext.setContext(null);
}
}
}
Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/history/ProcessingEventLog.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/history/ProcessingEventLog.java 2008-09-24 21:19:40 UTC (rev 23054)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/history/ProcessingEventLog.java 2008-09-24 21:53:28 UTC (rev 23055)
@@ -165,7 +165,13 @@
{
for (int i = 0; i < processingEvents.size(); i++)
{
- stringBuilder.append("\t" + (i + 1) + ". \t[" + processingEvents.get(i).getDeploymentId() + "] " + processingEvents.get(i) + "\n");
+ StringBuilder number = new StringBuilder();
+
+ number.append(i + 1);
+ number.append(". ");
+ number.setLength(5);
+
+ stringBuilder.append("\t" + number + "[" + processingEvents.get(i).getDeploymentId() + "] " + processingEvents.get(i) + "\n");
}
}
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-24 21:19:40 UTC (rev 23054)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/java/org/jboss/esb/routing/ServiceInvoker.java 2008-09-24 21:53:28 UTC (rev 23055)
@@ -33,6 +33,7 @@
import org.jboss.esb.message.Message;
import org.jboss.esb.service.ServiceName;
import org.jboss.esb.util.AssertArgument;
+import org.jboss.esb.history.ProcessingEventLog;
import java.util.Iterator;
import java.util.List;
@@ -139,6 +140,7 @@
{
InvocationContext thisInvocationContext = InvocationContext.getContext();
AddressingContext thisAddressingContext = AddressingContext.getContext();
+ ProcessingEventLog eventLog = ProcessingEventLog.getEventLog();
// Set the Addressing context for the new Service Invocation...
AddressingContext.setContext(dispatchAddressingContext);
@@ -148,8 +150,14 @@
{
BusRoutingContext routingContext = BusRoutingContext.getContext(deploymentContext);
BusInboundRouter inRouter = routingContext.getBusInRouters().get(dispatchAddressingContext.getTo());
- InvocationContext dispatchInvocationContext = new InvocationContext();
+ InvocationContext dispatchInvocationContext = new InvocationContext(thisInvocationContext.getInvocationParameters());
+ if(eventLog.propagate())
+ {
+ ProcessingEventLog.setEventLog(eventLog, dispatchInvocationContext);
+ }
+
+ // And dispatch the message...
inRouter.dispatch(message, dispatchInvocationContext);
return dispatchInvocationContext.getFaultContext().getFault() == null;
Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/TestService.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/TestService.java 2008-09-24 21:19:40 UTC (rev 23054)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/TestService.java 2008-09-24 21:53:28 UTC (rev 23055)
@@ -25,6 +25,7 @@
import org.jboss.esb.context.InvocationContext;
import org.jboss.esb.context.AddressingContext;
import org.jboss.esb.context.DeploymentContext;
+import org.jboss.esb.history.ProcessingEventLog;
/**
* @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
@@ -35,6 +36,7 @@
public static InvocationContext invocationContext;
public static AddressingContext addressingContext;
public static DeploymentContext deploymentContext;
+ private ProcessingEventLog eventLog;
public Message process(Message message) throws ServiceException
{
@@ -42,6 +44,8 @@
invocationContext = InvocationContext.getContext();
addressingContext = AddressingContext.getContext();
deploymentContext = DeploymentContext.getContext();
+ eventLog = ProcessingEventLog.getEventLog();
+
return message;
}
@@ -49,4 +53,9 @@
{
return message;
}
+
+ public ProcessingEventLog getEventLog()
+ {
+ return eventLog;
+ }
}
\ No newline at end of file
Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_006/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_006/RoutingTest.java 2008-09-24 21:19:40 UTC (rev 23054)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_006/RoutingTest.java 2008-09-24 21:53:28 UTC (rev 23055)
@@ -86,12 +86,12 @@
assertEquals("Hi there!!", outrouter.getMessage());
assertEquals("Message Processing Event Log:\n" +
- "\t1. \t[deployment1-Id:deployment1] ServiceProcessingEvent: service='Service:A'\n" +
- "\t2. \t[deployment1-Id:deployment1] BusRouterProcessingEvent: to='Service:B', targetDeploymentId='deployment2-Id:deployment2', busType='JMSBus'\n" +
- "\t3. \t[deployment2-Id:deployment2] ServiceProcessingEvent: service='Service:B'\n" +
- "\t4. \t[deployment2-Id:deployment2] BusRouterProcessingEvent: to='Service:C', targetDeploymentId='deployment3-Id:deployment3', busType='JMSBus'\n" +
- "\t5. \t[deployment3-Id:deployment3] ServiceProcessingEvent: service='Service:C'\n" +
- "\t6. \t[deployment3-Id:deployment3] OutboundRouterProcessingEvent: config='outrouter'",
+ "\t1. [deployment1-Id:deployment1] ServiceProcessingEvent: service='Service:A'\n" +
+ "\t2. [deployment1-Id:deployment1] BusRouterProcessingEvent: to='Service:B', targetDeploymentId='deployment2-Id:deployment2', busType='JMSBus'\n" +
+ "\t3. [deployment2-Id:deployment2] ServiceProcessingEvent: service='Service:B'\n" +
+ "\t4. [deployment2-Id:deployment2] BusRouterProcessingEvent: to='Service:C', targetDeploymentId='deployment3-Id:deployment3', busType='JMSBus'\n" +
+ "\t5. [deployment3-Id:deployment3] ServiceProcessingEvent: service='Service:C'\n" +
+ "\t6. [deployment3-Id:deployment3] OutboundRouterProcessingEvent: config='outrouter'",
outrouter.getEventLog().toString().trim());
}
finally
Copied: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/01-deployment.xml (from rev 23049, labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_006/01-deployment.xml)
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/01-deployment.xml (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/01-deployment.xml 2008-09-24 21:53:28 UTC (rev 23055)
@@ -0,0 +1,34 @@
+<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.routing.TestInboundRouter" />
+ </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.routing.TestService" />
+ <service serviceCategory="Service" serviceName="B" serviceDescription="B Service" class="org.jboss.esb.routing.TestService" />
+ <service serviceCategory="Service" serviceName="F" serviceDescription="F Service" class="org.jboss.esb.routing.TestService" />
+ </services>
+
+</jbossesb>
\ No newline at end of file
Copied: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/02-deployment.xml (from rev 23049, labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_006/02-deployment.xml)
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/02-deployment.xml (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/02-deployment.xml 2008-09-24 21:53:28 UTC (rev 23055)
@@ -0,0 +1,29 @@
+<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+
+ <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>
+ <!--
+ 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.routing.TestService" />
+ <service serviceCategory="Service" serviceName="E" serviceDescription="E Service" class="org.jboss.esb.routing.TestService" />
+ </services>
+
+</jbossesb>
\ No newline at end of file
Copied: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/03-deployment.xml (from rev 23049, labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_006/03-deployment.xml)
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/03-deployment.xml (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/03-deployment.xml 2008-09-24 21:53:28 UTC (rev 23055)
@@ -0,0 +1,19 @@
+<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.routing.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
Copied: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/RoutingTest.java (from rev 23049, labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_006/RoutingTest.java)
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/RoutingTest.java (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/RoutingTest.java 2008-09-24 21:53:28 UTC (rev 23055)
@@ -0,0 +1,112 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.esb.routing.scenario_007;
+
+import junit.framework.TestCase;
+import org.jboss.esb.deploy.DeploymentRuntime;
+import org.jboss.esb.deploy.DeploymentUtil;
+import org.jboss.esb.jms.JMSTestRunner;
+import org.jboss.esb.routing.TestInboundRouter;
+import org.jboss.esb.routing.TestService;
+import org.jboss.esb.service.ServiceName;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class RoutingTest extends TestCase
+{
+
+ /*
+ * The message should go (across the 3 deployments):
+ * [inrouter_ServiceA -> ServiceA] -> [ServiceB] -> [ServiceC -> outrouter_ServiceC]
+ */
+ public void test() throws Exception
+ {
+ new JMSTestRunner() {
+ public void test() throws Exception
+ {
+ ServiceName serviceNameA = new ServiceName("Service", "A");
+ ServiceName serviceNameF = new ServiceName("Service", "F");
+ DeploymentRuntime deployment1 = DeploymentUtil.createRuntime(getClass().getResourceAsStream("01-deployment.xml"));
+
+ deployment1.setDeploymentName("deployment1");
+ deployment1.setDeploymentId("deployment1-Id");
+ deployment1.deploy();
+ try
+ {
+ DeploymentRuntime deployment2 = DeploymentUtil.createRuntime(getClass().getResourceAsStream("02-deployment.xml"));
+
+ deployment2.setDeploymentName("deployment2");
+ deployment2.setDeploymentId("deployment2-Id");
+ deployment2.deploy();
+ try
+ {
+ DeploymentRuntime deployment3 = DeploymentUtil.createRuntime(getClass().getResourceAsStream("03-deployment.xml"));
+
+ deployment3.setDeploymentName("deployment3");
+ deployment3.setDeploymentId("deployment3-Id");
+ deployment3.deploy();
+ Thread.sleep(300); // Allow the deployments to exchange deployment details
+ 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();
+
+ // Force propagation of the event log...
+ inrouter.sendMessage("Hi there!!", true);
+ Thread.sleep(1000); // 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("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());
+ }
+ finally
+ {
+ deployment3.undeploy();
+ }
+ }
+ finally
+ {
+ deployment2.undeploy();
+ }
+ }
+ finally
+ {
+ deployment1.undeploy();
+ }
+ }
+ }.run();
+ }
+}
\ No newline at end of file
More information about the jboss-svn-commits
mailing list