Hi,
I am trying to use the JPAContainer 3.1.1 with EclipseLink 2.6.0-M3, Postgresql and Glassfish 4.1. But when I try to commit my first Entity I get this error (I am only showing the important part):
Caused by: java.lang.RuntimeException: javax.transaction.NotSupportedException: Nested transaction not supported.
at com.vaadin.addon.jpacontainer.provider.jndijta.Util.runInJTATransaction(Util.java:58)
at com.vaadin.addon.jpacontainer.provider.jndijta.CachingBatchableEntityProvider.runInTransaction(CachingBatchableEntityProvider.java:54)
at com.vaadin.addon.jpacontainer.provider.MutableLocalEntityProvider.addEntity(MutableLocalEntityProvider.java:137)
at com.vaadin.addon.jpacontainer.provider.CachingMutableLocalEntityProvider.addEntity(CachingMutableLocalEntityProvider.java:164)
at com.vaadin.addon.jpacontainer.BufferedContainerDelegate$1.batchUpdate(BufferedContainerDelegate.java:223)
... 69 more
Caused by: javax.transaction.NotSupportedException: Nested transaction not supported.
at com.sun.enterprise.transaction.JavaEETransactionManagerSimplified.begin(JavaEETransactionManagerSimplified.java:813)
at com.sun.enterprise.transaction.JavaEETransactionManagerSimplified.begin(JavaEETransactionManagerSimplified.java:801)
at com.sun.enterprise.transaction.UserTransactionImpl.begin(UserTransactionImpl.java:169)
at com.vaadin.addon.jpacontainer.provider.jndijta.Util.runInJTATransaction(Util.java:45)
for this stack:
com.vaadin.addon.jpacontainer.provider.jndijta.Util.runInJTATransaction(Util.java:45)
com.vaadin.addon.jpacontainer.provider.jndijta.CachingBatchableEntityProvider.runInTransaction(CachingBatchableEntityProvider.java:54)
com.vaadin.addon.jpacontainer.provider.MutableLocalEntityProvider.addEntity(MutableLocalEntityProvider.java:137)
com.vaadin.addon.jpacontainer.provider.CachingMutableLocalEntityProvider.addEntity(CachingMutableLocalEntityProvider.java:164)
com.vaadin.addon.jpacontainer.BufferedContainerDelegate$1.batchUpdate(BufferedContainerDelegate.java:223)
com.vaadin.addon.jpacontainer.provider.CachingBatchableLocalEntityProvider$1.run(CachingBatchableLocalEntityProvider.java:73)
com.vaadin.addon.jpacontainer.provider.jndijta.Util.runInJTATransaction(Util.java:46)
com.vaadin.addon.jpacontainer.provider.jndijta.CachingBatchableEntityProvider.runInTransaction(CachingBatchableEntityProvider.java:54)
com.vaadin.addon.jpacontainer.provider.CachingBatchableLocalEntityProvider.batchUpdate(CachingBatchableLocalEntityProvider.java:70)
com.vaadin.addon.jpacontainer.BufferedContainerDelegate.commit(BufferedContainerDelegate.java:214)
com.vaadin.addon.jpacontainer.JPAContainer.commit(JPAContainer.java:1272)
Which will span two nested transactions, one for the whole batch and one for adding one entity. The Entity provider javadoc says that only one transaction is used for the whole batch so I dont see what am I doing wrong hereā¦
Thank you
Bruno