activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Clebert Suconic <clebert.suco...@gmail.com>
Subject Re: ActiveMQ 6 - TomEE integration
Date Sat, 03 Jan 2015 23:02:18 GMT
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
View raw message