You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Kyle Neumeier <kn...@gmail.com> on 2011/01/21 19:46:08 UTC

Embedded broker in Resource Adapter without XML

Hi,
I'm deploying the activemq resource adapter to glassfish 2.1.1. On my first
attempt, I ran into a classloading issue, because in glassfish, the resource
adapter's classloader is a parent to EAR's classloaders, and the EAR's
classloaders search the parent's first. My issue was that my legacy EAR
requires spring 2.5.6, and the activemq resource adapter ships with 3.0.x.
So what was happening is that the EAR was finding spring 3.0.x first, and I
was getting some method not found exceptions.

To get around this issue I removed the spring bundles from the RAR file
(since activemq resource adapter will only use spring to read xbean broker
configurations) and deployed the broker separately from the application.

Now however, I'd like to run an embedded broker in the resource adapter, but
I don't want to use XML configuration since that would require spring. I
know the there are several other ways to configure a broker (such as the URI
syntax like broker:(vm://localhost) or the properties files). But the
resource adapter only has a BrokerXmlConfig property. Is there a way to
instead use an alternative syntax for broker configuration in the resource
adapter?

Thanks,
Kyle

Re: Embedded broker in Resource Adapter without XML

Posted by Kyle Neumeier <kn...@gmail.com>.
Thanks,
I was able to embed a simple broker by setting this property:

BrokerXmlConfig=broker:(vm:localhost)

which will work for me for now. I was able to deploy with a minimal number
of dependencies in the rar: activeio-core, activemq-core, activemq-protobuf,
activemq-ra.jar, commons-logging, and kahadb.

Would be alot easier if I could keep my resource adapter classloader
separate from my ear classloader in glassfish.
-Kyle

On Mon, Jan 24, 2011 at 6:54 AM, Gary Tully <ga...@gmail.com> wrote:

> your best bet at the moment is
> http://activemq.apache.org/broker-uri.html or
> http://activemq.apache.org/vm-transport-reference.html
>
> but note, there are no hard spring 3.0 dependencies in activemq 5.4,
> it will still work with spring 2.5.6 picked up from the jee container.
>
> On 21 January 2011 18:46, Kyle Neumeier <kn...@gmail.com> wrote:
> > Hi,
> > I'm deploying the activemq resource adapter to glassfish 2.1.1. On my
> first
> > attempt, I ran into a classloading issue, because in glassfish, the
> resource
> > adapter's classloader is a parent to EAR's classloaders, and the EAR's
> > classloaders search the parent's first. My issue was that my legacy EAR
> > requires spring 2.5.6, and the activemq resource adapter ships with
> 3.0.x.
> > So what was happening is that the EAR was finding spring 3.0.x first, and
> I
> > was getting some method not found exceptions.
> >
> > To get around this issue I removed the spring bundles from the RAR file
> > (since activemq resource adapter will only use spring to read xbean
> broker
> > configurations) and deployed the broker separately from the application.
> >
> > Now however, I'd like to run an embedded broker in the resource adapter,
> but
> > I don't want to use XML configuration since that would require spring. I
> > know the there are several other ways to configure a broker (such as the
> URI
> > syntax like broker:(vm://localhost) or the properties files). But the
> > resource adapter only has a BrokerXmlConfig property. Is there a way to
> > instead use an alternative syntax for broker configuration in the
> resource
> > adapter?
> >
> > Thanks,
> > Kyle
> >
>
>
>
> --
> http://blog.garytully.com
> http://fusesource.com
>

Re: Embedded broker in Resource Adapter without XML

Posted by Gary Tully <ga...@gmail.com>.
your best bet at the moment is
http://activemq.apache.org/broker-uri.html or
http://activemq.apache.org/vm-transport-reference.html

but note, there are no hard spring 3.0 dependencies in activemq 5.4,
it will still work with spring 2.5.6 picked up from the jee container.

On 21 January 2011 18:46, Kyle Neumeier <kn...@gmail.com> wrote:
> Hi,
> I'm deploying the activemq resource adapter to glassfish 2.1.1. On my first
> attempt, I ran into a classloading issue, because in glassfish, the resource
> adapter's classloader is a parent to EAR's classloaders, and the EAR's
> classloaders search the parent's first. My issue was that my legacy EAR
> requires spring 2.5.6, and the activemq resource adapter ships with 3.0.x.
> So what was happening is that the EAR was finding spring 3.0.x first, and I
> was getting some method not found exceptions.
>
> To get around this issue I removed the spring bundles from the RAR file
> (since activemq resource adapter will only use spring to read xbean broker
> configurations) and deployed the broker separately from the application.
>
> Now however, I'd like to run an embedded broker in the resource adapter, but
> I don't want to use XML configuration since that would require spring. I
> know the there are several other ways to configure a broker (such as the URI
> syntax like broker:(vm://localhost) or the properties files). But the
> resource adapter only has a BrokerXmlConfig property. Is there a way to
> instead use an alternative syntax for broker configuration in the resource
> adapter?
>
> Thanks,
> Kyle
>



-- 
http://blog.garytully.com
http://fusesource.com