2017-01-11 5 views
0

Ich erhalte eine Nullpointer ab und zu in meinem Embedded Jetty Anwendung:Nullpointer in Embedded Jetty wenn JMX mit

java.lang.reflect.InvocationTargetException 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.eclipse.jetty.jmx.ObjectMBean.getAttribute(ObjectMBean.java:349) 
     at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647) 
     at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678) 
     at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1445) 
... 
Caused by: java.lang.NullPointerException 
     at org.eclipse.jetty.server.handler.ContextHandler.isShutdown(ContextHandler.java:682) 
     ... 28 more 

Ich habe JMX wie folgt aufgebaut:

Server server = new Server(); 
MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); 
MBeanContainer mbContainer = new MBeanContainer(mBeanServer); 
server.addBean(mbContainer); 

Dies geschieht zufällig (nicht immer) beim Serverstart und nur dann, wenn ich meinen Prometheus JMX Exporter auf demselben Rechner laufen lasse, der höchstwahrscheinlich eine Verbindung zum JMX-Server in einer Phase herstellt, in der Jetty nicht bereit ist, die Verbindung zu verarbeiten.

Irgendwelche Ideen, wie das zu beheben?

+0

welche Version der Anlegestelle ist dies. ? –

Antwort

1

Der JMX-Exporteur sollte den Fehler elegant behandeln, so dass Sie sich auf der JMX-Seite keine Sorgen machen müssen.

Mit Blick auf den Jetty-Code, das ist nur ein synchronisierter Accessor, so sehe ich nicht, wie Sie ein NPE daraus bekommen können. Vermutlich ist das Objekt null, also ist es wahrscheinlich wert, einen Fehler gegen den Anlegesteg zu stellen.

+0

Ja, ich habe es selbst herausgefunden. Ich plane tatsächlich, einen Bug gegen Jetty einzureichen. Es scheint, als wäre es ein Jetty Bug und könnte leicht behoben werden. – raimohanska

Verwandte Themen