[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Aspect runs on laptop but not on server

Well, all is not resolved.  In the process of fixing the sandbox, I broke the development environment.
The way things are going now, it seems that the service() method's around advice is being invoked more than once per message, which means that the message gets consumed on the first pass and is therefore null on the second pass through the advice.
There is obviously some complexity to the path through the Sonic ESB container.  What tools do I have at my disposal to actually see all the calls and pick the spot where I want to advise the method call?  I'm flying blind, and I have no idea how to fix this now.
To make things even more interesting, tomorrow is my last day at this job, and I don't want to leave this problem for them.  I really need to get this worked out this week.

From: aspectj-users-bounces@xxxxxxxxxxx [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Grey, Lee
Sent: Wednesday, April 06, 2011 7:07 PM
To: aspectj-users@xxxxxxxxxxx
Subject: Re: [aspectj-users] Aspect runs on laptop but not on server

I'll answer my own question for the benefit of others:
The problem was that the container in the sandbox had different services deployed into it than the container on my laptop.  In particular, the services in the sandbox were a subset of the services in the laptop container.  And, therefore, the pointcuts were just a little bit different, in a way that matched on the laptop but not in the sandbox.
By making the pointcuts a bit more inclusive, they started matching in the sandbox.
Thanks for wringing your hands with me,  ;-)

From: aspectj-users-bounces@xxxxxxxxxxx [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Grey, Lee
Sent: Wednesday, April 06, 2011 3:30 PM
To: aspectj-users@xxxxxxxxxxx
Subject: [aspectj-users] Aspect runs on laptop but not on server

I've built an aspect to wrap around Sonic ESB's XQService.service() method, and it's been working perfectly on my laptop (Windows XP, JRE 1.5.0_22, Sonic Workbench).
Now, I'm trying to deploy the same exact jars in the same exact way to our sandbox pre-production environment (Red Hat 4.1.2-48, JDK 1.5.0_22, Sonic MQ and ESB installation), but things aren't working.
What seems to be happening is that on my laptop, the aspect weaving takes place and the aspect is instantiated at the time the container starts up.  In the sandbox, however, I see the same message regarding weaving, so I am pretty confident that the -javaagent parameter did its thing, but my pointcuts don't seem to match anything, either at initialization or during normal runtime.  I am printing out a message in my advice when SonicMQ messages are processed, and it appears on my laptop but not on the server.  I see no signs of my advice ever executing on the server.
This is the message I see in both environments during container startup, so I believe that means the ltw happened:
[DelegatingLoader@10d0eae] warning javax.* types are not being woven because the
 weaver option '-Xset:weaveJavaxPackages=true' has not been specified
I don't know what might account for this kind of problem.  I am open to any suggestions for getting to the bottom of this.
Lee Grey