HotswapProjects / HotswapAgent

Java unlimited redefinition of classes at runtime.
GNU General Public License v2.0
2.32k stars 491 forks source link

Plugin class org.hotswap.agent.plugin.seam.SeamPlugin is not initialized in classloader ModuleClassLoader for Module "deployment.core-process.ear:main" from Service Module Loader #56

Closed ma3a closed 7 years ago

ma3a commented 9 years ago

Hi! I'am using Jboss Eap 6.1, Seam 2.3.1 and Hot-Swap Agent 0.2, but i have this stacktrace:

21:43:22,580 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/]] (ServerService Thread Pool -- 69) JBWEB000287: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener: org.jboss.seam.InstantiationException: Could not instantiate Seam component: org.jboss.seam.el.referenceCache
    at org.jboss.seam.Component.newInstance(Component.java:2208) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.contexts.Contexts.startup(Contexts.java:343) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.contexts.Contexts.startup(Contexts.java:317) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:143) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.init.Initialization.init(Initialization.java:813) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:36) [jboss-seam.jar:2.3.1.Final]
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
    at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
    at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
    at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_71]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_71]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_71]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]
    at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.lang.RuntimeException: exception invoking: start
    at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:154) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.Component.callComponentMethod(Component.java:2313) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.Component.callCreateMethod(Component.java:2236) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.Component.newInstance(Component.java:2196) [jboss-seam.jar:2.3.1.Final]
    ... 16 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_71]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_71]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_71]
    at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_71]
    at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:196) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:114) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.el.JBossELReferenceCache_$$_javassist_seam_19.start(JBossELReferenceCache_$$_javassist_seam_19.java) [jboss-seam.jar:2.3.1.Final]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_71]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_71]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_71]
    at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_71]
    at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [jboss-seam.jar:2.3.1.Final]
    at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144) [jboss-seam.jar:2.3.1.Final]
    ... 19 more
Caused by: java.lang.Error: java.lang.IllegalArgumentException: Plugin class org.hotswap.agent.plugin.seam.SeamPlugin is not initialized in classloader ModuleClassLoader for Module "deployment.core-process.ear:main" from Service Module Loader.
    at org.jboss.el.util.ReferenceCache.<init>(ReferenceCache.java:193) [jboss-el-1.0_02.CR6.jar:1.0_02.CR6]
    at org.jboss.el.util.ReferenceCache.<init>(ReferenceCache.java:184) [jboss-el-1.0_02.CR6.jar:1.0_02.CR6]
    at org.jboss.el.util.ReflectionUtil$1.<init>(ReflectionUtil.java:55) [jboss-el-1.0_02.CR6.jar:1.0_02.CR6]
    at org.jboss.el.util.ReflectionUtil.<clinit>(ReflectionUtil.java:55) [jboss-el-1.0_02.CR6.jar:1.0_02.CR6]
    at org.jboss.am.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:196) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.seam.el.JBossELReferenceCache.start(JBossELReferenceCache.java:18) [jboss-seam.jar:2.3.1.Final]
    ... 40 more
Caused by: java.lang.IllegalArgumentException: Plugin class org.hotswap.agent.plugin.seam.SeamPlugin is not initialized in classloader ModuleClassLoader for Module "deployment.core-process.ear:main" from Service Module Loader.
    at org.hotswap.agent.config.PluginRegistry.getPlugin(PluginRegistry.java:195) [hotswap-agent.jar:0.2]
    at org.hotswap.agent.config.PluginManager.getPlugin(PluginManager.java:79) [hotswap-agent.jar:0.2]
    at org.hotswap.agent.config.PluginManager.getPlugin(PluginManager.java:64) [hotswap-agent.jar:0.2]
    ... 45 more

Can you help with it?

skybber commented 9 years ago

I've tested the Seam plugin only with Seam 2.3.x on Tomcat7.x . The problem is the Jboss Eap. I can try to do some tests on this platform, but it is not priotity No.1 for me just now. Good news: You can use the HotswapAgent without Seam plugin. You'll lost the reload component configuration functionality but the hotswap will work! Set the

disabledPlugins=Seam

in hotswap-agent.properties file, it is in the root of hotswap-agent.jar or you can put somewhere on CLASS_PATH (look at README). If you use the Seam components in JSF then you can have some problems when you add/remove component method.

skybber commented 8 years ago

Many JbossAS problems were patched and are available in master branch. Could you please test it?