-
Bug
-
Resolution: Done
-
Critical
-
1.0.0.Beta15
-
None
-
User Experience
-
Upon inputting invalid protocol in EJB client initial context, a StackOverflowException is produced instead of a proper exception:
14:08:20,201 INFO [org.jboss.ejb.client.naming.ejb.ejbURLContextFactory:37] EJBCLIENT000064: org.jboss.ejb.client.naming.ejb.ejbURLContextFactory is deprecated; new applications should use org.wildfly.naming.client.WildFlyInitialContextFactory instead 14:08:20,210 INFO [org.wildfly.naming.client.Version:61] WildFly Naming version 1.0.0.Beta15-redhat-1 14:08:20,265 INFO [org.wildfly.naming.client.WildFlyRootContext:521] WFNAM00049: Usage of the legacy "remote.connections" property is deprecated; please use javax.naming.Context#PROVIDER_URL instead 14:08:20,300 INFO [org.xnio.Xnio:95] XNIO version 3.5.0.Beta6-redhat-1 14:08:20,306 INFO [org.xnio.nio.NioXnio:57] XNIO NIO Implementation Version 3.5.0.Beta6-redhat-1 14:08:20,366 INFO [org.jboss.remoting3.EndpointImpl:101] JBoss Remoting version 5.0.0.Beta22-redhat-1 Exception in thread "main" java.lang.StackOverflowError at java.io.UnixFileSystem.getBooleanAttributes0(Native Method) at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:242) at java.io.File.exists(File.java:819) at sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:1282) at sun.misc.URLClassPath$FileLoader.findResource(URLClassPath.java:1249) at sun.misc.URLClassPath$1.next(URLClassPath.java:267) at sun.misc.URLClassPath$1.hasMoreElements(URLClassPath.java:277) at java.net.URLClassLoader$3$1.run(URLClassLoader.java:601) at java.net.URLClassLoader$3$1.run(URLClassLoader.java:599) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader$3.next(URLClassLoader.java:598) at java.net.URLClassLoader$3.hasMoreElements(URLClassLoader.java:623) at sun.misc.CompoundEnumeration.next(CompoundEnumeration.java:45) at sun.misc.CompoundEnumeration.hasMoreElements(CompoundEnumeration.java:54) at java.util.ServiceLoader$LazyIterator.hasNextService(ServiceLoader.java:354) at java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:393) at java.util.ServiceLoader$1.hasNext(ServiceLoader.java:474) at org.wildfly.naming.client.WildFlyRootContext.lambda$loadServices$0(WildFlyRootContext.java:110) at java.security.AccessController.doPrivileged(Native Method) at org.wildfly.naming.client.WildFlyRootContext.loadServices(WildFlyRootContext.java:106) at org.wildfly.naming.client.WildFlyRootContext.<init>(WildFlyRootContext.java:101) at org.wildfly.naming.client.WildFlyRootContext.<init>(WildFlyRootContext.java:90) at org.wildfly.naming.client.WildFlyInitialContextFactory.getInitialContext(WildFlyInitialContextFactory.java:58) at org.jboss.ejb.client.naming.ejb.ejbURLContextFactory.getObjectInstance(ejbURLContextFactory.java:43) at javax.naming.spi.NamingManager.getURLObject(NamingManager.java:601) at javax.naming.spi.NamingManager.getURLContext(NamingManager.java:550) at org.wildfly.naming.client.WildFlyRootContext.getProviderContext(WildFlyRootContext.java:485) at org.wildfly.naming.client.WildFlyRootContext.lookup(WildFlyRootContext.java:149) at org.wildfly.naming.client.WildFlyRootContext.lookup(WildFlyRootContext.java:151) at org.wildfly.naming.client.WildFlyRootContext.lookup(WildFlyRootContext.java:151) at org.wildfly.naming.client.WildFlyRootContext.lookup(WildFlyRootContext.java:151) at org.wildfly.naming.client.WildFlyRootContext.lookup(WildFlyRootContext.java:151) at org.wildfly.naming.client.WildFlyRootContext.lookup(WildFlyRootContext.java:151) . . .
With EJB Client 2, the following understandable message was produced:
14:08:36,418 TRACE [org.jboss.ejb.client.naming.ejb.EjbNamingContext:149] Created scoped EJB client context with identifier: [Named EJB client context identifier: EJBClientContext$1] for EJB naming context org.jboss.ejb.client.naming.ejb.EjbNamingContext@6a2bcfcb with environment {remote.connection.main.port=4448, remote.connection.main.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false, org.jboss.ejb.client.scoped.context=true, remote.connection.main.connect.options.org.xnio.Options.SSL_ENABLED=true, endpoint.name=client-endpoint, remote.connection.main.connect.options.org.xnio.Options.SSL_STARTTLS=true, remote.connection.main.protocol=xx, org.jboss.ejb.client.scoped.context.identifier=[Named EJB client context identifier: EJBClientContext$1], remote.connection.main.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT=true, java.naming.factory.url.pkgs=org.jboss.ejb.client.naming, remote.connection.main.host=127.0.0.1, remote.connections=main} 14:08:36,427 INFO [org.jboss.ejb.client.EJBClient:45] JBoss EJB Client version 2.1.4.Final-redhat-1 14:08:36,434 TRACE [org.jboss.ejb.client.EJBClientContext:1222] EJB client context org.jboss.ejb.client.EJBClientContext@6a024a67 attempting reconnect on thread main 14:08:36,436 DEBUG [org.jboss.ejb.client.remoting.MaxAttemptsReconnectHandler:70] Re-connect attempt# 1 failed for 127.0.0.1:4448 org.jboss.remoting3.UnknownURISchemeException: No connection provider for URI scheme "xx" is installed at org.jboss.remoting3.EndpointImpl.doConnect(EndpointImpl.java:289) at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:416) at org.jboss.ejb.client.remoting.EndpointPool$PooledEndpoint.connect(EndpointPool.java:192) at org.jboss.ejb.client.remoting.NetworkUtil.connect(NetworkUtil.java:153) at org.jboss.ejb.client.remoting.NetworkUtil.connect(NetworkUtil.java:133) at org.jboss.ejb.client.remoting.ConnectionPool.getConnection(ConnectionPool.java:78) at org.jboss.ejb.client.remoting.RemotingConnectionManager.getConnection(RemotingConnectionManager.java:51) at org.jboss.ejb.client.remoting.MaxAttemptsReconnectHandler.tryConnect(MaxAttemptsReconnectHandler.java:65) at org.jboss.ejb.client.remoting.EJBClientContextConnectionReconnectHandler.reconnect(EJBClientContextConnectionReconnectHandler.java:56) at org.jboss.ejb.client.EJBClientContext$ReconnectAttempt.run(EJBClientContext.java:1447) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748) 14:08:36,436 TRACE [org.jboss.ejb.client.EJBClientContext:1247] Reconnection attempt for EJB client context org.jboss.ejb.client.EJBClientContext@6a024a67 complete on thread main Exception in thread "main" java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@6093dd95 at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:798) at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:128) at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186) at org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:255) at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:200) at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:183) at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146) at com.sun.proxy.$Proxy2.hello(Unknown Source) at client.Client.main(Client.java:16)
- clones
-
JBEAP-10963 Wrong URI protocol in EJB client context produces StackOverflowException with EJB Client 4
- Closed