-
1. Re: calling aspect from netty thread inside jboss 5.1
elgabo Jun 29, 2010 12:40 PM (in response to elgabo)Hi,
It's worth noting that when calling my bean methods from a MDB packaged inside basic.jar AOP works as expected, but the call starts from a IO thread AOP code fails to run.
Regards
-
2. Re: calling aspect from netty thread inside jboss 5.1
kabirkhan Jun 29, 2010 2:15 PM (in response to elgabo)Is the Thread.currentThread().getContextClassLoader() in MyNetworkListener what you would expect for your application?
JBoss AOP doesn't really do anything fancy with classloaders unless your application uses isolated classloading, which I don't think is the case in your application.
If you're using loadtime weaving, the -aop.xml stuff must be available before accessing the classes. For your basic.jar the deployers are smart enough to deploy the aop xml before the bean classes are loaded. Can you try getting rid of both jars, and then starting the server with basic.jar only. Once started deploy network.jar. If that helps, I'll dig out some resources on deployment ordering
-
3. Re: calling aspect from netty thread inside jboss 5.1
elgabo Jul 1, 2010 1:09 PM (in response to kabirkhan)Hi Kabir,
Kabir Khan escribió:
Is the Thread.currentThread().getContextClassLoader() in MyNetworkListener what you would expect for your application?
Thanks for your response. First of all I don't know what context to expect. When the MDB calls the aspectized methods the thread context toString() method returns BaseClassLoader@1c6e768{vfszip:/home/gabriel/devel/tools/jboss-5.1.0.GA/server/default/deploy/base.jar/} it makes sense. The thread context is BaseClassLoader@d2b042{vfszip:/home/gabriel/devel/tools/jboss-5.1.0.GA/server/default/deploy/network.jar/} when the message is received.
JBoss AOP doesn't really do anything fancy with classloaders unless your application uses isolated classloading, which I don't think is the case in your application.
If you're using loadtime weaving, the -aop.xml stuff must be available before accessing the classes. For your basic.jar the deployers are smart enough to deploy the aop xml before the bean classes are loaded. Can you try getting rid of both jars, and then starting the server with basic.jar only. Once started deploy network.jar. If that helps, I'll dig out some resources on deployment ordering
I'm running my application inside JBoss 5.1, I'm not sure if it uses loadtime weaving by default. Actually I'm running the server using Eclipse 3.5 so if it helps here are the VM's arguments:
-Dprogram.name=run.bat -Xms128m -Xmx512m -XX:MaxPermSize=256m
The aop stuff is inside the network.jar/META-INF/jboss-beans.xml. Can will putting it inside basic.jar/META-INF/jboss-beans.xml will help? I started the server with basic.jar and the deployed network.jar but the same happens.
Thanks for your answers.