org.jboss.remoting3.ProtocolException: 打开的频道太多。如何增加渠道
org.jboss.remoting3.ProtocolException: Too many channels open. How to increase channels
我有 ejb 客户端连接 jboss 6.4 eap 服务器。每次进行 ejb 调用时,我都会关闭 ejb 上下文。一切正常,但当有大量请求时,我收到 "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]
我怎样才能增加这个频道?(我怎么知道同时限制为 40 个频道)
谢谢。
无法增加频道数量。我已将我的上下文实例设为静态。
我有 ejb 客户端连接 jboss 6.4 eap 服务器。每次进行 ejb 调用时,我都会关闭 ejb 上下文。一切正常,但当有大量请求时,我收到 "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]
我怎样才能增加这个频道?(我怎么知道同时限制为 40 个频道)
谢谢。
无法增加频道数量。我已将我的上下文实例设为静态。