Aries transaction control has a lot of good parts. Unfortunately though
it is an all or nothing solution.
It works well if you directly depend on Aries transaction control in
your user code. Unfortunately this makes the code OSGi only. So this is
not an option for many projects like CXF or Camel.
The benefit of pax-jdbc-config and pax-jdbc-pool* ist that it provides a
XA ready DataSource that can be leveraged by code that is OSGi agnostic.
So I think there is a need for the same in the JMS space. So why not
focus on jms only and call the project pax-jms? In fact there already is
such a project that we could build on and extend for XA features.
Christian
On 16.06.2017 11:29, Timothy Ward wrote:
The Transaction Control project in Aries does have a pretty complete overlap
with what’s being proposed here. There are already resource providers for JPA
and JDBC which provide connection pooling, resource local transactions and XA
transactions. It would be great to get some input into a JMS resource provider
to extend the set of supported resource types.
The Aries TX control code already includes a base resource project for adding
Resource providers which should help to ensure correct lifecycle management -
I’d be happy to talk through that code in more detail. Contributing JMS support
should therefore be a (relatively) simple process of providing the necessary
JMS customisation much like with JDBC.
Happy to help,
Tim
On 16 Jun 2017, at 10:20, Grzegorz Grzybek <[email protected]> wrote:
+1
Great about forking tranql - finally ;)
regards
Grzegorz
2017-06-16 11:16 GMT+02:00 Richard Nicholson <[email protected]>:
Doesn’t this directly clash with OSGi Alliance Transaction Control
Specification work going on in Aries?
If so, wouldn’t it make more sense for this community to input into that
work rather than cause needless confusion / fragmentation?
Just a thought.
On 15 Jun 2017, at 13:55, Toni Menzel <[email protected]> wrote:
Sounds interesting!
Two comments:
- i find the whole space of "pooling resources" a not confusing and
hard
to find out what you actually really need. So, say once you know you
want
takaricp, which other bridges and matching configs do you need so that
the
DataSource proxy (for JDBC) appears in your Service Registry. Maybe
it's
just me not following bridge provider-projects like Aries too closely.
Anything that makes setup simpler and offers a wider range of options
is
highly welcome. (particularly in the OPS4J community, or how Bndtools
people say "P A X" ;)
- Any reason why this is not Pax Tx (org.ops4j.pax.tx) ?Find the
Transx a bit alien. just an idea.
Thanks for your heads up, JB about karaf-boot. Was wondering what
happened
to it.
Toni
On Thu, Jun 15, 2017 at 1:58 PM, Achim Nierbeck <[email protected]
wrote:
Hi Guillaume,
sounds like a good idea to me, and the pax space like the perfect eco
system :)
regards, Achim
2017-06-15 10:20 GMT+02:00 Jean-Baptiste Onofré <[email protected]>:
+1
It sounds like a good idea and definitely a good candidate for PAX.
By the way, on my side, I did good progress on:
- karaf sample & new dev guide
- some new updates on karaf-boot
- ServiceMix APIMan for API/Service Discovery, Management, Gateway
But I will send an update in separate threads.
Regards
JB
On 06/15/2017 09:57 AM, Guillaume Nodet wrote:
I began to work on a small project which aims at providing support for
pooled XA-enabled connections for JDBC and JMS.
For JDBC, the problem was already solved in pax-jdbc by using either
pax-jdbc-pool-aries when deploying the Aries/Geronimo transaction
manager,
and by using pax-jdbc-pool-narayana when using the Narayana
transaction
manager.
However, there's absolutely no support for JMS.
So what I've been doing is to reuse the geronimo JCA connector, make
it
independent on Geronimo TM and add support for Narayana, use a clone
of
the
old tranql adapter for JDBC and rewrite a new JMS 2.0 compatible
adapter
for JMS.
It's not in a usable state yet, but I wanted to give an heads-up.
My plan is to make the pooling almost transparent in OSGi, and reuse
it
instead of the connection pooling I added to Karaf a few weeks ago
which
does not support XA or recovery:
https://github.com/apache/karaf/tree/master/jms/pool
and maybe to plug it into pax-jdbc to replace pax-jdbc-pool-aries and
pax-jdbc-pool-narayana.
The source code is currently available at:
https://github.com/gnodet/org.ops4j.pax.transx
Cheers,
--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com
--
Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
Committer &
Project Lead
blog <http://notizblog.nierbeck.de/>
Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
Software Architect / Project Manager / Scrum Master
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
http://www.talend.com