Help: java.lang.RuntimeException: Operation failed with status WAITING
s.horn Jan 27, 2014 8:16 AMHello Community,
i have an urgend issue with JBoss 7.2.0.
I am running JBoss on server and about 1000 Clients connecting to the ejbs.
I am using the jbossEJBClient with PropertiesBasedEJBClientConfiguration:
Properties prop = new Properties();
prop.put("endpoint.name", "client-endpoint");
prop.put("remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED", "false");
prop.put("remote.connections", "default");
prop.put("remote.connection.default.port", "192.168.22.102");
prop.put("remote.connection.default.host", "4447");
prop.put("remote.connection.default.username", "*****");
prop.put("remote.connection.default.password", "*****");
prop.put("remote.connection.default.connect.timeout", "10000");
prop.put("remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS", "false");
prop.put("remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT", "false");
prop.put("remote.connection.default.connect.options.org.xnio.Options.SASL_DISALLOWED_MECHANISMS", "JBOSS-LOCAL-USER");
prop.put("remote.connection.default.connect.options.org.jboss.remoting3.RemotingOptions.HEARTBEAT_INTERVAL", "60000");
EJBClientConfiguration clientconfiguration = new PropertiesBasedEJBClientConfiguration(prop);
ContextSelector<EJBClientContext> ejbContextSelector = new ConfigBasedEJBClientContextSelector(clientconfiguration);
EJBClientContext.setSelector(ejbContextSelector);
EJBLocator<SessionRemote> locator = new StatelessEJBLocator<SessionRemote>(SessionRemote.class, "app, "module", "Session", "");
sessionRemote = EJBClient.createProxy(locator);
// login and work
...
// logout and disconnect use the following:
EJBClientContext.getCurrent().close();
This works like a charm half a day and suddenly nobody is able to connect to Jboss:
Everywhere the following Exception occurs:
WARN: Could not register a EJB receiver for connection to 192.168.22.102:4447
java.lang.RuntimeException: Operation failed with status WAITING
at org.jboss.ejb.client.remoting.IoFutureHelper.get(IoFutureHelper.java:93)
at org.jboss.ejb.client.remoting.ConnectionPool.getConnection(ConnectionPool.java:75)
at org.jboss.ejb.client.remoting.RemotingConnectionManager.getConnection(RemotingConnectionManager.java:51)
at org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.setupEJBReceivers(ConfigBasedEJBClientContextSelector.java:130)
at org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.<init>(ConfigBasedEJBClientContextSelector.java:100)
at org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.<init>(ConfigBasedEJBClientContextSelector.java:68)
at de.procar.ecaros2.client.ClientSideServerConnection.getEcarosSessionRemoteInterface(ClientSideServerConnection.java:134)
at de.procar.ecaros2.client.ServerConnection.connect(ServerConnection.java:496)
at de.procar.ecaros2.client.basic.LoginPanel$1.doOnConstruct(LoginPanel.java:415)
at de.procar.ecaros2.client.EcarosUtilities$2.construct(EcarosUtilities.java:484)
at de.procar.swing.SwingWorker$2.run(SwingWorker.java:121)
at java.lang.Thread.run(Thread.java:744)
Our users are very upset, cause the system crashes at least once a day.
I have no idea what could be the problem.
Please give me any hints.
Thanks
Sascha
Edit:
I forgot to mention that the server never stops running.
I am able to connect with the Cli.
Looking up the ejbs from serverside, for example from an Servlet of an other deployment in same Jboss is still working.
Only the remotelookups dont.
Next edit:
Found the following exception in server.log.
This occurs nearly at the moment when the problems start.
Is it possible that this is the root of the issue:
12:36:43,910 ERROR [org.jboss.as.ejb3] (Remoting "Server" task-2) JBAS014140: Schließe Channel Channel ID 2d1670cc (inbound) of Remoting connection 59bed0b1 to null aufgrund eines Fehlers: java.io.IOException: JBAS014560: Konnte Nachrichten-Outputstream für
at org.jboss.as.ejb3.remote.EJBRemoteConnectorService.sendVersionMessage(EJBRemoteConnectorService.java:171)
at org.jboss.as.ejb3.remote.EJBRemoteConnectorService.access$000(EJBRemoteConnectorService.java:73)
at org.jboss.as.ejb3.remote.EJBRemoteConnectorService$ChannelOpenListener.channelOpened(EJBRemoteConnectorService.java:211)
at org.jboss.remoting3.spi.SpiUtils$ServiceOpenTask.run(SpiUtils.java:126) [jboss-remoting-3.2.16.GA-redhat-1.jar:3.2.16.GA-redhat-1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
Caused by: org.jboss.remoting3.NotOpenException: Writes closed
at org.jboss.remoting3.remote.RemoteConnectionChannel.openOutboundMessage(RemoteConnectionChannel.java:108) [jboss-remoting-3.2.16.GA-redhat-1.jar:3.2.16.GA-redhat-1]
at org.jboss.remoting3.remote.RemoteConnectionChannel.writeMessage(RemoteConnectionChannel.java:297) [jboss-remoting-3.2.16.GA-redhat-1.jar:3.2.16.GA-redhat-1]
at org.jboss.as.ejb3.remote.protocol.versionone.ChannelAssociation.acquireChannelMessageOutputStream(ChannelAssociation.java:68)
at org.jboss.as.ejb3.remote.EJBRemoteConnectorService.sendVersionMessage(EJBRemoteConnectorService.java:169)
... 6 more