Session Closed

UI Components for JSF
Post Reply
murli.p.israni
Posts: 31
Joined: 15 Oct 2011, 14:12
Location: Mumbai, India

15 Oct 2011, 17:45

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.
Thanks,
Murli Israni

murli.p.israni
Posts: 31
Joined: 15 Oct 2011, 14:12
Location: Mumbai, India

15 Oct 2011, 17:54

<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.
Thanks,
Murli Israni

tandraschko
PrimeFaces Core Developer
Posts: 3979
Joined: 03 Dec 2010, 14:11
Location: Bavaria, DE
Contact:

15 Oct 2011, 18:00

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

murli.p.israni
Posts: 31
Joined: 15 Oct 2011, 14:12
Location: Mumbai, India

15 Oct 2011, 19:54

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>
Thanks,
Murli Israni

murli.p.israni
Posts: 31
Joined: 15 Oct 2011, 14:12
Location: Mumbai, India

15 Oct 2011, 20:50

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.
Thanks,
Murli Israni

tandraschko
PrimeFaces Core Developer
Posts: 3979
Joined: 03 Dec 2010, 14:11
Location: Bavaria, DE
Contact:

15 Oct 2011, 20:56

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

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 43 guests