Hi all,

We recently completed an upgrade from Resin 3.0.15 to 3.1.1.  Migrating 
our production sites was not too bad, but a JMX framework we are 
currently developing has broken.

One component of this framework is a webapp that registers an MBean with 
ObjectName remilon:name=manager.  Other webapps can access this MBean, 
call getFoo() to get one of its data members, and use the data member to 
do operations.  This setup worked fine in Resin 3.0.15.  However, in 
Resin 3.1.1, we get the following error when calling getFoo() on the MBean:

javax.management.InstanceNotFoundException: remilon:name=manager
at com.caucho.jmx.AbstractMBeanServer.invoke(AbstractMBeanServer.java:699)

We can get the manager MBean from the server without problems, it's 
invoking methods on it that fails.  I've verified with JConsole that the 
MBean is registered, and I can get the MBean and call methods on it from 
the webapp that registered it, just not from any other webapp.

My question, then, it twofold:

1. Is this desired behavior, as in a way to keep webapps from accessing 
other webapps' MBeans? And, if so

2. Is there a way around it?  Accessing this object in JMX is a core 
part of our new framework.  I can understand if there are security 
considerations here, but it seems like there should be a way to turn 
them off, since we have dedicated instances of Resin running.

If this is not desired behavior, should I file a bug report?

Best regards,
Ethan Larson
Remilon LLC

resin-interest mailing list

Reply via email to