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#a11014978
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to