Добрый день! Возникла проблема, при сохранении возникает експешн, соответственно должен отработать rollback транзакции, но почему-то вместо rollback возникает commit
Настройки в файле server.xml
Код:
<GlobalNamingResources>
<Resource name = "userdb" auth = "Container" type = "javax.sql.DataSource"
username = "user" password = "password"
url = "jdbc:postgresql://localhost:5432/postgres"
driverClassName = "org.postgresql.Driver"
initialSize = "5"
maxWaitMillis = "1200000"
maxTotal = "120"
maxIdle = "10"
validationQuery = "select 1"
removeAbandonedTimeout = "120"
removeAbandoned = "true"
logAbandoned = "true"
JtaManaged="true"
/>
</GlobalNamingResources>
причем если Resource перенести из файл server.xml в файл tomee.xml, то проблема уходит.
Код:
<Resource id="userdb" type="DataSource">
JdbcUrl jdbc:postgresql://localhost:5432/postgres
JdbcDriver org.postgresql.Driver
UserName user
Password password
JtaManaged true
</Resource>
Но появляется ошибка:
Код:
порождена (1): java.lang.IllegalMonitorStateException
java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:151)
java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1261)
java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:457)
org.apache.openejb.resource.jdbc.managed.local.LocalXAResource.end(LocalXAResource.java:94)
org.apache.geronimo.transaction.manager.TransactionImpl.endResources(TransactionImpl.java:588)
org.apache.geronimo.transaction.manager.TransactionImpl.endResources(TransactionImpl.java:567)
org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:414)
org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:262)
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:263)
org.apache.openejb.core.CoreUserTransaction.commit(CoreUserTransaction.java:91)
ru.program.server.JPAStatefull.commit(JPAStatefull.java:264)
java.lang.reflect.Method.invoke(Method.java:498)
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:184)
org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:103)
java.lang.reflect.Method.invoke(Method.java:498)
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
org.apache.openejb.core.stateful.StatefulContainer.businessMethod(StatefulContainer.java:729)
org.apache.openejb.core.stateful.StatefulContainer.invoke(StatefulContainer.java:379)
org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:265)
org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:260)
org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:89)
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:349)
Может кто знает как правильно настроить ресурс