So first thing, it looks like you can ignore this warning safely in
production. Out of sheer curiosity I wanted to see what was up.

It looks like OpenEJBServerPlatform extends JMXServerPlatformBase, which
declares a field "private MBeanRuntimeServicesMBean runtimeServicesMBean =
null;". This is never being set, hence the NPE. So to get rid of this
warning, OpenEJBServerPlatform needs to call setRuntimeServicesMBean() with
a value. 

I figured I'd take a look at what other JMX Platform implementations do,
namely Glassfish. So the GlassfishPlatform platform also implements
JMXEnabledPlatform and inside there prepareServerSpecificServicesMBean()
calls setRuntimeServicesMBean(). So really, this is probably a bug in
EclipseLink. They shouldn't rely on a value being there if the platform
doesn't implement JMXEnabledPlatform.

Drilling down little further, they create an instance of
MBeanGlassfishRuntimeServices, which turns around calls super on
GlassfishRuntimeServices, which the implementation included with EclipseLink
calls super on RuntimeServices.


So I guess I'll implement the required interface and do the same thing
EclipseLink is and see what happens.  Could be fun :)



--
Sent from: http://tomee-openejb.979440.n4.nabble.com/TomEE-Dev-f982480.html

Reply via email to