Hi,
This is something not related to exactly with the Primefaces components, rather this is something MyEclipse for Spring code generated Primefaces gives trouble in runtime.
All the things were going smoothly, But didn't get the exact idea, what fails, when more functionality has been introduced, The basic functionality is having the issue related to the Session Timeout, with no change in the config.
javax.persistence.PersistenceException: org.hibernate.SessionException: Session is closed!
java.lang.IllegalStateException: This method needs a transaction for the calling thread and none exists.
at com.atomikos.icatch.jta.TransactionManagerImp.raiseNoTransaction(TransactionManagerImp.java:237)
at com.atomikos.icatch.jta.TransactionManagerImp.setRollbackOnly(TransactionManagerImp.java:650)
at com.atomikos.icatch.jta.UserTransactionManager.setRollbackOnly(UserTransactionManager.java:199)
at org.hibernate.ejb.AbstractEntityManagerImpl.markAsRollback(AbstractEntityManagerImpl.java:959)
at org.hibernate.ejb.AbstractEntityManagerImpl.handlePersistenceException(AbstractEntityManagerImpl.java:1147)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1236)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1168)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:250)
at esuite.erp.solution.common.MasterBean.getFiltered(MasterBean.java:185)
within 2/3 rounds of transactions creations, The fatal error is coming with the server, saying 'Session is closed'.
Any one is having any idea surrounds to this.
Please help.
Session Closed
-
- Posts: 31
- Joined: 15 Oct 2011, 14:12
- Location: Mumbai, India
Thanks,
Murli Israni
Murli Israni
-
- Posts: 31
- Joined: 15 Oct 2011, 14:12
- Location: Mumbai, India
<p:selectOneMenu size="1" value="#{CustomerBean.bizzPartner.epBizzPartner.type}"
effect="drop" disabled="#{CustomerBean.editMode == false}">
<f:selectItems
value="#{MasterBean.getFiltered('CUSTOMER', 'TYPE', true, '')}" />
</p:selectOneMenu>
synchronized public List getFiltered(String module, String type, boolean asOptions, String selectOption) {
String queryCommand = "select myEpMaster from EpMaster myEpMaster where myEpMaster.active = ?1 and myEpMaster.module like ?2 and myEpMaster.type like ?3";
Object[] parameters = {true, BeanUtilities.getValue(module), BeanUtilities.getValue(type)};
Query query = epMasterDAO.createQuery(queryCommand, -1, -1, parameters);
List list = query.getResultList();
// masterDAO.flush();
List outputList = new ArrayList();
populate(outputList, list, asOptions, selectOption);
return outputList;
}
Same code fails for Multi-Cycle of transactions, Though it was working finr for Customer Mgmt CRUD operations.
For sure issue is with config, But still I have doubt on the Synchronization of the loading of the f:selectItems, If multiple components are loaded on load of the page, form DB.
effect="drop" disabled="#{CustomerBean.editMode == false}">
<f:selectItems
value="#{MasterBean.getFiltered('CUSTOMER', 'TYPE', true, '')}" />
</p:selectOneMenu>
synchronized public List getFiltered(String module, String type, boolean asOptions, String selectOption) {
String queryCommand = "select myEpMaster from EpMaster myEpMaster where myEpMaster.active = ?1 and myEpMaster.module like ?2 and myEpMaster.type like ?3";
Object[] parameters = {true, BeanUtilities.getValue(module), BeanUtilities.getValue(type)};
Query query = epMasterDAO.createQuery(queryCommand, -1, -1, parameters);
List list = query.getResultList();
// masterDAO.flush();
List outputList = new ArrayList();
populate(outputList, list, asOptions, selectOption);
return outputList;
}
Same code fails for Multi-Cycle of transactions, Though it was working finr for Customer Mgmt CRUD operations.
For sure issue is with config, But still I have doubt on the Synchronization of the loading of the f:selectItems, If multiple components are loaded on load of the page, form DB.
Thanks,
Murli Israni
Murli Israni
-
- PrimeFaces Core Developer
- Posts: 3979
- Joined: 03 Dec 2010, 14:11
- Location: Bavaria, DE
- Contact:
Did you add org.springframework.orm.hibernate3.support.OpenSessionInViewFilter into your web.xml? Maybe this helps
Thomas Andraschko
PrimeFaces | PrimeFaces Extensions
Apache Member | OpenWebBeans, DeltaSpike, MyFaces, BVal, TomEE
Sponsor me: https://github.com/sponsors/tandraschko
Blog: http://tandraschko.blogspot.de/
Twitter: https://twitter.com/TAndraschko
PrimeFaces | PrimeFaces Extensions
Apache Member | OpenWebBeans, DeltaSpike, MyFaces, BVal, TomEE
Sponsor me: https://github.com/sponsors/tandraschko
Blog: http://tandraschko.blogspot.de/
Twitter: https://twitter.com/TAndraschko
-
- Posts: 31
- Joined: 15 Oct 2011, 14:12
- Location: Mumbai, India
2011-10-15 23:23:04,830 ERROR [http-8080-3] AbstractEntityManagerImpl - Unable to mark for rollback on PersistenceException:
java.lang.IllegalStateException: This method needs a transaction for the calling thread and none exists.
Possible causes: either you didn't start a transaction,
it rolledback due to timeout, or it was committed already.
ACTIONS: You can try one of the following:
1. Make sure you started a transaction for the thread.
2. Make sure you didn't terminate it yet.
3. Increase the transaction timeout to avoid automatic rollback of long transactions;
check http://www.atomikos.com/Documentation/JtaProperties for how to do this.
at com.atomikos.icatch.jta.TransactionManagerImp.raiseNoTransaction(TransactionManagerImp.java:237)
at com.atomikos.icatch.jta.TransactionManagerImp.setRollbackOnly(TransactionManagerImp.java:650)
at com.atomikos.icatch.jta.UserTransactionManager.setRollbackOnly(UserTransactionManager.java:199)
at org.hibernate.ejb.AbstractEntityManagerImpl.markAsRollback(AbstractEntityManagerImpl.java:959)
at org.hibernate.ejb.AbstractEntityManagerImpl.handlePersistenceException(AbstractEntityManagerImpl.java:1147)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1236)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1168)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:250)
at esuite.erp.solution.common.MasterBean.getFiltered(MasterBean.java:185)
Added the same - But No progress.
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<!-- put here your own path for your Tapestry url-pattern -->
<url-pattern>/</url-pattern>
</filter-mapping>
java.lang.IllegalStateException: This method needs a transaction for the calling thread and none exists.
Possible causes: either you didn't start a transaction,
it rolledback due to timeout, or it was committed already.
ACTIONS: You can try one of the following:
1. Make sure you started a transaction for the thread.
2. Make sure you didn't terminate it yet.
3. Increase the transaction timeout to avoid automatic rollback of long transactions;
check http://www.atomikos.com/Documentation/JtaProperties for how to do this.
at com.atomikos.icatch.jta.TransactionManagerImp.raiseNoTransaction(TransactionManagerImp.java:237)
at com.atomikos.icatch.jta.TransactionManagerImp.setRollbackOnly(TransactionManagerImp.java:650)
at com.atomikos.icatch.jta.UserTransactionManager.setRollbackOnly(UserTransactionManager.java:199)
at org.hibernate.ejb.AbstractEntityManagerImpl.markAsRollback(AbstractEntityManagerImpl.java:959)
at org.hibernate.ejb.AbstractEntityManagerImpl.handlePersistenceException(AbstractEntityManagerImpl.java:1147)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1236)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1168)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:250)
at esuite.erp.solution.common.MasterBean.getFiltered(MasterBean.java:185)
Added the same - But No progress.
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<!-- put here your own path for your Tapestry url-pattern -->
<url-pattern>/</url-pattern>
</filter-mapping>
Thanks,
Murli Israni
Murli Israni
-
- Posts: 31
- Joined: 15 Oct 2011, 14:12
- Location: Mumbai, India
Configuration follows as -
<bean id="atomikosTransactionManager" class="com.atomikos.icatch.jta.UserTransactionManager" init-method="init"
destroy-method="close" depends-on="userTransactionService">
<property name="forceShutdown" value="false" />
<property name="startupTransactionService" value="true" />
<property name="transactionTimeout" value="999999" />
</bean>
<bean id="atomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp">
<property name="transactionTimeout" value="999999"/>
</bean>
<bean id="userTransactionService" class="com.atomikos.icatch.config.UserTransactionServiceImp" init-method="init" destroy-method="shutdownForce">
<constructor-arg>
<props>
<prop key="com.atomikos.icatch.max_timeout">3600000</prop>
</props>
</constructor-arg>
</bean>
But there is no changes in run-time -
Caused by: org.springframework.transaction.UnexpectedRollbackException: JTA transaction unexpectedly rolled back (maybe due to a timeout); nested exception is javax.transaction.RollbackException: The transaction was set to rollback only
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1012)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
at esuite.erp.solution.bizzPartner.BizzPartnerManager$$EnhancerByCGLIB$$9be863fe.filter(<generated>)
at esuite.erp.solution.bizzPartner.CustomerBean.filter(CustomerBean.java:195)
at esuite.erp.solution.bizzPartner.CustomerBean$$FastClassByCGLIB$$ca0475aa.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:617)
at esuite.erp.solution.bizzPartner.CustomerBean$$EnhancerByCGLIB$$2c32e554.filter(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy26.filter(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.el.BeanELResolver.invokeMethod(BeanELResolver.java:737)
at javax.el.BeanELResolver.invoke(BeanELResolver.java:467)
at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:246)
at com.sun.el.parser.AstValue.getValue(AstValue.java:111)
at com.sun.el.parser.AstValue.getValue(AstValue.java:163)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:106)
at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:95)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:106)
... 61 more
Caused by: javax.transaction.RollbackException: The transaction was set to rollback only
at com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:312)
at com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:612)
at com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:168)
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1009)
... 99 more
Please help to get this off.
<bean id="atomikosTransactionManager" class="com.atomikos.icatch.jta.UserTransactionManager" init-method="init"
destroy-method="close" depends-on="userTransactionService">
<property name="forceShutdown" value="false" />
<property name="startupTransactionService" value="true" />
<property name="transactionTimeout" value="999999" />
</bean>
<bean id="atomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp">
<property name="transactionTimeout" value="999999"/>
</bean>
<bean id="userTransactionService" class="com.atomikos.icatch.config.UserTransactionServiceImp" init-method="init" destroy-method="shutdownForce">
<constructor-arg>
<props>
<prop key="com.atomikos.icatch.max_timeout">3600000</prop>
</props>
</constructor-arg>
</bean>
But there is no changes in run-time -
Caused by: org.springframework.transaction.UnexpectedRollbackException: JTA transaction unexpectedly rolled back (maybe due to a timeout); nested exception is javax.transaction.RollbackException: The transaction was set to rollback only
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1012)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
at esuite.erp.solution.bizzPartner.BizzPartnerManager$$EnhancerByCGLIB$$9be863fe.filter(<generated>)
at esuite.erp.solution.bizzPartner.CustomerBean.filter(CustomerBean.java:195)
at esuite.erp.solution.bizzPartner.CustomerBean$$FastClassByCGLIB$$ca0475aa.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:617)
at esuite.erp.solution.bizzPartner.CustomerBean$$EnhancerByCGLIB$$2c32e554.filter(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy26.filter(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.el.BeanELResolver.invokeMethod(BeanELResolver.java:737)
at javax.el.BeanELResolver.invoke(BeanELResolver.java:467)
at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:246)
at com.sun.el.parser.AstValue.getValue(AstValue.java:111)
at com.sun.el.parser.AstValue.getValue(AstValue.java:163)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:106)
at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:95)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:106)
... 61 more
Caused by: javax.transaction.RollbackException: The transaction was set to rollback only
at com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:312)
at com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:612)
at com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:168)
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1009)
... 99 more
Please help to get this off.
Thanks,
Murli Israni
Murli Israni
-
- PrimeFaces Core Developer
- Posts: 3979
- Joined: 03 Dec 2010, 14:11
- Location: Bavaria, DE
- Contact:
Maybe there is something wrong wit atomikos? (i dont know what it is)
Thomas Andraschko
PrimeFaces | PrimeFaces Extensions
Apache Member | OpenWebBeans, DeltaSpike, MyFaces, BVal, TomEE
Sponsor me: https://github.com/sponsors/tandraschko
Blog: http://tandraschko.blogspot.de/
Twitter: https://twitter.com/TAndraschko
PrimeFaces | PrimeFaces Extensions
Apache Member | OpenWebBeans, DeltaSpike, MyFaces, BVal, TomEE
Sponsor me: https://github.com/sponsors/tandraschko
Blog: http://tandraschko.blogspot.de/
Twitter: https://twitter.com/TAndraschko
-
- Information
-
Who is online
Users browsing this forum: No registered users and 43 guests