I added a sensor for weblogic.application.internal.flow.ModuleStateDriver.start(weblogic.application.Module[]) which offers great insight into what happens when our apps are deployed. However, I have run into one problem. Several of these apps initiate message listeners at deploy time. This causes all of my onMessage calls to be part of the deploy purepath instead of where I expect them. To elaborate, weblogic will call the Spring application context as part of the start. This calls org.springframework.core.task.SimpleAsyncTaskExecutor.execute(java.lang.Runnable task), then there is an asynch invocation and an asynch path and org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run() runs in the new thread and kicks off all of the onMessage() calls. Is there any way to exclude this thread from the deploy purepath without turning off threading support for all other purepaths? Or is there a supported way to detect deploy/start errors other than custom sensors?
Answer by Andreas G. ·
Hi
You can try a "global exclude" for the methods that you dont want to instrument. But - you may need to modify the our Threading Sensor Pack because your "custom" global excludes may be overruled by our out-of-the-box Sensor Packs. Before going into these details I suggest you give it a try and define some global exclusion rules for those methods that you dont want a PurePath started for.
JANUARY 15, 3:00 PM GMT / 10:00 AM ET