Springboot中的EJB客户端

问题描述

我有一个jboss 5.1,在其中部署了一些EJB。 现在,我必须在Springboot项目中编写一个客户端。 我可以查找它们,但是当我尝试投射响应时出现错误: 无法将javax.naming.Reference转换为“ MyClass”。

在调试中,我可以看到查找的响应是一个引用,并且在强制转换之前具有此属性:

  • addr(矢量)
  • classFactory-> org.jboss.ejb3.proxy.impl.objectfactory.session.stateless.StatelessSessionProxyObjectFactory
  • className->代理:my.path.MyClass classFactoryLocation->空

这是我对pom的依赖:

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>2.2.6.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>javax.ejb</groupId>
            <artifactId>javax.ejb-api</artifactId>
            <version>3.2</version>
        </dependency>

<dependency>
    <groupId>jboss</groupId>
    <artifactId>jbossall-client</artifactId>
    <version>4.2.2.GA</version>
</dependency>   

这是我的InitialContext配置

Properties env = new Properties();
            env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jboss.naming.NamingContextFactory");
            env.put(Context.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interfaces");
            env.put(Context.PROVIDER_URL,"jnp://10.119.26.28:1099"); // rilserv01.ril.avcp.local
            env.put("jboss.naming.client.ejb.context",true);
            initialContext = new InitialContext(env);

我读到问题可能是jbossall-client版本,而且jboss 5.1没有要导入的jbossall-client.jar,因此我也尝试导入Jboss 5.1文件夹中的单个47库,但是我无法不会造成lo4j版本与spring不兼容。

我不知道如何解决。 请帮助=)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)