You're right: cold-deploying the app I don't get anymore an IllegalWhatever 
exception due to an already-started transaction from the non-seam servlet.

But now I get the following when accessing a parametrized page (eg.: 
thepage.jsf?c=3) from the very same page but different parameter (eg: from 
thepage.jsf?c=1) AND the switch happens in the very same HTTP connection (ie: 
the browser and tomcat are using an "http persistent connection").


  | type Exception report
  | 
  | message 
  | 
  | description The server encountered an internal error () that prevented it 
from fulfilling this request.
  | 
  | exception 
  | 
  | javax.servlet.ServletException: could not register synchronization with JTA 
TransactionManager
  |     
org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:52)
  |     
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 
  | 
  | root cause 
  | 
  | javax.servlet.ServletException: could not register synchronization with JTA 
TransactionManager
  |     javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
  |     
it.edlui.confesercenti.web.filter.ClientCacheDisableFilter.doFilter(ClientCacheDisableFilter.java:43)
  |     
org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:23)
  |     
org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:45)
  |     
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 
  | 
  | root cause 
  | 
  | org.hibernate.TransactionException: could not register synchronization with 
JTA TransactionManager
  |     
org.hibernate.jdbc.JDBCContext.registerSynchronizationIfPossible(JDBCContext.java:174)
  |     
org.hibernate.impl.SessionImpl.checkTransactionSynchStatus(SessionImpl.java:1824)
  |     org.hibernate.impl.SessionImpl.getSessionFactory(SessionImpl.java:1669)
  |     
org.hibernate.ejb.AbstractEntityManagerImpl.markAsRollback(AbstractEntityManagerImpl.java:388)
  |     
org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:540)
  |     
org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:562)
  |     
org.hibernate.ejb.AbstractEntityManagerImpl.joinTransaction(AbstractEntityManagerImpl.java:513)
  |     
org.hibernate.ejb.AbstractEntityManagerImpl.postInit(AbstractEntityManagerImpl.java:71)
  |     org.hibernate.ejb.EntityManagerImpl.<init>(EntityManagerImpl.java:35)
  |     
org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:37)
  |     
org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:32)
  |     
org.jboss.ejb3.entity.InjectedEntityManagerFactory.createEntityManager(InjectedEntityManagerFactory.java:76)
  |     
org.jboss.seam.core.ManagedPersistenceContext.create(ManagedPersistenceContext.java:53)
  |     sun.reflect.GeneratedMethodAccessor256.invoke(Unknown Source)
  |     
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     java.lang.reflect.Method.invoke(Method.java:585)
  |     org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
  |     org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:32)
  |     org.jboss.seam.Component.callComponentMethod(Component.java:1166)
  |     org.jboss.seam.Component.callCreateMethod(Component.java:1151)
  |     org.jboss.seam.Component.newInstance(Component.java:1140)
  |     org.jboss.seam.Component.getInstance(Component.java:1088)
  |     org.jboss.seam.Component.getInstance(Component.java:1071)
  |     org.jboss.seam.Component.getInstanceToInject(Component.java:1195)
  |     org.jboss.seam.Component.injectFields(Component.java:879)
  |     org.jboss.seam.Component.inject(Component.java:686)
  |     
org.jboss.seam.interceptors.BijectionInterceptor.bijectTargetComponent(BijectionInterceptor.java:30)
  |     sun.reflect.GeneratedMethodAccessor112.invoke(Unknown Source)
  |     
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     java.lang.reflect.Method.invoke(Method.java:585)
  |     org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
  |     
org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
  |     
org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
  |     
org.jboss.seam.interceptors.ConversationInterceptor.endOrBeginLongRunningConversation(ConversationInterceptor.java:68)
  |     sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source)
  |     
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     java.lang.reflect.Method.invoke(Method.java:585)
  |     org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
  |     
org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
  |     
org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
  |     
org.jboss.seam.interceptors.BusinessProcessInterceptor.manageBusinessProcessContext(BusinessProcessInterceptor.java:60)
  |     sun.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
  |     
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     java.lang.reflect.Method.invoke(Method.java:585)
  |     org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
  |     
org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
  |     
org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
  |     
org.jboss.seam.interceptors.RemoveInterceptor.removeIfNecessary(RemoveInterceptor.java:39)
  |     sun.reflect.GeneratedMethodAccessor109.invoke(Unknown Source)
  |     
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     java.lang.reflect.Method.invoke(Method.java:585)
  |     org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
  |     
org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
  |     
org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
  |     
org.jboss.seam.ejb.SeamInterceptor.aroundInvokeInContexts(SeamInterceptor.java:73)
  |     org.jboss.seam.ejb.SeamInterceptor.aroundInvoke(SeamInterceptor.java:45)
  |     
org.jboss.seam.interceptors.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:51)
  |     
org.jboss.seam.interceptors.JavaBeanInterceptor.intercept(JavaBeanInterceptor.java:39)
  |     
it.myown.seam.ThisIsAComponentWithEntityManagerInjection$$EnhancerByCGLIB$$e6ba7c40.getRootCategories(<generated>)
  | 

Donno how Tomcat handles http persistent connections, but it may be that more 
requests are run in the very same thread (request -> suspend for I/O -> request 
etc. etc.).

If I copy the link heading toward thepage.jsf?c=3 from thepage.jsf?c=1, paste 
it to the browsers' address field and press "go", the exception isn't thrown 
(and images look fine, too).

Also, when the exception is thrown, reloading the page works (maybe tomcat 
closes the http conn on exceptions).

Again, after a while an exception had been thrown, I get this nice other stuff 
in the server logfile:


  | 02:36:28,468 ERROR [Naming] Could not obtain initial context
  | javax.naming.NoInitialContextException: Cannot instantiate class: 
org.jnp.interfaces.NamingContextFactory [Root exception is 
java.lang.ClassNotFoundException: org/jnp/interfaces/NamingContextFactory]
  |     at 
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
  |     at 
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
  |     at javax.naming.InitialContext.init(InitialContext.java:223)
  |     at javax.naming.InitialContext.<init>(InitialContext.java:197)
  |     at org.jboss.seam.util.Naming.getInitialContext(Naming.java:26)
  |     at org.jboss.seam.util.Naming.getInitialContext(Naming.java:37)
  |     at 
org.jboss.seam.core.ManagedPersistenceContext.getEntityManagerFactory(ManagedPersistenceContext.java:83)
  |     at 
org.jboss.seam.core.ManagedPersistenceContext.create(ManagedPersistenceContext.java:53)
  |     at sun.reflect.GeneratedMethodAccessor256.invoke(Unknown Source)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:585)
  |     at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
  |     at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:32)
  |     at org.jboss.seam.Component.callComponentMethod(Component.java:1166)
  |     at org.jboss.seam.Component.callCreateMethod(Component.java:1151)
  |     at org.jboss.seam.Component.newInstance(Component.java:1140)
  |     at org.jboss.seam.Component.getInstance(Component.java:1088)
  |     at org.jboss.seam.Component.getInstance(Component.java:1071)
  |     at org.jboss.seam.Component.getInstanceToInject(Component.java:1195)
  |     at org.jboss.seam.Component.injectFields(Component.java:879)
  |     at org.jboss.seam.Component.inject(Component.java:686)
  |     at 
org.jboss.seam.interceptors.BijectionInterceptor.bijectTargetComponent(BijectionInterceptor.java:30)
  |     at sun.reflect.GeneratedMethodAccessor112.invoke(Unknown Source)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:585)
  |     at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
  |     at 
org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
  |     at 
org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
  |     at 
org.jboss.seam.interceptors.ConversationInterceptor.endOrBeginLongRunningConversation(ConversationInterceptor.java:68)
  |     at sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:585)
  |     at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
  |     at 
org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
  |     at 
org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
  |     at 
org.jboss.seam.interceptors.BusinessProcessInterceptor.manageBusinessProcessContext(BusinessProcessInterceptor.java:60)
  |     at sun.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:585)
  |     at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
  |     at 
org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
  |     at 
org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
  |     at 
org.jboss.seam.interceptors.RemoveInterceptor.removeIfNecessary(RemoveInterceptor.java:39)
  |     at sun.reflect.GeneratedMethodAccessor109.invoke(Unknown Source)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:585)
  |     at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
  |     at 
org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
  |     at 
org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
  |     at 
org.jboss.seam.ejb.SeamInterceptor.aroundInvokeInContexts(SeamInterceptor.java:73)
  |     at 
org.jboss.seam.ejb.SeamInterceptor.aroundInvoke(SeamInterceptor.java:55)
  |     at 
org.jboss.seam.interceptors.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:51)
  |     at 
org.jboss.seam.interceptors.JavaBeanInterceptor.intercept(JavaBeanInterceptor.java:39)
  |     at 
it.myown.seam.ThisIsAnotherComponentWithEntityManagerInjection$$EnhancerByCGLIB$$43b3d843.finalize(<generated>)
  |     at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
  |     at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
  |     at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
  |     at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
  | Caused by: java.lang.ClassNotFoundException: 
org/jnp/interfaces/NamingContextFactory
  |     at java.lang.Class.forName0(Native Method)
  |     at java.lang.Class.forName(Class.java:242)
  |     at 
com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:42)
  |     at 
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
  |     ... 57 more
  | 

Seems something related to finalizing a component, but it is not the same from 
which I got the previous exception.

Seems tough, uh?

Better, seams tough... :)

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3939069#3939069

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3939069


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to