]
Alessio Soldano updated JBWS-2810:
----------------------------------
Fix Version/s: jbossws-native-3.3
(was: jbossws-native-3.2.2)
While waiting for user comment, moving to 3.3 as the proposed fix does not fit well in a
minor x.x.2 release.
UnifiedMetaData uses thread context loader to find classes, this can
lead to javassist.NotFoundException
--------------------------------------------------------------------------------------------------------
Key: JBWS-2810
URL:
https://jira.jboss.org/jira/browse/JBWS-2810
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: jbossws-native
Affects Versions: jbossws-native-3.0.1
Reporter: Johannes Rudolph
Assignee: Alessio Soldano
Fix For: jbossws-native-3.3
See this description on the seam page:
http://seamframework.org/Community/AsynchronousJavassistClassloadProblem
or another stack trace here. [1]
If you call Service.getPort from a Thread for which the context class loader is not set
correctly, the call fails like shown. This can happen, for example, when scheduled on
another Thread. Wouldn't it be better to use a ClassLoader which is more likely to
return the domain class? For example the ClassLoader of the Class object passed to the
Service.getPort call?
This gives rise to subtle bugs, where this occurs only after JBoss AS was freshly
started. After a redeploy some ClassLoader magic has happened and everything is working as
expected.
[1] (I replaced some domain Class names with XXX)
15:05:37,582 ERROR [STDERR] org.jboss.ws.WSException: Could not generate wrapper type:
XXX
15:05:37,582 ERROR [STDERR] at
org.jboss.ws.core.jaxws.DynamicWrapperGenerator.generate(DynamicWrapperGenerator.java:124)
15:05:37,582 ERROR [STDERR] at
org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilder.processWebMethod(JAXWSMetaDataBuilder.java:774)
15:05:37,582 ERROR [STDERR] at
org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilder.processWebMethods(JAXWSMetaDataBuilder.java:891)
15:05:37,584 ERROR [STDERR] at
org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.rebuildEndpointMetaData(JAXWSClientMetaDataBuilder.java:300)
15:05:37,585 ERROR [STDERR] at
org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPortInternal(ServiceDelegateImpl.java:271)
15:05:37,585 ERROR [STDERR] at
org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:202)
15:05:37,585 ERROR [STDERR] at javax.xml.ws.Service.getPort(Service.java:143)
[...]
15:05:37,585 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
15:05:37,585 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
Source)
15:05:37,585 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
15:05:37,585 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
15:05:37,585 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
15:05:37,585 ERROR [STDERR] at
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
15:05:37,585 ERROR [STDERR] at
org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:44)
15:05:37,585 ERROR [STDERR] at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
15:05:37,585 ERROR [STDERR] at
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
15:05:37,585 ERROR [STDERR] at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
15:05:37,585 ERROR [STDERR] at
org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:30)
15:05:37,586 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor255.invoke(Unknown
Source)
15:05:37,586 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
15:05:37,586 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
15:05:37,586 ERROR [STDERR] at
org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
15:05:37,586 ERROR [STDERR] at
org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:187)
15:05:37,586 ERROR [STDERR] at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:72)
15:05:37,586 ERROR [STDERR] at
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
15:05:37,586 ERROR [STDERR] at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
15:05:37,586 ERROR [STDERR] at
org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:29)
15:05:37,586 ERROR [STDERR] at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
15:05:37,586 ERROR [STDERR] at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
15:05:37,586 ERROR [STDERR] at
org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
15:05:37,587 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
15:05:37,587 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
Source)
15:05:37,587 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
15:05:37,587 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
15:05:37,587 ERROR [STDERR] at
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
15:05:37,587 ERROR [STDERR] at
org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
15:05:37,587 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
15:05:37,587 ERROR [STDERR] at
org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
15:05:37,587 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
15:05:37,587 ERROR [STDERR] at
org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
15:05:37,587 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
15:05:37,587 ERROR [STDERR] at
org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
15:05:37,587 ERROR [STDERR] at
org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
15:05:37,587 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
15:05:37,588 ERROR [STDERR] at
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
15:05:37,588 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
15:05:37,588 ERROR [STDERR] at
org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
15:05:37,588 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
15:05:37,588 ERROR [STDERR] at
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
15:05:37,588 ERROR [STDERR] at
org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
15:05:37,588 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
15:05:37,588 ERROR [STDERR] at
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
15:05:37,588 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
15:05:37,588 ERROR [STDERR] at
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
15:05:37,588 ERROR [STDERR] at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
15:05:37,588 ERROR [STDERR] at
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
15:05:37,588 ERROR [STDERR] at
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
15:05:37,588 ERROR [STDERR] at
org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
15:05:37,588 ERROR [STDERR] at $Proxy171.callUpdateContractConditions(Unknown Source)
15:05:37,588 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
15:05:37,588 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
Source)
15:05:37,588 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
15:05:37,588 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
15:05:37,588 ERROR [STDERR] at
org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
15:05:37,588 ERROR [STDERR] at
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)
15:05:37,588 ERROR [STDERR] at
org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
15:05:37,588 ERROR [STDERR] at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
15:05:37,588 ERROR [STDERR] at
org.jboss.seam.async.AsynchronousInterceptor.aroundInvoke(AsynchronousInterceptor.java:52)
15:05:37,588 ERROR [STDERR] at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
15:05:37,588 ERROR [STDERR] at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
15:05:37,588 ERROR [STDERR] at
org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
15:05:37,589 ERROR [STDERR] at
org.javassist.tmp.java.lang.Object_$$_javassist_seam_13.callUpdateContractConditions(Object_$$_javassist_seam_13.java)
15:05:37,589 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
15:05:37,589 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
Source)
15:05:37,589 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
15:05:37,589 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
15:05:37,589 ERROR [STDERR] at
org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
15:05:37,589 ERROR [STDERR] at
org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144)
15:05:37,589 ERROR [STDERR] at
org.jboss.seam.async.AsynchronousInvocation$1.process(AsynchronousInvocation.java:62)
15:05:37,589 ERROR [STDERR] at
org.jboss.seam.async.Asynchronous$ContextualAsynchronousRequest.run(Asynchronous.java:80)
15:05:37,589 ERROR [STDERR] at
org.jboss.seam.async.AsynchronousInvocation.execute(AsynchronousInvocation.java:44)
15:05:37,589 ERROR [STDERR] at
org.jboss.seam.async.QuartzDispatcher$QuartzJob.execute(QuartzDispatcher.java:243)
15:05:37,589 ERROR [STDERR] at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
15:05:37,589 ERROR [STDERR] at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
15:05:37,589 ERROR [STDERR] Caused by: javassist.NotFoundException: XXX
15:05:37,589 ERROR [STDERR] at javassist.ClassPool.get(ClassPool.java:436)
15:05:37,589 ERROR [STDERR] at
org.jboss.ws.core.jaxws.DynamicWrapperGenerator.addProperty(DynamicWrapperGenerator.java:203)
15:05:37,589 ERROR [STDERR] at
org.jboss.ws.core.jaxws.DynamicWrapperGenerator.generate(DynamicWrapperGenerator.java:111)
15:05:37,589 ERROR [STDERR] ... 87 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: