activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John D. Ament" <johndam...@apache.org>
Subject Re: ActiveMQ 6 - TomEE integration
Date Sat, 03 Jan 2015 23:59:14 GMT
Yeah, I would imagine the final pass will make everything in Configuration
an option to the RA.  For now, I'm just bypassing things until I get a good
grip on what's being passed in to the properties.

For the scope of this (a POC), I ripped out AMQ 5.10 and dropped in 6.  I
believe things are still up in the air, but I know there's a goal for JMS 2
support in TomEE 2 and right now it doesn't make sense to try to backport
the JMS 2 APIs to the ActiveMQ codebase.

John

On Sat Jan 03 2015 at 6:02:47 PM Clebert Suconic <clebert.suconic@gmail.com>
wrote:

> You Probably need to configure security properly and pass the proper
> Principal?
>
>
> I will take a look on monday... I'm at the end of my vacations now and
> I won't be able to work over the weekend...
>
>
> Again... good stuff...
>
>
> BTW: Are you totally replacing ActiveMQ by 6 or you are making it optional?
>
> On Sat, Jan 3, 2015 at 2:19 PM, John D. Ament <johndament@apache.org>
> wrote:
> > Little more info.
> >
> > Got past this part.  Then hit an auth issue, turned off auth for now and
> I
> > at least see the connections making it (woo hoo!!).
> >
> > It looks like it passes back a proxy wrapper to the session, and not the
> > session itself.  It looks like OpenEJB and ActiveMQ are both trying to
> > handle the closing of the session automatically.
> >
> > https://github.com/apache/tomee/blob/develop/container/
> openejb-core/src/main/java/org/apache/openejb/resource/
> AutoConnectionTracker.java
> >
> > So ummm need to think about this a bit more.
> >
> > John
> >
> > On Sat Jan 03 2015 at 1:29:31 PM John D. Ament <johndament@apache.org>
> > wrote:
> >
> >> Clebert,
> >>
> >> On Sat Jan 03 2015 at 1:11:57 PM Clebert Suconic <
> >> clebert.suconic@gmail.com> wrote:
> >>
> >>> That's great stuff you're doing...
> >>>
> >>>
> >>> Is there a branch we could try this?
> >>>
> >>>
> >> Sure, you can find it here:
> >> https://github.com/johnament/tomee/tree/activemq-6
> >>
> >> You can see the test is called AMQXASupportTest, where I'm just trying
> to
> >> go through the steps that would bootstrap the RA.  It's in the
> openejb-core
> >> module, the only things I've poked at thus far are around which classes
> are
> >> being invoked since there's lots of new packages and classes floating
> >> around (obviously).
> >>
> >> FWIW I had thought to use a similar approach I took last time I did an
> >> embedded HornetQ type solution, however that was an early 2.1/2.2 thing,
> >> and it looks like the 2.4 code base was a bit different for the non-JMS
> >> pieces.
> >>
> >>
> >>>
> >>> Perhaps there are dependencies that would need to be installed, and
> >>> old dependencies we still need to clear from the codebase? Did you
> >>> look at that?
> >>>
> >>
> >> I've thought about classloader issues, but I don't think that's the case
> >> yet.  The fact that I'm seeing AMQ start up means that the code to boot
> the
> >> RA is working, it's simply not able to find the InVM connection that
> it's
> >> expecting.
> >>
> >> All maven dependencies were updated and locally I'm building off this
> >> branch: https://github.com/johnament/activemq-6/tree/geronimo-spec-jar
> >> but I don't think that makes much difference.
> >>
> >> Now it could also be that I was way off on my guesses for what the new
> >> classes are, but comparing the classes I picked from 6 to what TomEE
> used
> >> in 5.10 they appear to serve the same function.  The only thing special
> >> about TomEE's RA (which extended AMQ 5.10's) was that they used the JDBC
> >> store for messages.  For now that's not an issue for me so I avoided the
> >> sub-class for now.
> >>
> >> John
> >>
> >>
> >>>
> >>> On Sat, Jan 3, 2015 at 11:23 AM, John D. Ament <johndament@apache.org>
> >>> wrote:
> >>> > I'm resending this as I had my emails messed up.  Sorry for any
> >>> moderation
> >>> > issues.
> >>> >
> >>> > On Sat Jan 03 2015 at 11:06:43 AM John D. Ament <
> johndament@apache.org>
> >>> > wrote:
> >>> >
> >>> >> Ok, so got a little bit further.  I see the broker starting with
the
> >>> in vm
> >>> >> connector.
> >>> >>
> >>> >> 659 [main] DEBUG org.apache.activemq.ra  - Recovery Registry
> located =
> >>> >> org.apache.activemq.service.extensions.xa.recovery.ActiveMQR
> >>> egistryImpl@a530d0a
> >>> >>
> >>> >> 660 [main] DEBUG org.apache.activemq.ra  - No connector params
> provided
> >>> >> using default
> >>> >>
> >>> >> 660 [main] DEBUG org.apache.activemq.ra  - Creating Connection
> Factory
> >>> on
> >>> >> the resource adapter for
> >>> >> transport=[TransportConfiguration(name=8a3b9a30-9361-11e4-8f47-
> >>> bb448fce34db,
> >>> >> factory=org-apache-activemq-core-remoting-impl-invm-InVMConn
> >>> ectorFactory)
> >>> >> ?server-id=0] with ha=false
> >>> >>
> >>> >> 660 [main] DEBUG org.apache.activemq.ra  - No connector params
> provided
> >>> >> using default
> >>> >>
> >>> >> 660 [main] DEBUG org.apache.activemq.ra  - Creating Recovery
> Connection
> >>> >> Factory on the resource adapter for
> >>> >> transport=[TransportConfiguration(name=8a3b9a32-9361-11e4-8f47-
> >>> bb448fce34db,
> >>> >> factory=org-apache-activemq-core-remoting-impl-invm-InVMConn
> >>> ectorFactory)
> >>> >> ?server-id=0]
> >>> >>
> >>> >> 660 [main] DEBUG org.apache.activemq.ra  - registering recovery
for
> >>> >> factory : ActiveMQConnectionFactory [serverLocator=
> ServerLocatorImpl
> >>> >> [initialConnectors=[TransportConfiguration(name=8a3b9a32-
> >>> 9361-11e4-8f47-bb448fce34db,
> >>> >> factory=org-apache-activemq-core-remoting-impl-invm-InVMConn
> >>> ectorFactory)
> >>> >> ?server-id=0], discoveryGroupConfiguration=null], clientID=null,
> >>> >> consumerWindowSize = 1048576, dupsOKBatchSize=1048576,
> >>> >> transactionBatchSize=1048576, readOnly=false]
> >>> >>
> >>> >> 660 [main] INFO org.apache.activemq.ra  - ActiveMQ resource adaptor
> >>> started
> >>> >>
> >>> >>
> >>> >> However, it looks like on connecting it fails.  I see this log
> message
> >>> 10
> >>> >> times
> >>> >>
> >>> >>
> >>> >> 743 [amq-worker- - 1] DEBUG org.apache.activemq.core.client  -
> Trying
> >>> >> reconnection attempt 0/1
> >>> >>
> >>> >> 743 [amq-worker- - 1] DEBUG org.apache.activemq.core.client  -
> Trying
> >>> to
> >>> >> connect with connector =
> >>> >> org.apache.activemq.core.remoting.impl.invm.InVMConnectorFac
> >>> tory@6968dc8d,
> >>> >> parameters = {server-id=0} connector = null
> >>> >>
> >>> >> 743 [amq-worker- - 1] DEBUG org.apache.activemq.core.client  -
> >>> Connector
> >>> >> towards org.apache.activemq.core.remoting.impl.invm.InVMConnector@
> >>> 51aed0b7
> >>> >> failed
> >>> >>
> >>> >>
> >>> >> with different factories and connectors.  Finally the stack trace
on
> >>> >> failure ends up looking like this:
> >>> >>
> >>> >> javax.jms.JMSException: Failed to create session factory
> >>> >>
> >>> >> at
> >>> >> org.apache.activemq.core.client.impl.ServerLocatorImpl.creat
> >>> eSessionFactory(ServerLocatorImpl.java:928)
> >>> >>
> >>> >> at
> >>> >> org.apache.activemq.jms.client.ActiveMQConnectionFactory.cre
> >>> ateConnectionInternal(ActiveMQConnectionFactory.java:673)
> >>> >>
> >>> >> at
> >>> >> org.apache.activemq.jms.client.ActiveMQConnectionFactory.cre
> >>> ateXAConnection(ActiveMQConnectionFactory.java:209)
> >>> >>
> >>> >> at
> >>> >> org.apache.activemq.jms.client.ActiveMQConnectionFactory.cre
> >>> ateXAConnection(ActiveMQConnectionFactory.java:204)
> >>> >>
> >>> >> at
> >>> >> org.apache.activemq.ra.ActiveMQRAManagedConnection.setup(Act
> >>> iveMQRAManagedConnection.java:906)
> >>> >>
> >>> >> at
> >>> >> org.apache.activemq.ra.ActiveMQRAManagedConnection.<init>(Ac
> >>> tiveMQRAManagedConnection.java:170)
> >>> >>
> >>> >>  at
> >>> >> org.apache.activemq.ra.ActiveMQRAManagedConnectionFactory.
> >>> createManagedConnection(ActiveMQRAManagedConnectionFactory.java:164)
> >>> >>
> >>> >>
> >>> >> John
> >>> >>
> >>> >> On Sat Jan 03 2015 at 10:42:20 AM John D. Ament <
> johndament@apache.org
> >>> >
> >>> >> wrote:
> >>> >>
> >>> >>> Hi,
> >>> >>>
> >>> >>> So I'm tinkering around a bit to port TomEE to use ActiveMQ
6
> instead
> >>> of
> >>> >>> ActiveMQ 5.10, mostly so that we can do JMS 2.0 support.
> >>> >>>
> >>> >>> The original code is based around the original
> >>> ActiveMQResourceAdapter.
> >>> >>> I started porting the code over to use the new one, however
I've
> run
> >>> into a
> >>> >>> hitch.
> >>> >>>
> >>> >>> If I leverage your resource adapter, I get an error:
> >>> >>>
> >>> >>> java.lang.IllegalArgumentException: must provide either
> >>> TransportType or
> >>> >>> DiscoveryGroupAddress and DiscoveryGroupPort for ActiveMQ
> >>> ResourceAdapter
> >>> >>> Connection Factory
> >>> >>>
> >>> >>> at org.apache.activemq.ra.ActiveMQResourceAdapter.
> >>> >>> createActiveMQConnectionFactory(ActiveMQResourceAdapter.java:1987)
> >>> >>>
> >>> >>> at org.apache.activemq.ra.ActiveMQResourceAdapter.setup(
> >>> >>> ActiveMQResourceAdapter.java:1788)
> >>> >>>
> >>> >>> at org.apache.activemq.ra.ActiveMQResourceAdapter.start(
> >>> >>> ActiveMQResourceAdapter.java:261)
> >>> >>>
> >>> >>>
> >>> >>> However, there are no tests to show how to properly configure
this,
> >>> and I
> >>> >>> can't find anything about using the resource adapter in the
HornetQ
> >>> docs.
> >>> >>> For what I'm trying to do right now, the InVM connector is
enough.
> >>> How
> >>> >>> would I configure the resource adapter to use the InVM connector?
> >>> >>>
> >>> >>>
> >>> >>> I'll aim to deal with the TCP based connectors later.
> >>> >>>
> >>> >>> Thanks,
> >>> >>>
> >>> >>>
> >>> >>> John
> >>> >>>
> >>> >>
> >>>
> >>>
> >>>
> >>> --
> >>> Clebert Suconic
> >>> http://community.jboss.org/people/clebert.suconic@jboss.com
> >>> http://clebertsuconic.blogspot.com
> >>>
> >>
>
>
>
> --
> Clebert Suconic
> http://community.jboss.org/people/clebert.suconic@jboss.com
> http://clebertsuconic.blogspot.com
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message