无法使我的 Java EE 应用程序客户端正常工作



我正在尝试编写WebSphere 7的Java EE应用程序客户端以访问已部署在WebSphere Server上的EJB,我似乎无法使用JNDI解决EJB(我在上下文" java:"'。

我在RBD 7.5中创建了该项目作为"应用程序客户端项目",我正在使用" WebSphere Application Server v.7.0 Application Client"来运行它。

我在创建初始上下文并在运行配置中提供信息时尝试了两者(但不是同时)指定提供商URL,这没有区别。

我可能缺少一些非常简单的东西。

顺便说一句,是否必须在WebSshere服务器上运行启动客户?还是可以在另一台服务器上重新复制它?

好吧,看起来您要到达某个地方!

sidebar: 这可能是设置应用程序服务器的最令人沮丧的部分以前。我更像是一个JBOSS的家伙,我真的希望有人拥有更多WebSphere知识的人能跳入帮助,因为他们可能知道答案的顶部,我所能做的就是向您朝着一个方向推动您是。

这是我的多EE上下文查找的一个示例:

@SuppressWarnings("unchecked")
public static <T> T getObjectFromContext(Class<T> clazz, Namespace namespace)
{
    // java:app/ProductionEJB/OptionsDao!com.danielbchapman.production.beans.SomeDaoRemote
    String lookup;
    if(JEE6)
        lookup = "java:global/" + namespace.toEnterpriseSix() + "/"
                + clazz.getSimpleName().replaceAll("Remote", "") + "!" + clazz.getName();
    else
        lookup = "ProductionEE5/" + clazz.getSimpleName().replaceAll("Remote", "") + "/remote";
    T ret = (T) getObjectFromContext(lookup);
    return ret;
}

您可以看到上下文字符串(jboss7/ee6)是:

java:/global/#{JAR_NAME}/#{IMPLEMENTATION_CLASS}!#{REMOTE_INTERFACE}

对于我的EE5查找(JBOSS 5.1GA)是:

#{EAR_NAME}/#{IMPLEMENTATION_CLASS}

使此简单需要做的是跳入您的管理工具并查看您的部署。您会看到上下文,一般来说,对于每个实现,它往往会有所不同。有一个标准,据我所知,每个人都对此有自己的看法。(忽略我的"命名空间"类,它基本上只有更多信息是java:app还是java:global

发布更多信息,我将尝试向您推动正确的方向。另外,请寻找有关它的教程。我敢肯定这是微不足道的。

您读过这本红书吗?向您显示如何做到这一点。http://www.redbooks.ibm.com/redpapers/pdfs/redp4885.pdf