gpt4 book ai didi

java - 我的代码中的 JNDI 名称在哪里?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:58:47 24 4
gpt4 key购买 nike

我使用 Eclipse 3.7 IDE 创建了一个 EJB2.0,并将其部署在 JBoss 5 应用服务器中(我的 bean 名称是 product)。我正在进行正常的上下文查找(以及调用 ejb 的其他内容),并且能够成功调用 EJB。现在我的问题是 JNDI 名称到底是什么,它在所有这些中用到了什么地方。我的 bean 名称是 JNDI 名称,还是这是我的 JNDI 名称 -> org.jnp.interfaces.NamingContextFactory。 JNDI名称在哪?????我的代码:-

// initial code.............
Context ctx = getContext();
Object obj=ctx.lookup("Product");
ProductHome home =(ProductHome) javax.rmi.PortableRemoteObject.narrow(obj,ProductHome.class);
ProductRemote remote=home.create();

Product prd = new rohit.Product("PRDCamera",001,50.50) ;
remote.addProduct(prd);
remote.updateProduct(prd);
remote.removeProduct(001);
remote.findProduct(001);
remote.findAllProduct();


// getContext Method

public static InitialContext getContext() throws Exception{
Properties pro = new Properties();
pro.put(javax.naming.InitialContext.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
pro.put(javax.naming.InitialContext.PROVIDER_URL,"localhost:1099");
return new InitialContext(pro);
}

最佳答案

您的代码中没有 JNDI 名称。

这是在 EJB 2.0 中查找 EJB 的方式:

Object ejbHome = initialContext.lookup("java:comp/env/com/mycorp/MyEJB");

MyHome myHome = (MyHome)javax.rmi.PortableRemoteObject.narrow(
(org.omg.CORBA.Object)ejbHome, MyHome.class);

在这种情况下,JNDI 名称是 java:comp/env/com/mycorp/MyEJB

在更加明智的 EJB 3.0 中,您只需这样做

MyEJB myEJB = initialContext.lookup("java:comp/env/com/mycorp/MyEJB")

并取消糟糕的家庭界面想法。

关于java - 我的代码中的 JNDI 名称在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9739463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com