activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Guillaume Nodet" <gno...@gmail.com>
Subject Re: Jecks, Lingo and vm://
Date Fri, 20 Oct 2006 14:09:16 GMT
The vm transport works only inside one classloader,
so you need to put these in a shared classloader
for you scenario to work.

On 10/20/06, kristoffer <stoffe@gmail.com> wrote:
>
> I did some test for this but my initial idea did not work (maybe for obvious
> reasons).
>
> 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.
>
> cheers,
> -Kristoffer
>
>
> 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: http://www.nabble.com/Jecks%2C-Lingo-and-vm%3A---tf2479865.html#a6917416
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>


-- 
Cheers,
Guillaume Nodet

Mime
View raw message