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.

Reply via email to