Hy everybody, I have some trouble with JMS using JCA. My configuration is as follows:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns:sm="http://servicemix.apache.org/config/1.0" xmlns:audit="http://servicemix.apache.org/audit/1.0" xmlns:jms="http://servicemix.apache.org/jms/1.0" xmlns:preProzessor="http://servicemix.apache.org/preProzessor" xmlns:ro="http://servicemix.apache.org/routing" xmlns:amq="http://activemq.org/config/1.0" xmlns:amqra="http://activemq.org/ra/1.0"> <!-- System properties --> <sm:systemProperties> <property name="properties"> <map> <entry key="java.security.auth.login.config"> <bean class="org.springframework.util.ResourceUtils" factory-method="getFile"> <constructor-arg value="classpath:login.properties"/> </bean> </entry> </map> </property> </sm:systemProperties> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:servicemix.properties"/> </bean> <!-- Include other resources --> <import resource="classpath:security.xml"/> <import resource="classpath:jmx.xml"/> <import resource="classpath:activemq.xml"/> <import resource="classpath:tx.xml"/> <import resource="classpath:jndi.xml"/> <sm:container id="jbi" rootDir="./data/smx" MBeanServer="#jmxServer" installationDirPath="./install" deploymentDirPath="./deploy" monitorInterval="1" transactionManager="#transactionManager" createJmxConnector="false" depends-on="jndi" persistent="true" autoEnlistInTransaction="true" flowName="jca"> <!-- Use a secured broker (see security.xml) and define the 3 standard flows --> <sm:broker> <sm:securedBroker authorizationMap="#authorizationMap"> <sm:flows> <sm:sedaFlow/> <sm:jmsFlow jmsURL="${activemq.url}"/> <sm:jcaFlow connectionManager="#connectionManager" jmsURL="${activemq.url}"/> </sm:flows> </sm:securedBroker> </sm:broker> <sm:services> <sm:statistics statsInterval="10" dumpStats="true"/> </sm:services> <!--executorFactory--> <sm:executorFactory> <bean class="org.apache.servicemix.executors.impl.ExecutorFactoryImpl"> <property name="defaultConfig"> <bean class="org.apache.servicemix.executors.impl.ExecutorConfig"> <property name="corePoolSize" value="${servicemix.corePoolSize}"/> <property name="maximumPoolSize" value="${servicemix.maximumPoolSize}"/> <property name="queueSize" value="${servicemix.queueSize}"/> </bean> </property> </bean> </sm:executorFactory> <sm:activationSpecs> <sm:activationSpec> <sm:component> <jms:component> <jms:endpoints> <jms:endpoint service="b:MyConsumerService" endpoint="synchronous" targetService="preProzessor:receiver" role="consumer" defaultMep="http://www.w3.org/2004/08/wsdl/in-only" processorName="jca" connectionFactory="#activemqCF" resourceAdapter="#activemqRA" bootstrapContext="#bootstrapContext" synchronous="true" rollbackOnError="true"> <jms:activationSpec> <amqra:activationSpec destination="queue.QueueToPreProzessor" destinationType="javax.jms.Queue"/> </jms:activationSpec> </jms:endpoint> <jms:endpoint service="b:MyConsumerService2" endpoint="async" targetService="ro:router" role="consumer" defaultMep="http://www.w3.org/2004/08/wsdl/in-only" processorName="jca" connectionFactory="#activemqCF" resourceAdapter="#activemqRA" bootstrapContext="#bootstrapContext" synchronous="true" rollbackOnError="true"> <jms:activationSpec> <amqra:activationSpec destination="queue.QueueToRouter" destinationType="javax.jms.Queue"/> </jms:activationSpec> </jms:endpoint> </jms:endpoints> </jms:component> </sm:component> </sm:activationSpec> </sm:activationSpecs> </sm:container> <sm:dotViewService container="#jbi" autoStart="false"/> <sm:logService container="#jbi" autoStart="true" refreshPeriod="60"/> </beans> I always get the following exception: 2007-06-05 16:06:35,843 ERROR - JcaConsumerProcessor - Error while handling jms message javax.jbi.messaging.MessagingException: Unable to choose a flow for exchange: InOnly[ id: ID:Rep-A01-3609-1181052369875-4:0 status: Active role: provider service: {http://servicemix.apache.org/preProzessor}receiver endpoint: receiver in: <?xml version="1.0" encoding="UTF-8"?><hello>World</hello> ] at org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket(DefaultBroker.java:279) at org.apache.servicemix.jbi.security.SecuredBroker.sendExchangePacket(SecuredBroker.java:80) at org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:793) at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:381) at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:456) at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:428) at org.apache.servicemix.jms.jca.JcaConsumerProcessor.onMessage(JcaConsumerProcessor.java:117) at org.jencks.XAEndpoint.onMessage(XAEndpoint.java:129) at org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:121) at org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:61) at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:696) at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:165) at org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:290) at org.apache.geronimo.connector.work.pool.NamedRunnable.run(NamedRunnable.java:32) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) Can someone help? Greets Goldi -- View this message in context: http://www.nabble.com/Unable-to-choose-a-flow%21-tf3872089s12049.html#a10970579 Sent from the ServiceMix - User mailing list archive at Nabble.com.
