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
