Clebert,

On Sat Jan 03 2015 at 1:11:57 PM Clebert Suconic <[email protected]>
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 <[email protected]>
> 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 <[email protected]>
> > 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.
> ActiveMQRegistryImpl@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-
> InVMConnectorFactory)
> >> ?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-
> InVMConnectorFactory)
> >> ?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-
> InVMConnectorFactory)
> >> ?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.
> InVMConnectorFactory@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.
> createSessionFactory(ServerLocatorImpl.java:928)
> >>
> >> at
> >> org.apache.activemq.jms.client.ActiveMQConnectionFactory.
> createConnectionInternal(ActiveMQConnectionFactory.java:673)
> >>
> >> at
> >> org.apache.activemq.jms.client.ActiveMQConnectionFactory.
> createXAConnection(ActiveMQConnectionFactory.java:209)
> >>
> >> at
> >> org.apache.activemq.jms.client.ActiveMQConnectionFactory.
> createXAConnection(ActiveMQConnectionFactory.java:204)
> >>
> >> at
> >> org.apache.activemq.ra.ActiveMQRAManagedConnection.setup(
> ActiveMQRAManagedConnection.java:906)
> >>
> >> at
> >> org.apache.activemq.ra.ActiveMQRAManagedConnection.<init>(
> ActiveMQRAManagedConnection.java:170)
> >>
> >>  at
> >> org.apache.activemq.ra.ActiveMQRAManagedConnectionFac
> tory.createManagedConnection(ActiveMQRAManagedConnectionFactory.java:164)
> >>
> >>
> >> John
> >>
> >> On Sat Jan 03 2015 at 10:42:20 AM John D. Ament <[email protected]>
> >> 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/[email protected]
> http://clebertsuconic.blogspot.com
>

Reply via email to