L.S.,

Ok, that's a problem with the order in which the SU are started then. The Camel SU is started first, so the timer just gets started and sends a MessageExchange. This MessageExchange is being sent before the JMS SU was started, so that's why the first attempt fails but the retry behavior of Camel's deadletterchannel should get the message accross in a few attempts.

Now, the best way to avoid this exception is either by reversing the order of the SU in the pom.xml or by adding an initial delay (delay=3000) to Camel's timer:// endpoint to avoid that MessageExchanges are being sent before all the SU have properly been started.

Regards,

Gert

Tongzhao wrote:
I only see on servicemix startup . then is normal .the exchange data display every 10 seconds .


Gert Vanthienen wrote:
L.S.,

Are you seeing this exception all the time or only intermittently? If the route fails every time, you should see this exception on the console every 10 seconds. I still don't see anything wrong here. Could you try stopping servicemix, deleting the contents of the data directory, and restarting servicemix to ensure that we get a fresh deploy of everything? No idea what's going on otherwise...

Regards,

Gert


Tongzhao wrote:
this is the sa dependency <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.servicemix.tutorial.camel</groupId>
      <artifactId>demo-camel-su</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>org.apache.servicemix.tutorial.camel</groupId>
      <artifactId>demo-camel-jms-su</artifactId>
      <version>1.0-SNAPSHOT</version>
</dependency> </dependencies>

it consist of two su。

http://www.nabble.com/file/p19102993/%25E6%2597%25A0%25E6%25A0%2587%25E9%25A2%2598.jpg






Gert Vanthienen wrote:
L.S.,

This looks OK to me. Are you sure you added the JMS SU as a dependency to the SA pom.xml? Can you verify with a JMX console that the JMS endpoints are actually available in the ESB?

Regards,

Gert

Tongzhao wrote:
my JMS SA ,the xbean.xml is <beans xmlns:jms="http://servicemix.apache.org/jms/1.0";
       xmlns:tutorial="urn:org:apache:servicemix:tutorial:camel"
       xmlns:amq="http://activemq.org/config/1.0";>

    <jms:provider service="tutorial:jms"
endpoint="provider" destinationName="tutorial.camel.queue"
                  connectionFactory="#connectionFactory" />

    <jms:consumer service="tutorial:jms"
                  endpoint="consumer"
                  destinationName="tutorial.camel.queue"
                  connectionFactory="#connectionFactory"
                  targetService="tutorial:jms"
                  targetEndpoint="consumer" />
        
    <amq:connectionFactory id="connectionFactory"
brokerURL="tcp://localhost:61616" />

</beans>



in Camel SU .MyRouteBuilder .java is as follows:

public class MyRouteBuilder extends RouteBuilder {

   public void configure() {
        //send a message to a JBI endpoint...
from("timer://tutorial?fixedRate=true&period=10000") // 1 .setBody(constant("<message>Hello world!</message>")) // 2 .to("jbi:endpoint:urn:org:apache:servicemix:tutorial:camel:jms:provider"); // 3
        
        //...and receive messages sent by other JBI endpoints
from("jbi:endpoint:urn:org:apache:servicemix:tutorial:camel:jms:consumer") // 1 .to("log:tutorial-jbi") // 2 .convertBodyTo(String.class) // 3 .to("log:tutorial-string"); // 2



    }
}






Gert Vanthienen wrote:
L.S.,

As with the thread you mentioned, this is probably just a typo in a namespace or service/endpoint name somewhere. You are routing a MessageExchange to a service endpoint that doesn't exist. Could you double-check your config files for typos and try using a JMX Console to check the actual endpoint names on ServiceMix? If you don't manage to figure it out there, could you post the Java code for the RouteBuilder and the xbean.xml files' content to enable us to help you out.

Regards,

Gert

Tongzhao wrote:
I was walked through the tutorial provided by the tutorial, which is
3.Beginner
Using Apache Camel inside Servicemix. In Section 3.4, as the tutorial
said,
I
added a
JMS su to the project and I copy every step as you told. But when I
ran
the
example, Exception as the title came out, saying

ERROR - DeadLetterChannel              - Failed delivery for
exchangeId:
ID-tong
-PC/52869-1219386342283/0-0. On delivery attempt: 0 caught:
org.apache.servicemi
x.camel.JbiException: javax.jbi.messaging.MessagingException: Could
not
find
rou
te for exchange: InOnly[
  id: ID:10.80.12.96-11be916b10e-3:0
  status: Active
  role: provider
  in: <?xml version="1.0" encoding="UTF-8"?><message>Hello
world!</message>
] for service: null and interface: null
org.apache.servicemix.camel.JbiException:
javax.jbi.messaging.MessagingException
: Could not find route for exchange: InOnly[
  id: ID:10.80.12.96-11be916b10e-3:0
  status: Active
  role: provider
  in: <?xml version="1.0" encoding="UTF-8"?><message>Hello
world!</message>
] for service: null and interface: null
        at
org.apache.servicemix.camel.ToJbiProcessor.process(ToJbiProcessor.jav
a:111)
        at
org.apache.servicemix.camel.JbiEndpoint$1.process(JbiEndpoint.java:57
)
        at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$Processor
ToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
        at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:7
5)
        at
org.apache.camel.management.InstrumentationProcessor.process(Instrume
ntationProcessor.java:57)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChanne
l.java:155)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChanne
l.java:91)
        at
org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
        at
org.apache.camel.processor.Pipeline.process(Pipeline.java:85)
        at
org.apache.camel.management.InstrumentationProcessor.process(Instrume
ntationProcessor.java:57)
        at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProc
essor.java:39)
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelp
er.java:41)
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsy
ncProcessor.java:66)

I waste half day to soleve the problem ,but no result.

I refer to the article
http://www.mail-archive.com/[EMAIL PROTECTED]/msg04047.html
but the author  don't  describ detail the reason last .
pls hel! tks
-----
---
Gert Vanthienen
http://www.anova.be

-----
---
Gert Vanthienen
http://www.anova.be


-----
---
Gert Vanthienen
http://www.anova.be



Reply via email to