[
https://issues.apache.org/activemq/browse/CAMEL-890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45644#action_45644
]
Claus Ibsen commented on CAMEL-890:
-----------------------------------
Glad this solved the first step.
The little snippet of stacktrace shown reveals that its something with a class
not found. ClassNotFoundException.
Are you sure that com.foo.gdr.GDRService.class is included in the classpath on
both the server and client side?
> Camel-RMI looks up wrong name in RMI Registry
> ---------------------------------------------
>
> Key: CAMEL-890
> URL: https://issues.apache.org/activemq/browse/CAMEL-890
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-rmi
> Affects Versions: 1.4.0
> Environment: Camel 1.4.0, Windows XP Professional, JDK 1.6.0_07
> Reporter: Conrad Pilloud
> Assignee: Claus Ibsen
> Fix For: 1.5.0
>
> Attachments: camel-arb-log.log, camel-rmi-1.5-SNAPSHOT.jar
>
> Original Estimate: 1 day
> Remaining Estimate: 1 day
>
> It appears the RMI component is not pulling the right name from the URI I
> defined in my routebuilder.
> In a separate application (the one I'm trying to connect and send data to),
> I've bound a remote object in the RMI Registry as: "GDRService". (I even
> wrote a little app to list the RMI registry entries and it does indeed show
> up as "GDRService").
> However, my camel route: .to("rmi://localhost:1099/GDRService");
> produces this result...
> java.rmi.NotBoundException: /GDRService
> at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:106)
> at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
> ....
> I think this is the problem...
> According to the code for RMIEndPoint:
> public String getName() {
> String path = uri.getPath();
> if (path == null) {
> path = uri.getSchemeSpecificPart();
> }
> return path;
> }
> I believe uri.getPath() is returning "/GDRService" and not "GDRService" and
> thus, Camel can't find the actual service.
> Here's a longer stacktrace (just the last of the 5 attempts to route via RMI
> prior to dead-letter drop).
> [ AnonymousIoService-2] DeadLetterChannel ERROR Failed
> delivery for exchangeId: ID-dmco500084358/
> 683-1221065595195/0-0. On delivery attempt: 5 caught:
> java.rmi.NotBoundException: /GDRService
> java.rmi.NotBoundException: /GDRService
> at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:106)
> at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
> at
> sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:386)
> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
> at sun.rmi.transport.Transport$1.run(Transport.java:159)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
> at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
> at
> sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
> at
> sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:359)
> at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
> at
> org.apache.camel.component.rmi.RmiRegistryBean.lookupBean(RmiRegistryBean.java:44)
> at
> org.apache.camel.component.bean.RegistryBean.getBean(RegistryBean.java:61)
> at
> org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:73)
> at
> org.apache.camel.component.rmi.RmiProducer.process(RmiProducer.java:46)
> at
> org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncPro
> essorTypeConverter.java:43)
> at
> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
> at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
> at
> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:155)
> at
> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.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(InstrumentationProcessor.java:57)
> at
> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
> at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
> at
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
> at
> org.apache.camel.component.mina.MinaConsumer$ReceiveHandler.messageReceived(MinaConsumer.java:95)
> at
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:5
> 0)
> at
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
> at
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
> at
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:
> 48)
> at
> org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
> at
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:180)
> at
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
> at
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
> at
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:
> 48)
> at
> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
> at
> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
> at java.lang.Thread.run(Thread.java:619)
> [ AnonymousIoService-2] DefaultListableBeanFactory DEBUG
> Creating instance of bean 'org.apache.camel.compo
> ent.log.LogComponent'
> [ AnonymousIoService-2] DefaultListableBeanFactory DEBUG
> Finished creating instance of bean 'org.apache.ca
> el.component.log.LogComponent'
> [ AnonymousIoService-2] DeadLetterChannel ERROR
> Exchange[BodyType:String, Body:<?xml version="1.0............
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.