Author: gertv
Date: Fri Jan 30 10:46:05 2009
New Revision: 739232
URL: http://svn.apache.org/viewvc?rev=739232&view=rev
Log:
SM-1754: servicemix-eip unit tests stall intermittently
Modified:
servicemix/components/engines/servicemix-eip/trunk/src/test/java/org/apache/servicemix/eip/AbstractEIPTest.java
servicemix/components/engines/servicemix-eip/trunk/src/test/java/org/apache/servicemix/eip/AbstractEIPTransactionalTest.java
Modified:
servicemix/components/engines/servicemix-eip/trunk/src/test/java/org/apache/servicemix/eip/AbstractEIPTest.java
URL:
http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-eip/trunk/src/test/java/org/apache/servicemix/eip/AbstractEIPTest.java?rev=739232&r1=739231&r2=739232&view=diff
==============================================================================
---
servicemix/components/engines/servicemix-eip/trunk/src/test/java/org/apache/servicemix/eip/AbstractEIPTest.java
(original)
+++
servicemix/components/engines/servicemix-eip/trunk/src/test/java/org/apache/servicemix/eip/AbstractEIPTest.java
Fri Jan 30 10:46:05 2009
@@ -37,6 +37,7 @@
import org.apache.servicemix.client.DefaultServiceMixClient;
import org.apache.servicemix.components.util.ComponentSupport;
import org.apache.servicemix.eip.support.ExchangeTarget;
+import org.apache.servicemix.executors.impl.ExecutorFactoryImpl;
import org.apache.servicemix.id.IdGenerator;
import org.apache.servicemix.jbi.container.JBIContainer;
import org.apache.servicemix.store.memory.MemoryStore;
@@ -55,6 +56,7 @@
jbi.setUseMBeanServer(false);
jbi.setCreateMBeanServer(false);
configureContainer();
+ configureThreadPool(jbi);
listener = new ExchangeCompletedListener();
jbi.addListener(listener);
@@ -75,6 +77,15 @@
jbi.setFlowName("st");
}
+ protected void configureThreadPool(JBIContainer container) {
+ ExecutorFactoryImpl factory = new ExecutorFactoryImpl();
+ // disable queuing and increase maximum thread pool size to 16 instead
+ // to avoid deadlocking the unit tests (they use sendSync extensively)
+ factory.getDefaultConfig().setMaximumPoolSize(16);
+ factory.getDefaultConfig().setQueueSize(0);
+ container.setExecutorFactory(factory);
+ }
+
protected void configurePattern(EIPEndpoint endpoint) {
endpoint.setStore(new MemoryStore(new IdGenerator()) {
public void store(String id, Object exchange) throws IOException {
Modified:
servicemix/components/engines/servicemix-eip/trunk/src/test/java/org/apache/servicemix/eip/AbstractEIPTransactionalTest.java
URL:
http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-eip/trunk/src/test/java/org/apache/servicemix/eip/AbstractEIPTransactionalTest.java?rev=739232&r1=739231&r2=739232&view=diff
==============================================================================
---
servicemix/components/engines/servicemix-eip/trunk/src/test/java/org/apache/servicemix/eip/AbstractEIPTransactionalTest.java
(original)
+++
servicemix/components/engines/servicemix-eip/trunk/src/test/java/org/apache/servicemix/eip/AbstractEIPTransactionalTest.java
Fri Jan 30 10:46:05 2009
@@ -74,6 +74,7 @@
jbi.setCreateMBeanServer(false);
jbi.setTransactionManager(tm);
jbi.setAutoEnlistInTransaction(true);
+ configureThreadPool(jbi);
listener = new ExchangeCompletedListener();
jbi.addListener(listener);
jbi.init();