Hi:

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, org.activemq.network.jms 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 

Reply via email to