[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.technology.ecf] Re: Communication between OSGi/Equinox - JMS/ActiveMQ

Hi Sebastian,

Sebastian Schneider wrote:
Hi Scott,

Thanks for the tip with the server version. I have used the version 5.1 and changed it to 3.1.

So, your ActiveMQJMSServer works and connect to my ActiveMQ broker.


That's good to hear. I wouldn't mind moving over to use a more recent ActiveMQ implementation...if this is something important to you please open an enhancement request (with the version desired) so we can know which version to focus on and can track (as well as communicate directly with you and other interested parties about progress).

~
<stuff deleted>

The container connect to the broker, but the channelContainerAdapter is null.


I don't know what I must do with the IContainerManager to get a container?!

Probably the easiest is to do:

IContainerManager manager = (IContainerManager) ContainerFactory.getDefault();

IContainer [] containers = manager.getAllContainers();
(should return one container...i.e. the server container instance)
IChannelContainerAdapter adapter = (IChannelContainerAdapter) containers[0].getAdapter(IChannelContainerAdapter.class);


But actually, I would recommend that you get the IContainerManager via the OSGi service rather than via the static ContainerFactory.getDefault() method (i.e. the IContainerManager is an OSGi service, so you can get access to it via the ServiceTracker (see here for an article about that, as it will be useful in other contexts:

http://www.eclipsezone.com/eclipse/forums/t90796.html


I need a very simple and complete example for my implementation.

My context:

I try to implement a bundle with some monitoring application.
They listen as subscriber on a channel/topic and send also message backward to another channel/topic.


At the moment I have only a Activator.java.

I would/will be happy to produce a hello world example application, but I need to travel soon and so will need a little time to do so.


Would you file an enhancement request to do this at http://bugs.eclipse.org and it will allow me to not have the request get lost given my traveling and such. In the mean time, the example code for datashare can/could be helpful as well:

http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ecf/tests/bundles/org.eclipse.ecf.tests.datashare/src/org/eclipse/ecf/tests/datashare/?root=RT_Project

Thanks,

Scott



Thanks Sebastian

but actually, I see that this error message(ultimately coming from activemq failure)
syncSendTimedOut: connection no longer OK


might mean that the ECF generic server is failing to actually connect to the activemq broker...perhaps because of version incompatibilities.


> I tried also your ActiveMQJMSServer application with the "ActiveMQ JMS Server.launch" configuration, but I get also an error with this [6] log message.
> My ActiveMQ "Broker" log following message:ERROR TransportConnector - Could not accept connection : Wire format negotiation timeout: peer did not send his wire format.
>
> Have you an idea or tip where my problem is?
> I suspect that there are two problems. The first (and hardest) is getting the ecf jms generic server (which is actually an activemq *client* when it connects to the activemq broker) to create a proper connection to the broker. I suspect that this:


My ActiveMQ "Broker" log following message:ERROR TransportConnector - Could not accept connection : Wire format negotiation timeout: peer did not send his wire format.


Which you got in response to the *ecf server/jms client* attempt to connect to the broker. My guess is that this is some version incompatibility across activemq versions (i.e. on the ecf generic server/jms client...which uses the activemq3.1m5) and the activemq broker that you are using (I don't know what version you are using). So we'll have to figure this out by getting some sort of version compatiblity (through same/similar activemq versions on broker and on ecf servers and clients). If you can let me know what version of the broker you are using, I will look into forward porting ECF generic server and clients to something compatible with that (i.e. 4.0 or etc)


Then we have the missing code on the server (creating the channel as I described above). This will be relatively easy to fix once we get the connection problem worked out with activemq.

So please let me know which version of activemq you are using for the broker, and I'll see about getting/updating the ecf activemq generic server and client with something compatible.

Thanks much for patience. We'll work this out, but due to the length of time we have not updated activemq I think we'll need to deal with this buy forward porting things.

Scott