On 12/11/2014 5:19 AM, Muammer Eroğlu
wrote:
Hello,
I'm experimenting with different providers for
remote service distribution and in this case I'm
trying to switch to the ECF JMS/ActiveMQ provider.
I downloaded the projects from https://github.com/ECF/JMS
and after exporting "org.eclipse.ecf.provider.jms"
and "org.eclipse.ecf.provider.jms.activemq",
included them in my project.
Then I switched the "service.exported.configs"
property of the exported service to
"ecf.jms.activemq.tcp.client". I also added " ecf.endpoint.connecttarget.id"
property with the value of
"tcp://activemq_server_ip_here:61616/topic".
I was already using zookeeper, thus I didn't make any
modifications on the client side, let it be discovered
automatically.
The result was this: I saw that both the client and
server makes a connection to the ActiveMQ server, send
some messages, however, they both end up with "connect
failed", "timeout waiting for response" errors.
I've been searching for examples, or questions in this
context, but unfortunately I couldn't find much to help.
After going through the code a while, I suspect that there
should be a ecf.jms.activemq.tcp.server container somewhere,
to respond to the connect messages that clients fail to get
response.
Yes, that's right, a server container must exist/be started for the
client to connect to. There is example/test code in the following
project that sets up and uses a server+broker and client
https://github.com/ECF/JMS/tree/master/tests/org.eclipse.ecf.tests.provider.jms.activemq
Regrettably, we don't yet have a remote service example (e.g.
timeservice examples described in the tutorials) that has been setup
to use the JMS providers...e.g. with the necessary
build/meta-data. I simply don't currently have the resources to do
that work myself. If you are willing to contribute some effort to
help create such an example, please open an enhancement request.
Is there an example project anywhere that uses JMS provider
for remote service distribution?
The above test code does this. It does not yet use the OSGi RSA,
but again that's something that can be easily added.
Scott
|