当前位置: 首页 > 知识库问答 >
问题:

JBoss Wildfly 10:xnio ClassCastException在JBoss 7上调用EJB3.1时

强才捷
2023-03-14

我试图通过JNDI从Wildfly 10远程调用JBoss 7上的EJB3.1应用程序

在Wildfly中部署的独立java客户机上执行代码运行良好,我收到一个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客户端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);

有什么想法吗?

共有2个答案

洪承天
2023-03-14

添加jboss部署结构。将包含以下内容的xml添加到WAR的顶层:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
  <deployment>
    <dependencies>
      <module name="org.jboss.xnio"></module>
    </dependencies>
  </deployment>
</jboss-deployment-structure>
金泉
2023-03-14

检查您如何打包应用程序,我假设您在部署的存档中包含了org.xnio库。在这种情况下,它将由导致此错误的不同类加载器加载。

 类似资料:
  • 我试图在JBoss7上运行这个EJB示例,但它总是抛出NameNotFoundException。 我尝试测试的EJB是:计算器。在JBoss 7上部署时,在服务器控制台中显示以下几行: 计算器bean代码如下所示: 远程接口代码为: 必须通过JNDI连接EJB的主代码是: 第一个错误是:身份验证失败。因此,我在服务器:usr: test,pwd: test123中创建了一个用于“应用领域”的“管

  • 问题内容: 我对此设置有问题,甚至无法查看日志。 这是我的 EJB: 的: Maven pom: 问题答案: 您具有无效的bean类型作为@DependsOn的属性。DependsOn用于表达两个Singleton会话Bean之间的依赖性,而不是Singleton和Stateless之间的依赖性。您应该将SchedulerEJB更改为Singleton或删除依赖项。 如果您决定将Scheduler

  • 我正在制作一个基于Java EE的产品,其中我使用了GlassFish 3和EJB 3.1。 我的应用程序有会话bean,一个调度程序,并且使用web服务。我最近了解了Apache TomEE,它支持上下文和依赖注入(CDI)。GlassFish容器也支持CDI。 如果我不需要CDI也不提供的任何特性,我可以替换会话bean吗?如果那样的话,我能得到什么好处呢?

  • 嗨,这是我的场景, 我正在尝试将一个应用程序从JBoss5迁移到JBoss7。 我使用的是jboss-as-7.1.1。最终。 我遇到的错误是: 我看了几个带有相同错误消息的讨论,但我就是不知道我做错了什么。 在部署目录中,我只有一个myapp.war.我没有部署。我有一个依赖项(myapp-ejb.jar)部署为一个模块。 我已经按照https://docs.jboss.org/author/d

  • 我正在尝试设置一个SpringMVC Hibernate WAR,用于部署到Jboss 7.1.1Final。我的应用程序使用Hibernate 3.6.1 我遵循了在JBoss中设置Hibernate 3所需的所有步骤。 > 转到 AS 安装并切换到模块/组织文件夹。 为插槽 3 创建了用于保存Hibernate 3 的文件夹 将Hibernate 3 罐子复制到这个新的 AS/模块/组织/冬眠

  • 问题内容: 我正在使用logback / slf4j处理我的应用程序中的日志记录。在我开始使用EJB之前,一切都运行良好。将无状态EJB添加到应用程序后,记录器开始忽略我的logback.xml,并停止使用附加程序。我切换到编程式记录器配置以查看出了什么问题,现在当我尝试在EJB中使用记录器时遇到以下错误: 源于这一行: 是否需要任何特殊的配置才能使Logback与EJB一起使用?如果有问题,我将