Implementei o método disconnect no Dashboard para desconectar um Host do cluster. Porém, em uma situação está ocorrendo um bug que ainda não consegui descobrir o motivo. Suponha o seguinte cenário: tenho um cluster montado (1 Server e 2 Hosts) e utilizo o método implementado para desconectar o Host X. Após isso, o Host X é desconectado e é exibido no console do server que o Host foi desregistrado. Posteriormente, registro novamente o Host X no cluster. Ele é registrado normalmente no console do Server. Porém, ao chamar o método para desconectar o Host X, é disparada a exceção abaixo. Reparei que ao reiniciar o Dashboard (fechar a execução atual e abrir outra execução), o erro não ocorre. Por isso, creio que pode ser alguma coisa do User que não está atualizando e que preciso forçar a atualização. André, você já pegou algum cenário parecido ou tem alguma ideia do que pode ser?
obs: a linha 45 do JCL_DasbhardFacadeImpl é:
JCL_message_bool msgR = (JCL_message_bool) controlConnector.sendReceiveG(msg, port);
error in sendreceiveG method
java.io.IOException: Conexão fechada pela outra ponta
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:65)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
at implementations.dm_kernel.ConnectorImpl.sendReceiveG(ConnectorImpl.java:220)
at implementations.dm_kernel.DashboardUser.JCL_DashboardFacadeImpl.removeHost(JCL_DashboardFacadeImpl.java:45)
at model.ModelJCLHost.remove(ModelJCLHost.java:19)
at controller.ControllerDashboard.removeJCLHost(ControllerDashboard.java:125)
at view.Dashboard$9.actionPerformed(Dashboard.java:260)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)problem in JCL Dashboardfacade removeHost(Device device)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Implementei o método disconnect no Dashboard para desconectar um Host do cluster. Porém, em uma situação está ocorrendo um bug que ainda não consegui descobrir o motivo. Suponha o seguinte cenário: tenho um cluster montado (1 Server e 2 Hosts) e utilizo o método implementado para desconectar o Host X. Após isso, o Host X é desconectado e é exibido no console do server que o Host foi desregistrado. Posteriormente, registro novamente o Host X no cluster. Ele é registrado normalmente no console do Server. Porém, ao chamar o método para desconectar o Host X, é disparada a exceção abaixo. Reparei que ao reiniciar o Dashboard (fechar a execução atual e abrir outra execução), o erro não ocorre. Por isso, creio que pode ser alguma coisa do User que não está atualizando e que preciso forçar a atualização. André, você já pegou algum cenário parecido ou tem alguma ideia do que pode ser?
obs: a linha 45 do JCL_DasbhardFacadeImpl é: JCL_message_bool msgR = (JCL_message_bool) controlConnector.sendReceiveG(msg, port);
error in sendreceiveG method java.io.IOException: Conexão fechada pela outra ponta at sun.nio.ch.FileDispatcherImpl.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) at sun.nio.ch.IOUtil.write(IOUtil.java:65) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) at implementations.dm_kernel.ConnectorImpl.sendReceiveG(ConnectorImpl.java:220) at implementations.dm_kernel.DashboardUser.JCL_DashboardFacadeImpl.removeHost(JCL_DashboardFacadeImpl.java:45) at model.ModelJCLHost.remove(ModelJCLHost.java:19) at controller.ControllerDashboard.removeJCLHost(ControllerDashboard.java:125) at view.Dashboard$9.actionPerformed(Dashboard.java:260) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.AbstractButton.doClick(AbstractButton.java:376) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877) at java.awt.Component.processMouseEvent(Component.java:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)problem in JCL Dashboardfacade removeHost(Device device)