从远程独立客户端调用EJB

时间:2013-05-06 23:11:47

标签: java java-ee jboss ejb

我在Jboss AS上连接独立桌面客户端和ejb时遇到问题。那么问题是如何在具有swing窗口的java SE中从独立客户端远程调用EJB类?而另一方面,我的概念有问题吗?

img link:http://i.imgur.com/ZnmRROU.jpg

1 个答案:

答案 0 :(得分:1)

首先,请阅读这篇文章EJB invocations from a remote client using JNDI

  1. 你的类路径中需要一个名为'jboss-ejb-client.properties'的文件,文件需要 连接到jboss服务器的基本配置,例如:

    remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED =假 remote.connections =默认 remote.connection.default.host =本地主机 remote.connection.default.port = 4447 remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS =假

  2. 创建EJB远程代理

    Properties p = new Properties();
    p.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
    final Context context = new InitialContext(p);
    final String appName = "YOUR APP NAME";
    final String moduleName = "YOUR EJB MODULE NAME";
    final String distinctName = "DISTINCT NAME";
    final String beanName = "Your bean name";
    final String viewClassName = ClienteDAORemote.class.getName();
    String path = "ejb:" + appName + "/" + moduleName + "/"
            + distinctName + "/" + beanName + "!" + viewClassName;
    Object o = context.lookup(path);
    return (RemoteBean) o; //Cast to your remote interface
    
  3. 你需要:

    1. 具有远程接口的EJB
    2. 独立客户端中的界面副本
    3. 我的属性文件适用于本地和不安全的连接。
    4. 示例实现位于this file。它是连接到EJB Services的示例应用程序,整个repo就像您的概念:

      1. 使用JSF + PrimeFaces的Web应用程序
      2. EJB Bussiness Tier
      3. JPA with hibernate
      4. 独立客户端
      5. EJB Web服务
      6. 对不起,我的英语不好,干杯。