activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kristoffer <>
Subject Re: Jecks, Lingo and vm://
Date Fri, 20 Oct 2006 14:05:03 GMT

I did some test for this but my initial idea did not work (maybe for obvious

This is how i understand what is happening:
Seems as if the service modules are not able to connect to the broker
because of classloader visibility since they are in separate WARs (this is
how vm:// works?). These service modules then instead try to create their
own embeded brokers. The brokers will throw exceptions all over the place
with conflicting journals.

However, i managed to get this to work, by putting activemq (4.0.2) and most
of its dependencies (spring,xbeans etc) in system classpath. All service
modules seem to connect to _the_ broker and are able to communicate between
eachother properly.

Do i really have to restrict myself and put these jars in system classpath
to get this to work? What am I doing wrong? (Is vm:// is infact a
classloader:// transport?)

One idea I have is to make the (unwanted) creation of brokers (in the
service modules) to be non-persistent by providing some configuration in
order to avoid the journal conflicts. Would this work?

I dont want to have a monolithic design where i put all my modules in a
single WAR. I also want to avoid putting things in system classpath when
rolling out the product in production.


kristoffer wrote:
> Hi,
> Im designing a modular system inside a servlet container were i want
> modules (deployed as WARs, thus separte classloaders) to communicate with
> eachother through JMS. In order to do this effeciently I was thinking of
> using Jencks to utilize JCA for this nice pooling, transaction and
> workmanager support. I dont want embedded brokers in these service
> modules, if it is possible?
> Can I deploy a broker as a separate WAR module (and classloader), which
> exposes a vm:// transport to the service modules? Reading from the
> documentation it seems as if this would work, as long as i send
> ObjectMessage messages between the service modules. Is this correct?
> I was also thinking of using Lingo so that i can have message driven pojos
> interfaces between the service modules. Does lingo always use
> ObjectMessage to communicate with the broker, or is there some way i can
> force this behaviour?
> One "problem" i realized (not really related to this) is that since the
> broker WAR need to be deployed before the service modules i need some
> mechanism of setting deployment dependencies between the broker and
> service modules. Possibly between service modules aswell. I know weblogic
> and Jboss have a loadorder feature, but have yet to find one in for
> example jetty or tomcat? Anyone have a tip?
> As a future requirement i want to be able to scale up with multiple
> servlet containers that should share load between eachother, both on HTTP
> request level (with a loadbalancer), but also between brokers. 
> Please correct me if i missunderstood how to use activemq in the best way.
> keep up the good work!
> cheers,
> -Kristoffer

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message