The current aries jpa (master) works quite well with updates of the persistence unit bundles. In the 1.x aries jpa I was never able to do a successful update because of this issue https://issues.apache.org/jira/browse/ARIES-1270 .

In the new version the EntityManagers are closed after each request. If the persistence unit bundle is updated then the old EntityManagerFactory is unpublished and closed as soon as all EntityManagers are closed. At the same time a new EntityManagerFactory is published that will be picked up for any new transactions. So the implementation should not need Quiesce to be able to cope with updates.

Additionally we still have the blueprint quiesce which will shut down all blueprint services that are the entry point for the acceses to jpa. So if you do a blueprint quiesce there should be no open EntityManager instances after a short period anyway.

So with those two mechanisms I think there is no need to implement Quiesce in aries jpa 2.0 without loosing functionality. Besides that I have created a 1.x branch. So we will be able to maintain the old style bundles if people do not want to switch.

The last argument is that the current implementation largely works without proxies of the EMF and EM. So it is a lot easier to understand and there is less room for problems. If we would implement Quiesce then we probably would have to introduce such proxies again with all the problems they bring.

Christian

On 18.06.2015 15:19, Jeremy Hughes wrote:
Hi Sebastian, I guess I wasn't watching when the discussion happened
in April - sorry about that. We had a discussion before then about the
quiesce scenario with JPA. I see that the quiesce modules are no
longer used by JPA. Can you describe how quiesce is now achieved in
the new implementation. Without it, ie removing something users rely
on, I'd be a -1 on this release.

Thanks,
Jeremy


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

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

Reply via email to