Found reason for first problem. This just occurs when I'm using persistence="true". Using persistence="false" I don't get the exception. A little bit strange I think.
goldi wrote: > > Another problem that occurs with this component is, that the properties of > the JMS message are lost. They seem not to be copied to the > MessageExchange. > > Greets Goldi > > goldi wrote: >> >> 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#a11135099 Sent from the ServiceMix - User mailing list archive at Nabble.com.
