I've done some more experimenting with this, and found a few new facts.
1) it doesn't matter whether I put the endpoints in two SAs or one- it still
hangs if I try to create four queues (it creates three and hangs).
2) the thread that's trying to start the jms endpoint is waiting for a
notify on an AtomicBoolean.  here's the relevant part of the call stack:
(this test was on 3.1-incubating code)
StandardConsumerProcessor.doStart() : 62
StandardConsumerProcessor.start() : 76
JmsEndpoint.activate() : 348

I didn't get around to hunting down the thread started by execute() to see
what it was up to.
Anyone seen this problem before, or have an idea?
Thanks :)
Sam


samg wrote:
> 
> Hello,
> I've been experimenting with different ways of doing this, and haven't
> found a solution.  My configuration is ServiceMix 3.1.1 SNAPSHOT running
> under Tomcat 5.2.20.  I'm trying to create explicit ActiveMQ queues
> between some of my components as a way of having persistence and single
> threading on the output side; I found an explanation that I can set
> 'processorName="standard"' to force this (which seems not to be possible
> setting the exchange to be persistent).
> This works great for a single SA containing several SUs, one of which
> defines four JMS endpoints for two queues (see below for configuration). 
> When I try to deploy a second identical (except for module names and
> namespaces) SA onto ServiceMix, it hangs trying to start the JMS SU- the
> log ends like this:
> Mar 13, 2007 7:06:14 PM
> org.apache.servicemix.jbi.framework.ServiceUnitLifeCycle start
> INFO: Starting service unit: dup-testtask-jms-auditedqueue-su
> 
> 
> Looking at ServiceMix through the JMX console shows that ActiveMQ created
> the two queues for the SA that deployed okay, and created only one of them
> for the one that didn't.
> 
> Here's what my JMS SU xbean.xml looks like (both SAs use one like this,
> just changed namespaces):
> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0";
> 
> xmlns:dup-testtask="urn:com:wellogic:synapse:integration:tasks:dup-testtask">
>       <jms:endpoint service="dup-testtask:ReceivedQueue"
>               endpoint="endpoint"
>               role="provider" 
>               destinationStyle="queue"
>               
> jmsProviderDestinationName="com.test.tasks.dup-testtask.received"
>               connectionFactory="#jmsFactory" />
> 
>       <jms:endpoint service="dup-testtask:ReceivedQueueSender"
>               endpoint="endpoint"
>               targetService="dup-testtask:Auditor"
>               role="consumer"
>               connectionFactory="#jmsFactory"
>               destinationStyle="queue"
>               processorName="standard"
>               defaultMep="http://www.w3.org/2004/08/wsdl/in-only";
>               
> jmsProviderDestinationName="com.test.tasks.dup-testtask.received" />
> 
>       <jms:endpoint service="dup-testtask:AuditedQueue"
>               endpoint="endpoint"
>               role="provider" 
>               destinationStyle="queue"
>               jmsProviderDestinationName="com.test.tasks.dup-testtask.audited"
>               connectionFactory="#jmsFactory" />
> 
>       <jms:endpoint service="dup-testtask:AuditedQueueSender"
>               endpoint="endpoint"
>               targetService="dup-testtask:Test_Rec_RoutingSlip"
>               role="consumer"
>               connectionFactory="#jmsFactory"
>               destinationStyle="queue"
>               processorName="standard"
>               defaultMep="http://www.w3.org/2004/08/wsdl/in-out";
>               
> jmsProviderDestinationName="com.test.tasks.dup-testtask.audited" />
> 
>       <bean id="jmsFactory"
> class="org.apache.activemq.pool.PooledConnectionFactory">
>               <property name="connectionFactory">
>                       <bean 
> class="org.apache.activemq.ActiveMQConnectionFactory">
>                               <property name="brokerURL" 
> value="tcp://localhost:61616" />
>                       </bean>
>               </property>
>       </bean>
> </beans>
> 
> Have I done something wrong in the configuration?  If not, could you give
> me a suggestion for how to debug this in ServiceMix?  Wondering if
> something was deadlocked, I connected jdb and looked at the threads before
> and after trying to deploy the second SA but couldn't glean anything from
> that.. I could send the diff along if you think that'd be useful.
> Thanks!
> Sam
> 

-- 
View this message in context: 
http://www.nabble.com/Problem-deploying-multiple-JMS-endpoints-queues-tf3399576s12049.html#a9505162
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to