activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Li, Fan" <>
Subject RE: help needed regarding to package
Date Wed, 01 Feb 2006 18:00:05 GMT
Hi Rob:

I have opened an issue at and the Key for the issue
is AMQ-520. Based on the current code for the JmsConnector and its subclasses, I think what
is needed is probably two JndiTemplate objects, one for creating Foreign ConnectionFactory
and one for creating Local ConnectionFactory.  


-----Original Message-----
From: Rob Davies [] 
Sent: Wednesday, February 01, 2006 5:35 AM
Cc: Li, Fan;
Subject: Re: help needed regarding to package

Fan Li,

you can explicitly set the local ConnectionFactory on the JmsTopicConnector/JmsQueueConnector
- and use the JndiTemplate for initializing the foreign JMS provider.
The JmsMessageConvertor doc is misleading  in it's description - for inbound messages it will
expect foreign JMS -> ActiveMQ and outbound ActiveMQ -> JMS.
The JMS specification states that a JMS message provider should be able to convert a foreign
JMS Message if one is used - so this interface is only there if special marshaling is required.



On 1 Feb 2006, at 12:55, Rob Davies wrote:

> Hi Fan Li,
> it's great to get some feedback on this!
> I'm sure we can fix your issues pretty quickly. Would you mind raising 
> a jira issue on this ? That way I won't forget about
> cheers,
> Rob
> First of all, my apologies for spamming your e-mail account, but I am 
> looking for help from any ActiveMQ developer who can help me answer a 
> couple of questions.
> I am currently working on a Project that would help our company to 
> switch our existing messaging applications to used ActiveMQ instead of 
> our own messaging system that is based on Rendezvous. My project has 
> to do with creating a bridge that enables the communication of 
> applications written using our messaging system to those applications 
> written using ActiveMQ.  After looking at ActiveMQ source code, I 
> discovered a package, in the 
> activemq-core/src/main/java directory, and it seems to provide the 
> bridge functionalities I am looking for. However, when I was trying to 
> test out the code in this package I run into a problem.
> The init() method in JmsTopicConnector class calls the methods
> initializeForeignTopicConnection() and
> initializeLocalTopicConnection() to set the appropriate 
> ConnectionFactory and Connection by look them up from the JndiTemplate 
> object of the class. The JndiTemplate object does object lookup using 
> a Context object that is created by the implementation of 
> InitialContextFactroy associated with "
> java.naming.factory.initial". This is a problem because different JMS 
> implementations have different InitialContextFactory classes, 
> therefore it is not possible for one implementation of 
> InitialContextFactory to create Context object that is capable of 
> looking up objects implemented by two different JMS providers.
> Unless the association between " java.naming.factory.initial" and the 
> InitialContextFactory can be changed between the invocation of
> initializeForeignTopicConnection() and 
> initializeLocalTopicConnection(), which would require code change in 
> the JmsTopicConnector class. Does anyone know a way to work around 
> this problem?
> Also, I need a bit of clarification on the description for the 
> JmsMesageConvertor interface. The Java doc for the convert method of 
> this interface says that the method is used to "Convert a foreign JMS 
> Message to a native ActiveMQ Message", but should it also be used to 
> perform the reverse conversion, which is to convert from a native 
> ActiveMQ Message to a foreign JMS Message or is there a different 
> interface that takes care of it?
> Thank you
> Fan Li

View raw message