Hi Pratibha,
Did your below scenario worked
I have a scenario where I have a jms:consumer->camel router
(recipientlist)-> external webservice


my jms:consumer is defined as below

 <jms:consumer service="cc2:JMSConsumerService"
                  endpoint="jmsEndpoint"
                  targetService="cc2:JMSConsumerService"
                  targetEndpoint="jmsEndpoint"
                  destinationName="ccq2"
                 cacheLevel="2"
                  transacted="jms"
                  concurrentConsumers="5"
                  connectionFactory="#connectionFactory" />

my camel context is as below

 <bean id="routerBean" class="com.pf.camelconsumer.MyRouterBuilder">
 </bean>

  <camelContext id="camel"
xmlns="http://activemq.apache.org/camel/schema/spring"; trace="true">
    <routeBuilderRef ref="routerBean"/>
  </camelContext>


And my router is as below

from("jbi:service:http://com.pf.camelconsumer2/JMSConsumerService2";).bean(myBean,"setLocationUrI")..recipientList(header(HttpProducer.HTTP_URI)).bean(myBean,"printResponse");

I am getting below exception. I am sure you could help me with this error.
Or if you could provide me with your camel_context that I can use as a
reference will be very helpful


2010-04-26 16:21:44,036 | 16:21:44,036 | WARN  | tenerContainer-4 | NMR         
                    
| .servicemix.nmr.core.ChannelImpl  293 | Error processing exchange [
  id:        409f4622-d3ff-4195-8ca6-08f645748c55
  mep:       InOnly
  status:    Active
  role:      Consumer
  target:   
PropertyMatchingReference[{SERVICE_NAME={http://com.pf.camelconsumer2}JMSConsumerService}]
  properties: [
      org.apache.servicemix.senderEndpoint =
{http://com.pf.camelconsumer2}JMSConsumerService:jmsEndpoint
      javax.jbi.messaging.MessageExchange =
org.apache.servicemix.jbi.runtime.impl.inonlyi...@bc3476
      javax.jbi.messaging.sendSync = true
      javax.jbi.InterfaceName = <null>
      javax.jbi.transaction.jta = <null>
      org.apache.servicemix.correlationId =
409f4622-d3ff-4195-8ca6-08f645748c55
      javax.jbi.ServiceName =
{http://com.pf.camelconsumer2}JMSConsumerService
  ]
  In: [
    content: org.apache.servicemix.soap.util.stax.staxsou...@185d83
  ]
]

org.apache.servicemix.nmr.api.ServiceMixException: Could not dispatch
exchange. No matching endpoints.
        at
org.apache.servicemix.nmr.core.FlowRegistryImpl.dispatch(FlowRegistryImpl.java:110)
        at 


pratibhaG wrote:
> 
> Hi all,
> 
> I have an example which was working in smx3.3.1. the example use to put a
> message in jms topic and the consumer use to consume it. To fix some other
> problem I replaced my servicemix-camel-2009.01-installer.zip component
> with servicemix-camel-2009.02-installer.zip. now with this change my jms
> consumer is not picking up the message in topic.
> 
> the jms configuration like this:
> 
> 
> <?xml version="1.0" encoding="UTF-8"?>
> 
> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0";
>        xmlns:up="http://servicemix.in2m.com/operations/updateprofile";
>        xmlns:amq="http://activemq.org/config/1.0";>
> 
>     <jms:consumer service="up:DirectorConsumerService"
>                   endpoint="directorConsumerEndpoint"
>                                 targetService="up:DirectorConsumerService"
>                                 clientId="Director"
>                                 pubSubDomain="true"
>                                 subscriptionDurable="true"
>                   destinationName="updateUserProfileTopic"
>                   connectionFactory="#connectionFactory" 
>                                 messageSelector="userPrincipals NOT LIKE 
> '%director%'"
>                                 cacheLevel="2"
>                                 transacted="jms"/>
>       
>       <jms:consumer service="up:PortalConsumerService"
>                   endpoint="portalConsumerEndpoint"
>                                 targetService="up:PortalConsumerService"
>                                 pubSubDomain="true"
>                                 clientId="Portal"
>                                 subscriptionDurable="true"
>                   destinationName="updateUserProfileTopic"
>                                 connectionFactory="#connectionFactory" 
>                                 messageSelector="userPrincipals NOT LIKE 
> '%portal%'"
>                                 cacheLevel="2"
>                                 transacted="jms"/>
>       
>   <bean id="propertyConfigurer"
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
>       <property name="location" value="classpath:servicemix.properties" />
>   </bean>
>       
>    <amq:connectionFactory id="connectionFactory"
> brokerURL="${activemq.url}" />
> 
> </beans>
> 
> 
> 
> 
> and :
> 
> 
> <?xml version="1.0" encoding="UTF-8"?>
> 
> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0";
>        xmlns:up="http://servicemix.in2m.com/operations/updateprofile";
>        xmlns:amq="http://activemq.org/config/1.0";>
> 
>       <jms:provider service="up:JMSProviderService"
>                   endpoint="JMSProviderEndpoint"
>                                 pubSubDomain="true"
>                   destinationName="updateUserProfileTopic"
>                   connectionFactory="#connectionFactory"
>                                 marshaler="#jmsMarshaler"/>
> 
>       <bean id="jmsMarshaler"
> class="com.in2m.servicemix.common.marshaller.jms.DefaultJmsProviderMarshaler"/>
>       
>     <bean id="propertyConfigurer"
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
>       <property name="location" value="classpath:servicemix.properties" />
>     </bean>
>       
>    <amq:connectionFactory id="connectionFactory"
> brokerURL="${activemq.url}" />
> 
> </beans>
> 
> 
> The camel configuration is like this:
> package com.in2m.servicemix.operations.updateprofile;
> 
> import org.apache.camel.builder.RouteBuilder;
> 
> import com.in2m.servicemix.common.errorhandling.CustomDelegateProcessor;
> import com.in2m.servicemix.common.errorhandling.ErrorConstants;
> 
> 
> public class MessageRouting extends RouteBuilder {
> 
>     public void configure() {
>         
>         
>       
>       //errorHandler(deadLetterChannel().maximumRedeliveryDelay(3600000L));
>       
>       onException(java.lang.Throwable.class)
>         .process(new
> CustomDelegateProcessor(ErrorConstants.SYSTEM_ERROR));                
>        
>       onException(java.net.SocketException.class)
>         .maximumRedeliveries(5)
>         .useExponentialBackOff()
>         .redeliveryDelay(300000L)
>         .backOffMultiplier(2.0)
>         .maximumRedeliveryDelay(3600000L)
>         .process(new
> CustomDelegateProcessor(ErrorConstants.SOCKET_ERROR));
>             
>        
> from("jbi:service:http://servicemix.in2m.com/operations/updateprofile/RoutingService";)
>        
> .to("jbi:service:http://servicemix.in2m.com/operations/updateprofile/JMSProviderService?mep=in-only";)
>        
> .to("jbi:service:http://servicemix.in2m.com/operations/updateprofile/ResponseGeneratorService?mep=in-out";);
>        
>        
> from("jbi:service:http://servicemix.in2m.com/operations/updateprofile/DirectorConsumerService";)
>        
> .setHeader(ErrorConstants.APPLICATION_NAME,constant("DirectorService"))
>         .process(new CustomDelegateProcessor())         
>        
> .to("jbi:service:http://servicemix.in2m.com/operations/updateprofile/DirectorService?mep=in-out";);
>        
>        
> from("jbi:service:http://servicemix.in2m.com/operations/updateprofile/PortalConsumerService";)
>        
> .setHeader(ErrorConstants.APPLICATION_NAME,constant("PortalService"))
>         .process(new CustomDelegateProcessor())     
>        
> .to("jbi:service:http://servicemix.in2m.com/operations/updateprofile/PortalService?mep=in-out";);
>     }
> }
> 
> 
> Please provide some help
> 
> Thanks,
> Pratibha
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Jms-consumer-not-consuming-a-message-from-Topic-tp27983805p28369869.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to