【发布时间】:2017-05-17 07:26:25
【问题描述】:
我正在尝试通过 JNDI 从 Wildfly 10 远程调用 JBoss 7 上的 EJB3.1 应用程序。
从独立的 java 客户端执行代码运行良好,部署在 Wildfly 中,我收到 ClassCastException:
java.lang.ClassCastException: org.xnio.SingleOption cannot be cast to org.xnio.Option
这是我正在使用的属性:
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=true
remote.connectionprovider.create.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
remote.connections=default
remote.connection.default.host=some.server
remote.connection.default.port=4647
remote.connection.default.connect.options.org.xnio.Options.SSL_ENABLED=true
remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
remote.clusters=ejbremote.cluster.ejb.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
remote.cluster.ejb.connect.options.org.xnio.Options.SSL_ENABLED=true
remote.connection.default.username=user
remote.connection.default.password=password
org.jboss.ejb.client.scoped.context=true
java.naming.factory.url.pkgs=org.jboss.ejb.client.naming
项目具有 jboss-as-ejb-client-bom 依赖项:
<dependency>
<groupId>org.jboss.as</groupId>
<artifactId>jboss-as-ejb-client-bom</artifactId>
<version>7.2.0.Final</version>
<type>pom</type>
</dependency>
查找看起来很标准:
Context ctx = new InitialContext(properties);
Service service = (Service) ctx.lookup(Service.JNDI_PATH);
有什么想法吗?
【问题讨论】:
-
如果你完全删除
jboss-as-ejb-client-bom依赖会发生什么? -
标准“没有可用的 EJBReceiver 错误消息”:/
-
您在这里所做的与EJB invocations from a remote server instance 中的文档描述的完全不同
-
是的,这是正确的。我正在尝试调用部署在不同服务器上的服务,并且我必须能够指定应该调用该服务的确切服务器(不,用例不是自我实现的负载平衡;)),哪个,据我所知,在遵循链接实现时是不可能的。
标签: java jboss wildfly jndi rmi