如何在websphere中配置和查找JNDI?

时间:2013-07-18 00:54:58

标签: ejb websphere jndi

我正在研究EJB,我在JBOSS中创建了一个简单的EJB示例并成功运行,这是我的步骤:

  1. 在myeclipse中创建一个EJB项目
  2. 创建名为FirstEjb的接口
  3. Create FirstEjbBean实现了FirstEjb接口,并标记了EJB注释

    
        @Remote
        @Stateless
        public class FirstEjbBean implements FirstEjb {    
            @Override
            public String saySomething(String name) {
                return "Hello, " + name;
            }    
        } 
    

  4. 在MyEclipse中创建Java项目名称“EjbClient”,将FirstEjb接口导出为* .jar,并将新的Java项目引用导出

  5. 将JBOSS目录“client”中的所有jar添加到EjbClient项目
  6. 在Ejb中创建一个jndi.properties:

    
        java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
        java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
        java.naming.provider.url=localhost
    

  7. 7.创建类FirstEjbClient.java

    public class FirstEjbClient {
        public static void main(String[] args) throws NamingException {
            InitialContext context = new InitialContext();
            FirstEjb ejb = (FirstEjb) context.lookup("FirstEjbBean/remote");
            String something = ejb.saySomething("Jimmy.Chen");
            System.out.println(something);
        }
    }
    

    然后我可以成功访问EJB。

    问题是,我不知道如何在websphere中这样做。

    有一些问题:

    1. 部署EJB项目后,是否需要在websphere中配置任何内容?像JNDI ??
    2. 我应该将哪些罐子导入客户项目?那些罐子在websphere的目录中?
    3. 我还需要jndi.properties吗?如果需要怎么写?
    4. 我在互联网上搜索了很多,但我找到的只是在websphere中配置数据源。

      抱歉我的英语不好,希望有人能理解并提供一些帮助。

      提前致谢!

      Jimmy.Chen

2 个答案:

答案 0 :(得分:0)

您好,
试试这个:

Properties props= new Properties();
props.setProperty(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
props.setProperty(Context.PROVIDER_URL,"corbaloc:iiop:localhost:2809");
Context ctx = new InitialContext(props);
Object homeObject = ctx.lookup("some.package.MyEJBRemote"); 
MyEJBRemote myEJB = (MyEJBRemote) javax.rmi.PortableRemoteObject.narrow(homeObject,     some.package.MyEJBRemote);

但是我不确定导入所需的jar文件,因为您可以将WebSphere Application Server X运行时库添加到Eclipse中的构建路径中 Eclipse的WAS运行时位于http://www.ibmdw.net/wasdev/

答案 1 :(得分:0)

在Eclipse中创建EJB项目时,会创建EJB部署描述符。您必须在引用选项卡中添加其中的所有JNDI资源。 您必须添加与添加任何其他JAR相同的websphere运行时JAR。