1

我现在正在学习EJB,我在JBOSS中创建了一个简单的EJB示例并成功运行,以下是我的步骤:

  1. 在 myeclipse 中创建 EJB 项目
  2. 创建一个名为 FirstEjb 的接口
  3. 创建实现FirstEjb接口的FirstEjbBean,并标注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.创建类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. 我应该将哪些 jar 导入 Client 项目?这些罐子在 websphere 的哪个目录中?
  3. 我还需要 jndi.properties 吗?如果需要,如何编写?

我在互联网上搜索了很多,但我发现的只是在 websphere 中配置数据源。

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

提前致谢!

吉米·陈

4

2 回答 2

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
WAS 运行时的构建路径中,位于http://www.ibmdw.net/wasdev/

于 2013-07-18T16:12:37.663 回答
0

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

于 2014-03-21T13:56:58.763 回答