We (will) have the following architecture:
Base.warwill be a self-contained spring-hibernate application- All applications will run under Glassfish, and may be clustered
E1.warwill sit on top ofBase.war, extending it’s functionality- There could be further extensions (
E2.war,E3.war, …) sitting on top ofBase.war - Either wars could start a transaction, and transactions could span between wars
- Without shutting down
Base.war, or any otherEx.war, it should be possible to upgrade anEy.war
Is there a solution for this with spring-hibernate-glassfish environment?
Questions to ask yourself/team:
I’ll return to point 4 – don’t do distributed transactions. You need to be really sure that distributed transactions are the best solution for you. It isn’t simple and the recommendation is to avoid them, if possible. This comes straight from Jürgen Höller, co-founder and senior developer at Spring.
Spring has no support for propagating transactions between processes, so you’ll need the container to support this or manually do this yourself.