When I run jconsole I can see that this bean is not created early on in the clustered environment during restart and I get this exception:
SEVERE: javax.management.InstanceNotFoundException: com.bea:ServerRuntime=WLS1_COMMON_MS1,Name=DiagnosticsJMXNotificationSource,Type=WLDFWatchJMXNotificationRuntime,WLDFRuntime=WLDFRuntime,WLDFWatchNotificationRuntime=WatchNotification
Here are the different tests I've done:
1. local windows machine, admin server, serverlet listener context initiazed - always works - I can see the bean and hook up a listener
2. linux cluster, app cycle listener - always works
3. linux cluster, serverlet listener context initiazed, mostly fails - can't find the com.bea... bean
For case #3 we have an older war project that will eventually be updated to an ear but for now I don't want to
do that because I will end up having to update around 10 of the war projects at the same time. I want to use
the servlet context initialized for now, if it's possible.
So, for some reason the servlet listener on linux runs early and I can't get the JMX notifications to work. I tried
adding a thread sleep but that seems to just block the bean creation and still I see the failure. So, how can I get
this to work?
May be you can try changing the deployment order of your web-applications.
Increase it from 100 (default) to may be 200 based on the number of applications and their deployment order.
200 is just a number higher than 100. The applications with the higher number gets deployed after the applications with the lower number.
Please check the below link for steps and further details about deployment order
I'm seeing some strange behavior in the weblogic cluster environment. I fired up jconsole and connected to
all of the managed servers and looked for MBeans having com.bea* and I'm seeing that at least two of
the managed servers show no beans matching this. Is there some setting to get these beans to show up?
I think this may be the main reason that I can't find the bean:
The first statement works on my local dev machine but fails on the linux cluster. The second works on both, at least running under weblogic. When I run an isolated junit test then I have to use the first statement.