You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by Christian Schneider <ch...@die-schneider.net> on 2015/09/20 12:38:14 UTC

[Discuss] Releases of jpa 2.2.0, transaction.blueprint 2.0.0, maven-bundle-plugin 1.2.0

I would like to do a release build of the above modules tomorrow.

For the blueprint-maven-plugin I will try to get in one more bug fix.

jpa and blueprint-maven-plugin are only small enhancements and bug fixes.

The most noteable change in jpa is to use a 
ComponentDefinitionRegistryProcessor instead of a BeanProcessor. This 
allowed to register all service references as
ordinary blueprint service references. So the user bundle now correctly 
goes into graceperiod when for example the EntityManagerFactory is 
missing. So the use will have a much better feedback what is blocking 
the start. Before we were just starting and eventually failing after the 
first call.

Transaction.blueprint is a big redesign based on only using the 
@Transactional annotations. This allowed the code to be greatly 
simplified. The old proprietary annotations as well as the xml 
description are not supported anymore. The xml elements are still 
allowed though so code produced by the blueprint-maven-plugin does not fail.
The transition for users is to first convert to @Transactional which 
works with 1.1.1 as well as 2.0.0 and then upgrade the 
transaction.blueprint bundle.
Also note that the @Transactional annotation also works on the class 
level which makes the transition quite a lot easier than adding it to 
all methods.

Here are the jira versions:
blueprint-maven-plugin-1.2.0: 
https://issues.apache.org/jira/browse/ARIES/fixforversion/12329703
jpa-2.2.0: 
https://issues.apache.org/jira/browse/ARIES/fixforversion/12333252
transaction-blueprint-2.0.0: 
https://issues.apache.org/jira/browse/ARIES/fixforversion/12333578

Christian

-- 
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com


Re: [Discuss] Releases of jpa 2.2.0, transaction.blueprint 2.0.0, maven-bundle-plugin 1.2.0

Posted by Christian Schneider <ch...@die-schneider.net>.
Short update on the current status:

I rethought how to provide a good transition for users of Aries 
transaction 1.x and jpa 1.x.
My old plan was to use the same namespace uri for transaction 2 as for 
the old one and just ignore the xml Elements besides enable-annotations. 
While this is convenient
as you do not need to change user code it means that you need to change 
all you modules in a big bang.

So instead I now plan to use a new namespace uri 2.0.0 with just the 
enable element like in jpa. The downside is that the user will have to 
adapt the xml.
The good thing though is that he can simply install transaction 
blueprint 1.x and 2.0 modules in parallel so both namespaces work. This 
should allow projects to migrate gradually.

I also added this to the maven bundle plugin. You can now give it a list 
of namespace URIs to support. It will then create xml that is compatible 
to the listed namespaces.
It will default to the jpa 2 and transaction 2 namespaces but you can 
also set it to the old ones.

The currently supported namespaces are:
"http://aries.apache.org/xmlns/jpa/v1.1.0" -> jpa support exported as xml
"http://aries.apache.org/xmlns/jpa/v2.0.0" -> jpa support based on 
annotations
"http://aries.apache.org/xmlns/transactions/v1.2.0"  -> transactions 
exported as xml
"http://aries.apache.org/xmlns/transactions/v2.0.0" -> transactions 
based on annotations

In the future I plan a plugin model for the xml generation like in 
blueprint namespaces. So for example CXF could implement a plugin to 
generate CXF blueprint xml from specific CXF annotations. The idea is to 
activate the plugins based on the listed namespaces I introduce with 
this version.

As this is a conceptual change I will delay the releases at least until 
tomorrow and will only release if there is no negative feedback from the 
community.

Christian

On 20.09.2015 12:38, Christian Schneider wrote:
> I would like to do a release build of the above modules tomorrow.
>
> For the blueprint-maven-plugin I will try to get in one more bug fix.
>
> jpa and blueprint-maven-plugin are only small enhancements and bug fixes.
>
> The most noteable change in jpa is to use a 
> ComponentDefinitionRegistryProcessor instead of a BeanProcessor. This 
> allowed to register all service references as
> ordinary blueprint service references. So the user bundle now 
> correctly goes into graceperiod when for example the 
> EntityManagerFactory is missing. So the use will have a much better 
> feedback what is blocking the start. Before we were just starting and 
> eventually failing after the first call.
>
> Transaction.blueprint is a big redesign based on only using the 
> @Transactional annotations. This allowed the code to be greatly 
> simplified. The old proprietary annotations as well as the xml 
> description are not supported anymore. The xml elements are still 
> allowed though so code produced by the blueprint-maven-plugin does not 
> fail.
> The transition for users is to first convert to @Transactional which 
> works with 1.1.1 as well as 2.0.0 and then upgrade the 
> transaction.blueprint bundle.
> Also note that the @Transactional annotation also works on the class 
> level which makes the transition quite a lot easier than adding it to 
> all methods.
>
> Here are the jira versions:
> blueprint-maven-plugin-1.2.0: 
> https://issues.apache.org/jira/browse/ARIES/fixforversion/12329703
> jpa-2.2.0: 
> https://issues.apache.org/jira/browse/ARIES/fixforversion/12333252
> transaction-blueprint-2.0.0: 
> https://issues.apache.org/jira/browse/ARIES/fixforversion/12333578
>
> Christian
>


-- 
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com