问题描述
我有一个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 (将#修改为@)