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.

Reply via email to