【问题标题】:ejb jndi lookup throws ClassCastexception only when invoked from IBM Message Broker仅当从 IBM Message Broker 调用时,ejb jndi 查找才会引发 ClassCastexception
【发布时间】:2013-12-03 20:30:35
【问题描述】:

当我尝试查找远程 ejb jndi 时,IBM 消息代理为工厂对象抛出 ClassCastexception。 但是对于普通的本地 java 应用程序和 junit,相同的代码可以正常工作。为什么仅从 IBM WMB 调用时会出现此问题

Context context = new InitialContext(ejbJndiProperties);
Object factoryObj = context.lookup("SampleBeanTAFJ/remote");
return (SampleBeanRemote) factoryObj;

【问题讨论】:

    标签: ejb messagebroker


    【解决方案1】:

    这通常通过在不同的类加载器中将部分接口加载到实现类来调用。

    我会使用环境变量:

    IBM_JAVA_OPTIONS=-Dibm.cl.verbose=*

    然后重新启动代理,这会将类加载跟踪转储到 stdout/console.txt,这可能会给你一些线索。

    错误中涉及的确切类是什么,它们存储在什么 jar 中?部署到 EG 还是通过 SHARED-CLASSES 引用?确切的细节决定了这里应该使用哪些类加载器。

    【讨论】:

    • 我已将消息流部署到 ​​EG。我正在获取一个 StatelessRemoteProxy 类的实例,我试图将其转换为我的远程类。
    • 具体是什么类找不到,它包含在什么 jar 中,这个 jar 在哪里?
    猜你喜欢
    • 2016-09-30
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 1970-01-01
    • 2015-01-25
    相关资源
    最近更新 更多