I got the error "HTTP ERROR: 500 Failed to get MBean data" when trying to load this page in the control panel:
http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=SandBoss%3Aservice%3DwebUI (linked from here: http://localhost:8080/tools/ControlPanel\)
Here's what I did:
1) Add a new node using the config editor. As far as I can tell, it doesn't matter what kind of node it is.
2) Open the control panel. There should be a link to the new node.
3) Click the link. It's supposed to take you to a page in the JBoss admin console, but instead it gives you the error: 500 page.
There's an exception in the JBoss trace that explains things:
22:55:22,989 WARN [jbossweb] WARNING: Exception for /jmx-console/HtmlAdaptor?action=inspectMBean&name=SandBoss%3Aservice%3Dlkjlkj
javax.management.InstanceNotFoundException: SandBoss:service=lkjlkj is not registered.
at org.jboss.mx.server.registry.BasicMBeanRegistry.get(BasicMBeanRegistry.java:362)
at org.jboss.mx.server.MBeanServerImpl.getMBeanInfo(MBeanServerImpl.java:528)
at org.jboss.jmx.adaptor.control.Server.getMBeanData(Server.java:81)
[...]
I'm not what the real bug is here. It could be a) we don't instantiate nodes after they're added, b) we link to uninstantiated nodes in the control panel, c) the control panel (or config editor) should have a button/link to manually instantiate a node, or d) something else entirely.
Logged In: YES
user_id=452458
The config editor changes the contents of the
SAND_DEPLOY/env/config.xml file, but does not automatically
send a ConfigurationUpdate message to the SandBossRoot, so
the new node instance is not automatically created.
The default control panel implementation is currently fairly
dumb, and just reads SAND_DEPLOY/env/config.xml on the
assumption that's what's currently running. A more robust
implementation would
1. get the node links from the SandRoot (with status)
2. display the node info, rather than relying on the
default container interface.
Using the default settings out of the box, you currently
need to restart the container after changing the config.