I have ejb client to connect jboss 6.4 eap server. I close ejb context every time I make ejb call. Everything works but when there are big amount of requests I got "org.jboss.remoting3.ProtocolException: Too many channels open"
Properties properties = new Properties();
properties.put("remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED", "false");
properties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
properties.put("remote.connections", "1");
properties.put("remote.connection.1.host","IP");
properties.put("remote.connection.1.port","4447");
properties.put("org.jboss.ejb.client.scoped.context", "true");
properties.put("remote.connection.1.username", "EJB_USER"));
properties.put("remote.connection.1.password", "EJB_PASSWORD");
context = new InitialContext(properties);
ejbContext = (Context) context.lookup("ejb:");
final Object obj = ejbContext.lookup("EAR/BEAN/BEANName!RemoteInterface");
try{
//do something
}finally{
ejbContext.close();
}
15:41:21,621 ERROR [org.jboss.ejb.client.remoting.RemotingConnectionEJBReceiver] (Remoting "config-based-ejb-client-endpoint" task-10) Failed to open channel for context EJBReceiverContext{clientContext=org.jboss.ejb.client.EJBClientContext@591adafe, receiver=Remoting connection EJB receiver [connection=org.jboss.ejb.client.remoting.ConnectionPool$PooledConnection@30a6a839,channel=jboss.ejb,nodename=jbeap-int]}: org.jboss.remoting3.ProtocolException: Too many channels open at org.jboss.remoting3.remote.RemoteConnectionHandler.handleOutboundChannelOpen(RemoteConnectionHandler.java:185) at org.jboss.remoting3.remote.RemoteConnectionHandler.open(RemoteConnectionHandler.java:326) at org.jboss.remoting3.ConnectionImpl.openChannel(ConnectionImpl.java:82) at org.jboss.ejb.client.remoting.ConnectionPool$PooledConnection.openChannel(ConnectionPool.java:229) [jboss-ejb-client-1.0.30.Final-redhat-1.jar:1.0.30.Final-redhat-1] at org.jboss.ejb.client.remoting.RemotingConnectionEJBReceiver.associate(RemotingConnectionEJBReceiver.java:130) [jboss-ejb-client-1.0.30.Final-redhat-1.jar:1.0.30.Final-redhat-1] at org.jboss.ejb.client.EJBClientContext.registerEJBReceiver(EJBClientContext.java:383) [jboss-ejb-client-1.0.30.Final-redhat-1.jar:1.0.30.Final-redhat-1] at org.jboss.ejb.client.EJBClientContext.registerEJBReceiver(EJBClientContext.java:335) [jboss-ejb-client-1.0.30.Final-redhat-1.jar:1.0.30.Final-redhat-1] at org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.setupEJBReceivers(ConfigBasedEJBClientContextSelector.java:150) [jboss-ejb-client-1.0.30.Final-redhat-1.jar:1.0.30.Final-redhat-1] at org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.getCurrent(ConfigBasedEJBClientContextSelector.java:115) [jboss-ejb-client-1.0.30.Final-redhat-1.jar:1.0.30.Final-redhat-1] at org.jboss.ejb.client.naming.ejb.EjbNamingContext.createIdentifiableEjbClientContext(EjbNamingContext.java:258) [jboss-ejb-client-1.0.30.Final-redhat-1.jar:1.0.30.Final-redhat-1] at org.jboss.ejb.client.naming.ejb.EjbNamingContext.setupScopedEjbClientContextIfNeeded(EjbNamingContext.java:123) [jboss-ejb-client-1.0.30.Final-redhat-1.jar:1.0.30.Final-redhat-1] at org.jboss.ejb.client.naming.ejb.EjbNamingContext.(EjbNamingContext.java:98) [jboss-ejb-client-1.0.30.Final-redhat-1.jar:1.0.30.Final-redhat-1] at org.jboss.ejb.client.naming.ejb.ejbURLContextFactory.getObjectInstance(ejbURLContextFactory.java:38) [jboss-ejb-client-1.0.30.Final-redhat-1.jar:1.0.30.Final-redhat-1] at org.jboss.as.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:141) at javax.naming.InitialContext.lookup(InitialContext.java:417) [rt.jar:1.8.0_45] at javax.naming.InitialContext.lookup(InitialContext.java:417) [rt.jar:1.8.0_45]
How can I increase this channels? (How I know it is limited to 40 channel same time)
Thank you.