aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <Matthew.W.Pi...@wellsfargo.com>
Subject RE: OSGi transaction management (RFC-221)
Date Mon, 29 Feb 2016 14:05:00 GMT
Timothy,

Thanks for the work on this, I'm looking forward to seeing this API. What is the best way
to provide input - ideas and/or code - to the project? Currently my two major thoughts are:

1) After using lambda programming with transactions now for a few months, I'm particularly
interested in seeing some formal FuntionalInterface types that declare and throw exceptions
of the common transactional/JPA variety - including some checked ones that currently can't
be thrown from normal Java8 Function types.

2) This may be impractical for the masses, but I'm also envisioning a method-chaining like
API for doing transactional calls that lets code 'build-up' a transactional 'context' and
then execute it via a single call. Code like [1] is what is in my head and perhaps others
would like something like this too.

Thanks,
-matt

[1]
txControl.start().propagation(required()).do(em -> {}).do(em -> {}).execute();

-----Original Message-----
From: Timothy Ward [mailto:timothyjward@hotmail.com]
Sent: Monday, February 15, 2016 1:32 PM
To: dev@aries.apache.org
Subject: Re: OSGi transaction management (RFC-221)

Given the positive response I’ve started by creating an API project for the Transaction
Control Service under tx-control, I’ll move on to a coordinator-based solution for local
transactions next. Once enough of it is hanging together I’ll add it to the main build so
that snapshots start appearing in maven.

Regards,

Tim


> On 15 Feb 2016, at 13:30, Jean-Baptiste Onofré <jb@nanthrax.net> wrote:
>
> +1
>
> Regards
> JB
>
> On 02/12/2016 10:23 AM, Timothy Ward wrote:
>> Hi all,
>>
>> I’m working on a new RFC with the OSGi Alliance which is about easily controlling
transactions within OSGi components. Obviously Aries Blueprint has its own model for doing
this, but other models, such as Declarative Services (or just raw OSGi) get no help at all.
There are also issues with using proxies for transactions - internal method calls don’t
breach the proxy boundary and so don’t trigger the transaction behaviours.
>>
>> Another problem that regularly comes up on the user lists is that it’s relatively
difficult to be sure that the DataSource/EntityManager/xxx you’re using is really participating
in the transaction. There are a number of whiteboard enlisting solutions around, but it’s
still easy to pick up the wrong service, or just to forget that you need the enlistment at
all.
>>
>> I’m proposing to do the prototyping work for this RFC in Aries, with the thought
that we can provide the Reference Implementation at some point.
>>
>> I would also like to add that the impetus for this work comes from McCarthys (http://mccarthy.co.nz
<http://mccarthy.co.nz/> <http://mccarthy.co.nz/ <http://mccarthy.co.nz/>>),
who are generously sponsoring my time for this development effort and Open Source contribution.
>>
>> Regards,
>>
>> Tim
>>
>> P.S. The RFC document is available on GitHub here - https://github.com/osgi/design/blob/master/rfcs/rfc0221/rfc-0221-TransactionControl.pdf
<https://github.com/osgi/design/blob/master/rfcs/rfc0221/rfc-0221-TransactionControl.pdf>
<https://github.com/osgi/design/blob/master/rfcs/rfc0221/rfc-0221-TransactionControl.pdf
<https://github.com/osgi/design/blob/master/rfcs/rfc0221/rfc-0221-TransactionControl.pdf>>
>>
>>
>>
>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org <mailto:jbonofre@apache.org>
> http://blog.nanthrax.net <http://blog.nanthrax.net/>
> Talend - http://www.talend.com <http://www.talend.com/>
Mime
View raw message