Uploaded image for project: 'Fuse Tooling'
  1. Fuse Tooling
  2. FUSETOOLS-434

JMX explorer - Should better detect bundle/app is stopped when user click in tree and get an exception

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 7.1.0
    • None
    • None
    • None

    Description

      I have a Camel app installed and running in Fuse ESB. I have Fuse IDE browsing the JMX Explorer and have expanded the Camel part.

      Then I stopped the bundle using osgi:stop. And then clicked in the JMX Explorer and get an exception.
      I think Fuse IDE should be more resilient on MBeeans which can come and go.

      And possible display some nicer dialog about the MBean has been unregistered. And the JMX Explorer should be refreshed etc.

      java.lang.reflect.UndeclaredThrowableException
      	at $Proxy39.getCamelId(Unknown Source)
      	at com.fusesource.ide.fabric.camel.navigator.CamelContextNode.getContextId(CamelContextNode.java:89)
      	at com.fusesource.ide.fabric.camel.navigator.CamelContextNode.getTracer(CamelContextNode.java:406)
      	at com.fusesource.ide.fabric.camel.navigator.CamelContextNode.isTracing(CamelContextNode.java:144)
      	at com.fusesource.ide.fabric.camel.navigator.CamelContextNode.getNodeStatisticsContainer(CamelContextNode.java:345)
      	at com.fusesource.ide.fabric.camel.navigator.RoutesNode.getNodeStatisticsContainer(RoutesNode.java:103)
      	at com.fusesource.rider.editor.views.DiagramView.updateselection(DiagramView.java:124)
      	at com.fusesource.rider.editor.views.DiagramView$2.selectionChanged(DiagramView.java:92)
      	at org.eclipse.ui.internal.AbstractSelectionService.fireSelection(AbstractSelectionService.java:156)
      	at org.eclipse.ui.internal.AbstractSelectionService$1.selectionChanged(AbstractSelectionService.java:62)
      	at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:164)
      	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
      	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
      	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
      	at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:162)
      	at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2188)
      	at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1211)
      	at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:478)
      	at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1241)
      	at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:239)
      	at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:233)
      	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:403)
      	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
      	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4125)
      	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1457)
      	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1480)
      	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1465)
      	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1270)
      	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3971)
      	at org.eclipse.swt.widgets.Display.applicationNextEventMatchingMask(Display.java:4872)
      	at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5223)
      	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
      	at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)
      	at org.eclipse.swt.widgets.Widget.mouseDownSuper(Widget.java:1092)
      	at org.eclipse.swt.widgets.Tree.mouseDownSuper(Tree.java:2047)
      	at org.eclipse.swt.widgets.Widget.mouseDown(Widget.java:1084)
      	at org.eclipse.swt.widgets.Control.mouseDown(Control.java:2519)
      	at org.eclipse.swt.widgets.Tree.mouseDown(Tree.java:2004)
      	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5468)
      	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
      	at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)
      	at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2092)
      	at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2255)
      	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5532)
      	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
      	at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4986)
      	at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5135)
      	at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
      	at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:128)
      	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3607)
      	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
      	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
      	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
      	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
      	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
      	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
      	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
      	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
      	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
      	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
      	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
      	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
      	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
      	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
      	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
      Caused by: java.lang.reflect.InvocationTargetException
      	at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.fusesource.fon.camel.facade.CamelFacadeSupport$1.invoke(CamelFacadeSupport.java:77)
      	... 70 more
      Caused by: java.lang.reflect.UndeclaredThrowableException
      	at $Proxy38.getCamelId(Unknown Source)
      	... 74 more
      Caused by: javax.management.InstanceNotFoundException: org.apache.camel:context=davsclaus.lan/blueprintContext,type=context,name="blueprintContext"
      	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1094)
      	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:662)
      	at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:638)
      	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1404)
      	at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
      	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
      	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
      	at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:600)
      	at sun.reflect.GeneratedMethodAccessor88.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
      	at sun.rmi.transport.Transport$1.run(Transport.java:159)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
      	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      	at java.lang.Thread.run(Thread.java:680)
      	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
      	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
      	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
      	at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
      	at javax.management.remote.rmi.RMIConnectionImpl_Stub.getAttribute(Unknown Source)
      	at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:878)
      	at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:263)
      	... 75 more
      

      Attachments

        Activity

          People

            lheinema@redhat.com Lars Heinemann
            cibsen@redhat.com Claus Ibsen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: