Author: gnodet
Date: Wed Jun 11 01:43:29 2008
New Revision: 666571
URL: http://svn.apache.org/viewvc?rev=666571&view=rev
Log:
SM-1386: better handling of smx4 transaction model
Modified:
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/AsyncBaseLifeCycle.java
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/Container.java
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ConsumerEndpoint.java
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/NewTransactionsTest.java
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/TransactionsTest.java
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/xbean/XBeanDeployerTest.java
Modified:
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/AsyncBaseLifeCycle.java
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/AsyncBaseLifeCycle.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
---
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/AsyncBaseLifeCycle.java
(original)
+++
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/AsyncBaseLifeCycle.java
Wed Jun 11 01:43:29 2008
@@ -619,7 +619,7 @@
if (!container.handleTransactions()) {
try {
if ((exchange.getRole() == Role.CONSUMER &&
exchange.getStatus() == ExchangeStatus.ACTIVE) || exchange.getRole() ==
Role.PROVIDER) {
- if (transactionManager != null &&
transactionManager.getStatus() == Status.STATUS_ACTIVE) {
+ if (transactionManager != null) {
exchange.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME,
transactionManager.suspend());
}
}
Modified:
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/Container.java
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/Container.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
---
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/Container.java
(original)
+++
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/Container.java
Wed Jun 11 01:43:29 2008
@@ -57,30 +57,31 @@
}
public static class Smx3Container extends Container {
+ private boolean handleTransactions;
+ private Object container;
public Smx3Container(ComponentContext context) {
super(context);
- }
- public Type getType() {
- return Type.ServiceMix3;
- }
- public boolean handleTransactions() {
try {
- Object container = getSmx3Container();
+ Method getContainerMth =
context.getClass().getMethod("getContainer", new Class[0]);
+ container = getContainerMth.invoke(context, new Object[0]);
+ } catch (Throwable t) {
+ }
+ try {
Method isUseNewTransactionModelMth =
container.getClass().getMethod("isUseNewTransactionModel", new Class[0]);
Boolean b = (Boolean)
isUseNewTransactionModelMth.invoke(container, new Object[0]);
- return !b;
+ handleTransactions = !b;
} catch (Throwable t) {
+ handleTransactions = true;
}
- return true;
+ }
+ public Type getType() {
+ return Type.ServiceMix3;
+ }
+ public boolean handleTransactions() {
+ return handleTransactions;
}
public Object getSmx3Container() {
- try {
- Method getContainerMth =
context.getClass().getMethod("getContainer", new Class[0]);
- Object container = getContainerMth.invoke(context, new
Object[0]);
- return container;
- } catch (Throwable t) {
- }
- return null;
+ return container;
}
}
Modified:
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
---
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java
(original)
+++
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java
Wed Jun 11 01:43:29 2008
@@ -43,7 +43,7 @@
*
* @version $Revision$
*/
-public abstract class DefaultComponent extends AsyncBaseLifeCycle implements
ServiceMixComponent {
+public class DefaultComponent extends AsyncBaseLifeCycle implements
ServiceMixComponent {
protected final transient Log logger = LogFactory.getLog(getClass());
@@ -261,7 +261,9 @@
/**
* Returns an array of configured endpoints for the component or null if
there are no configured endpoints
*/
- protected abstract List getConfiguredEndpoints();
+ protected List getConfiguredEndpoints() {
+ return null;
+ }
/**
* Returns a list of valid endpoint classes or null if the component does
not wish to programmatically
@@ -269,7 +271,9 @@
*
* @return the endpoint classes used to validate configuration or null to
disable the validation
*/
- protected abstract Class[] getEndpointClasses();
+ protected Class[] getEndpointClasses() {
+ return null;
+ }
/**
* A little helper method to turn a possibly null list of endpoints into a
list of endpoints
Modified:
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
---
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java
(original)
+++
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java
Wed Jun 11 01:43:29 2008
@@ -25,6 +25,10 @@
import javax.jbi.messaging.MessagingException;
import javax.jbi.servicedesc.ServiceEndpoint;
import javax.xml.namespace.QName;
+import javax.transaction.Transaction;
+import javax.transaction.TransactionManager;
+import javax.transaction.InvalidTransactionException;
+import javax.transaction.SystemException;
/**
* This class is a wrapper around an existing DeliveryChannel
@@ -86,12 +90,34 @@
public boolean sendSync(MessageExchange exchange, long timeout) throws
MessagingException {
prepareExchange(exchange);
- return channel.sendSync(exchange, timeout);
+ boolean ret = channel.sendSync(exchange, timeout);
+ if (ret) {
+ resumeTx(exchange);
+ }
+ return ret;
}
public boolean sendSync(MessageExchange exchange) throws
MessagingException {
prepareExchange(exchange);
- return channel.sendSync(exchange);
+ boolean ret = channel.sendSync(exchange);
+ if (ret) {
+ resumeTx(exchange);
+ }
+ return ret;
+ }
+
+ private void resumeTx(MessageExchange exchange) throws MessagingException {
+ Transaction tx = (Transaction)
exchange.getProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME);
+ if (tx != null) {
+ TransactionManager txmgr = (TransactionManager)
endpoint.getServiceUnit().getComponent().getComponentContext().getTransactionManager();
+ try {
+ txmgr.resume(tx);
+ } catch (InvalidTransactionException e) {
+ throw new MessagingException(e);
+ } catch (SystemException e) {
+ throw new MessagingException(e);
+ }
+ }
}
protected void prepareExchange(MessageExchange exchange) throws
MessagingException {
Modified:
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ConsumerEndpoint.java
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ConsumerEndpoint.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
---
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ConsumerEndpoint.java
(original)
+++
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ConsumerEndpoint.java
Wed Jun 11 01:43:29 2008
@@ -74,7 +74,15 @@
}
}
- public abstract String getLocationURI();
+ /**
+ * Return the URI identifying this external endpoint.
+ * This must be overriden so that endpoint resolution can work correctly.
+ *
+ * @return the URI identifying this external endpoint
+ */
+ public String getLocationURI() {
+ return null;
+ }
/**
* @return the targetEndpoint
Modified:
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/NewTransactionsTest.java
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/NewTransactionsTest.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
---
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/NewTransactionsTest.java
(original)
+++
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/NewTransactionsTest.java
Wed Jun 11 01:43:29 2008
@@ -16,9 +16,14 @@
*/
package org.apache.servicemix.common;
+import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
import javax.jbi.messaging.InOnly;
import javax.jbi.messaging.ExchangeStatus;
import javax.jbi.messaging.MessageExchange;
+import javax.jbi.messaging.InOut;
import javax.jbi.component.Component;
import javax.xml.namespace.QName;
import javax.transaction.Status;
@@ -29,9 +34,14 @@
import org.apache.servicemix.jbi.container.JBIContainer;
import org.apache.servicemix.jbi.nmr.flow.Flow;
import org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow;
+import org.apache.servicemix.jbi.util.MessageUtil;
import org.apache.servicemix.client.ServiceMixClient;
import org.apache.servicemix.client.DefaultServiceMixClient;
import org.apache.servicemix.common.endpoints.ProviderEndpoint;
+import org.apache.servicemix.common.endpoints.SimpleEndpoint;
+import org.apache.servicemix.common.endpoints.ConsumerEndpoint;
+import org.apache.servicemix.common.endpoints.PollingEndpoint;
+import org.apache.servicemix.tck.ExchangeCompletedListener;
import org.jencks.GeronimoPlatformTransactionManager;
import junit.framework.TestCase;
@@ -39,10 +49,12 @@
protected JBIContainer jbi;
protected TransactionManager txManager;
- protected Component component;
+ protected TestComponent component;
protected ServiceMixClient client;
protected Exception exceptionToThrow;
protected boolean exceptionShouldRollback;
+ protected boolean useInOut;
+ protected ExchangeCompletedListener listener;
protected void setUp() throws Exception {
exceptionToThrow = null;
@@ -50,6 +62,7 @@
txManager = new GeronimoPlatformTransactionManager();
+ listener = new ExchangeCompletedListener();
jbi = new JBIContainer();
jbi.setFlows(new Flow[] { new SedaFlow() });
jbi.setEmbedded(true);
@@ -57,6 +70,7 @@
jbi.setTransactionManager(txManager);
jbi.setAutoEnlistInTransaction(true);
jbi.setUseNewTransactionModel(true);
+ jbi.addListener(listener);
jbi.init();
jbi.start();
component = new TestComponent();
@@ -69,9 +83,10 @@
}
public void testTxOkAsync() throws Exception {
+ component.addProvider();
txManager.begin();
InOnly me = client.createInOnlyExchange();
- me.setService(new QName("service"));
+ me.setService(new QName("provider"));
me.getInMessage().setContent(new StringSource("<hello>world</hello>"));
assertEquals(Status.STATUS_ACTIVE, txManager.getStatus());
me.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME,
txManager.suspend());
@@ -87,9 +102,10 @@
}
public void testTxOkSync() throws Exception {
+ component.addProvider();
txManager.begin();
InOnly me = client.createInOnlyExchange();
- me.setService(new QName("service"));
+ me.setService(new QName("provider"));
me.getInMessage().setContent(new StringSource("<hello>world</hello>"));
assertEquals(Status.STATUS_ACTIVE, txManager.getStatus());
me.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME,
txManager.suspend());
@@ -103,10 +119,11 @@
}
public void testTxExceptionAsync() throws Exception {
+ component.addProvider();
exceptionToThrow = new Exception("Business exception");
txManager.begin();
InOnly me = client.createInOnlyExchange();
- me.setService(new QName("service"));
+ me.setService(new QName("provider"));
me.getInMessage().setContent(new StringSource("<hello>world</hello>"));
assertEquals(Status.STATUS_ACTIVE, txManager.getStatus());
me.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME,
txManager.suspend());
@@ -122,10 +139,11 @@
}
public void testTxExceptionSync() throws Exception {
+ component.addProvider();
exceptionToThrow = new Exception("Business exception");
txManager.begin();
InOnly me = client.createInOnlyExchange();
- me.setService(new QName("service"));
+ me.setService(new QName("provider"));
me.getInMessage().setContent(new StringSource("<hello>world</hello>"));
assertEquals(Status.STATUS_ACTIVE, txManager.getStatus());
me.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME,
txManager.suspend());
@@ -140,11 +158,12 @@
}
public void testTxExceptionRollbackAsync() throws Exception {
+ component.addProvider();
exceptionToThrow = new Exception("Business exception");
exceptionShouldRollback = true;
txManager.begin();
InOnly me = client.createInOnlyExchange();
- me.setService(new QName("service"));
+ me.setService(new QName("provider"));
me.getInMessage().setContent(new StringSource("<hello>world</hello>"));
assertEquals(Status.STATUS_ACTIVE, txManager.getStatus());
me.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME,
txManager.suspend());
@@ -159,11 +178,12 @@
}
public void testTxExceptionRollbackSync() throws Exception {
+ component.addProvider();
exceptionToThrow = new RuntimeException("Runtime exception");
exceptionShouldRollback = true;
txManager.begin();
InOnly me = client.createInOnlyExchange();
- me.setService(new QName("service"));
+ me.setService(new QName("provider"));
me.getInMessage().setContent(new StringSource("<hello>world</hello>"));
assertEquals(Status.STATUS_ACTIVE, txManager.getStatus());
me.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME,
txManager.suspend());
@@ -177,52 +197,88 @@
txManager.rollback();
}
- protected class TestComponent extends BaseComponent {
+ public void testExceptionWithConsumerInOnly() throws Exception {
+ useInOut = false;
+ component.addProvider();
+ component.addConsumer();
+ assertTrue(component.commited.await(1, TimeUnit.SECONDS));
+ listener.assertExchangeCompleted();
+ }
+
+ public void testExceptionWithConsumerInOut() throws Exception {
+ useInOut = true;
+ component.addProvider();
+ component.addConsumer();
+ assertTrue(component.commited.await(1, TimeUnit.SECONDS));
+ listener.assertExchangeCompleted();
+ }
+
+ protected class TestComponent extends DefaultComponent {
+ public CountDownLatch commited = new CountDownLatch(1);
public TestComponent() {
super();
}
- protected BaseLifeCycle createLifeCycle() {
- return new TestLifeCycle();
+ public void addProvider() throws Exception {
+ TestProviderEndpoint ep = new TestProviderEndpoint();
+ ep.setService(new QName("provider"));
+ ep.setEndpoint("endpoint");
+ addEndpoint(ep);
}
-
- protected class TestLifeCycle extends BaseLifeCycle {
- protected ServiceUnit su;
- public TestLifeCycle() {
- super(TestComponent.this);
- }
- protected void doInit() throws Exception {
- super.doInit();
- su = new ServiceUnit();
- su.setComponent(component);
- TestEndpoint ep = new TestEndpoint();
- ep.setService(new QName("service"));
- ep.setEndpoint("endpoint");
- ep.setServiceUnit(su);
- su.addEndpoint(ep);
- getRegistry().registerServiceUnit(su);
- }
- protected void doStart() throws Exception {
- super.doStart();
- su.start();
- }
- protected void doStop() throws Exception {
- super.doStop();
- su.stop();
- }
- protected boolean exceptionShouldRollbackTx(Exception e) {
- return exceptionShouldRollback;
- }
+ public void addConsumer() throws Exception {
+ TestConsumerEndpoint ep = new TestConsumerEndpoint();
+ ep.setService(new QName("consumer"));
+ ep.setEndpoint("endpoint");
+ ep.setTargetService(new QName("provider"));
+ addEndpoint(ep);
}
-
- protected class TestEndpoint extends ProviderEndpoint {
+ protected boolean exceptionShouldRollbackTx(Exception e) {
+ return exceptionShouldRollback;
+ }
+ protected class TestProviderEndpoint extends ProviderEndpoint {
public void process(MessageExchange exchange) throws Exception {
+ if (exchange.getStatus() != ExchangeStatus.ACTIVE) {
+ return;
+ }
if (exceptionToThrow != null) {
throw exceptionToThrow;
}
- exchange.setStatus(ExchangeStatus.DONE);
+ if (exchange instanceof InOut) {
+ MessageUtil.transferInToOut(exchange, exchange);
+ } else {
+ exchange.setStatus(ExchangeStatus.DONE);
+ }
send(exchange);
}
}
+ protected class TestConsumerEndpoint extends ConsumerEndpoint {
+ public void process(MessageExchange exchange) throws Exception {
+ if (exceptionToThrow != null) {
+ throw exceptionToThrow;
+ }
+ if (exchange instanceof InOut) {
+ done(exchange);
+ }
+ txManager.commit();
+ commited.countDown();
+ }
+ public void start() throws Exception {
+ super.start();
+ txManager.begin();
+ if (useInOut) {
+ InOut exchange =
channel.createExchangeFactory().createInOutExchange();
+ exchange.setInMessage(exchange.createMessage());
+ exchange.getInMessage().setContent(new
StringSource("<hello>world</hello>"));
+ configureExchangeTarget(exchange);
+ send(exchange);
+ } else {
+ InOnly exchange =
channel.createExchangeFactory().createInOnlyExchange();
+ exchange.setInMessage(exchange.createMessage());
+ exchange.getInMessage().setContent(new
StringSource("<hello>world</hello>"));
+ configureExchangeTarget(exchange);
+ send(exchange);
+ }
+ }
+ }
}
}
Modified:
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/TransactionsTest.java
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/TransactionsTest.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
---
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/TransactionsTest.java
(original)
+++
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/TransactionsTest.java
Wed Jun 11 01:43:29 2008
@@ -37,6 +37,7 @@
import org.apache.servicemix.jbi.nmr.flow.Flow;
import org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow;
import org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow;
+import org.apache.servicemix.common.endpoints.ProviderEndpoint;
import org.jencks.GeronimoPlatformTransactionManager;
public class TransactionsTest extends TestCase {
@@ -58,7 +59,7 @@
broker.addConnector("tcp://localhost:61616");
broker.start();
- txManager = (TransactionManager) new
GeronimoPlatformTransactionManager();
+ txManager = new GeronimoPlatformTransactionManager();
jbi = new JBIContainer();
jbi.setFlows(new Flow[] { new SedaFlow(), new JCAFlow() });
@@ -165,60 +166,23 @@
txManager.rollback();
}
- private class TestComponent extends BaseComponent {
+ private class TestComponent extends DefaultComponent {
public TestComponent() {
super();
}
- protected BaseLifeCycle createLifeCycle() {
- return new TestLifeCycle();
+ protected void doInit() throws Exception {
+ super.doInit();
+ TestEndpoint ep = new TestEndpoint();
+ ep.setService(new QName("service"));
+ ep.setEndpoint("endpoint");
+ addEndpoint(ep);
}
-
- protected class TestLifeCycle extends BaseLifeCycle {
- protected ServiceUnit su;
- public TestLifeCycle() {
- super(TestComponent.this);
- }
- protected void doInit() throws Exception {
- super.doInit();
- su = new ServiceUnit();
- su.setComponent(component);
- TestEndpoint ep = new TestEndpoint();
- ep.setService(new QName("service"));
- ep.setEndpoint("endpoint");
- ep.setServiceUnit(su);
- su.addEndpoint(ep);
- getRegistry().registerServiceUnit(su);
- }
- protected void doStart() throws Exception {
- super.doStart();
- su.start();
- }
- protected void doStop() throws Exception {
- super.doStop();
- su.stop();
- }
- protected boolean exceptionShouldRollbackTx(Exception e) {
- return exceptionShouldRollback;
- }
+ protected boolean exceptionShouldRollbackTx(Exception e) {
+ return exceptionShouldRollback;
}
-
- protected class TestEndpoint extends Endpoint implements
ExchangeProcessor {
+
+ protected class TestEndpoint extends ProviderEndpoint implements
ExchangeProcessor {
protected ServiceEndpoint activated;
- public void activate() throws Exception {
- ComponentContext ctx =
this.serviceUnit.getComponent().getComponentContext();
- activated = ctx.activateEndpoint(service, endpoint);
- }
- public void deactivate() throws Exception {
- ComponentContext ctx =
this.serviceUnit.getComponent().getComponentContext();
- ctx.deactivateEndpoint(activated);
- activated = null;
- }
- public ExchangeProcessor getProcessor() {
- return this;
- }
- public Role getRole() {
- return Role.PROVIDER;
- }
public void process(MessageExchange exchange) throws Exception {
if (exceptionToThrow != null) {
throw exceptionToThrow;
@@ -226,10 +190,6 @@
exchange.setStatus(ExchangeStatus.DONE);
getComponentContext().getDeliveryChannel().send(exchange);
}
- public void start() throws Exception {
- }
- public void stop() throws Exception {
- }
}
}
Modified:
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/xbean/XBeanDeployerTest.java
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/xbean/XBeanDeployerTest.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
---
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/xbean/XBeanDeployerTest.java
(original)
+++
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/xbean/XBeanDeployerTest.java
Wed Jun 11 01:43:29 2008
@@ -19,8 +19,9 @@
import java.io.File;
import java.net.URL;
-import org.apache.servicemix.common.BaseComponent;
import org.apache.servicemix.common.ServiceUnit;
+import org.apache.servicemix.common.ServiceMixComponent;
+import org.apache.servicemix.common.DefaultComponent;
import org.apache.xbean.classloader.JarFileClassLoader;
import junit.framework.TestCase;
@@ -36,7 +37,7 @@
}
public void testDeployWithProperties() throws Exception {
- MyXBeanDeployer deployer = new MyXBeanDeployer(new BaseComponent() {
});
+ MyXBeanDeployer deployer = new MyXBeanDeployer(new DefaultComponent());
ServiceUnit su = deployer.deploy("xbean", getServiceUnitPath("xbean"));
assertNotNull(su);
assertEquals(1, su.getEndpoints().size());
@@ -45,7 +46,7 @@
}
public void testDeployWithClasspathXml() throws Exception {
- MyXBeanDeployer deployer = new MyXBeanDeployer(new BaseComponent() {
});
+ MyXBeanDeployer deployer = new MyXBeanDeployer(new DefaultComponent()
{ });
ServiceUnit su = deployer.deploy("xbean-cp",
getServiceUnitPath("xbean-cp"));
assertNotNull(su);
ClassLoader cl = su.getConfigurationClassLoader();
@@ -56,7 +57,7 @@
}
public void testDeployWithInlineClasspath() throws Exception {
- MyXBeanDeployer deployer = new MyXBeanDeployer(new BaseComponent() {
});
+ MyXBeanDeployer deployer = new MyXBeanDeployer(new DefaultComponent()
{ });
ServiceUnit su = deployer.deploy("xbean-inline",
getServiceUnitPath("xbean-inline"));
assertNotNull(su);
ClassLoader cl = su.getConfigurationClassLoader();
@@ -67,7 +68,7 @@
}
public void testDeployWithDefaultClasspath() throws Exception {
- MyXBeanDeployer deployer = new MyXBeanDeployer(new BaseComponent() {
});
+ MyXBeanDeployer deployer = new MyXBeanDeployer(new DefaultComponent()
{ });
ServiceUnit su = deployer.deploy("xbean-lib",
getServiceUnitPath("xbean-lib"));
assertNotNull(su);
ClassLoader cl = su.getConfigurationClassLoader();
@@ -79,7 +80,7 @@
public static class MyXBeanDeployer extends AbstractXBeanDeployer {
- public MyXBeanDeployer(BaseComponent component) {
+ public MyXBeanDeployer(ServiceMixComponent component) {
super(component);
}