Ales Justin [
http://community.jboss.org/people/alesj] created the discussion
"Re: Lazy modules resolving / linking"
To view the discussion, visit:
http://community.jboss.org/message/563685#563685
--------------------------------------------------------------
I'm looking into properly solving this.
After updating
Module, I now simply try to reload based on Module's ClassLoader:
Module module = Module.getModule(target);
loader.updateModule(module, dependencySpec);
return new ClassLoaderLocalLoader(module.getClassLoader());
but this creates a deadlock:
main@1, prio=5, in group 'main', status: 'waiting'
java.lang.Thread.State: WAITING
at java.lang.Object.wait(Object.java:-1)
at java.lang.Object.wait(Object.java:485)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:257)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:52)
at net.something.xyz.Module$1.run(Module.java:43)
at org.jboss.as.modules.plugins.run.DefaultRuntime.execute(DefaultRuntime.java:64)
at org.jboss.as.modules.Main.execute(Main.java:67)
at org.jboss.asz.test.modules.ModulesTest.execute(ModulesTest.java:123)
at org.jboss.asz.test.modules.ModulesTest.testArchive(ModulesTest.java:94)
at
org.jboss.asz.test.modules.ondemand.test.OnDemandTestCase.testBasic(OnDemandTestCase.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
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)
and
ClassLoader Thread@1179 daemon, prio=5, in group 'main', status:
'runnable'
java.lang.Thread.State: RUNNABLE
blocks main@1
at java.lang.Class.forName0(Class.java:-1)
at java.lang.Class.forName(Class.java:247)
at
org.jboss.modules.ClassLoaderLocalLoader.loadClassLocal(ClassLoaderLocalLoader.java:49)
at
org.jboss.as.modules.plugins.run.OnDemandLocalLoader.loadClassLocal(OnDemandLocalLoader.java:99)
at org.jboss.modules.Module.loadModuleClass(Module.java:727)
at org.jboss.modules.Module.loadModuleClass(Module.java:692)
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:186)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:268)
at
org.jboss.modules.ConcurrentClassLoader.access$400(ConcurrentClassLoader.java:42)
at
org.jboss.modules.ConcurrentClassLoader$LoaderThread.run(ConcurrentClassLoader.java:337)
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/563685#563685]
Start a new discussion in JBoss AS7 Development at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]