2

我在将独立桌面客户端与 Jboss AS 上的 ejb 连接时遇到问题。所以问题是如何在带有swing windows的java SE中从独立客户端远程调用EJB类?另一方面,我的概念有问题吗?

图片链接:http: //i.imgur.com/ZnmRROU.jpg

4

1 回答 1

3

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

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

    remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false remote.connections=default remote.connection.default.host=localhost remote.connection.default.port = 4447 remote.connection.default.connect.options。 org.xnio.Options.SASL_POLICY_NOANONYMOUS=false

  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
    

你需要:

  1. 具有远程接口的 EJB
  2. 独立客户端中的界面副本
  3. 我的属性文件用于本地和不安全的连接。

此文件中有一个示例实现。它是一个连接到 EJB 服务的示例应用程序,整个 repo 就像您的概念:

  1. 一个带有 JSF + PrimeFaces 的 Web 应用程序
  2. EJB 业务层
  3. JPA 与休眠
  4. 独立客户端
  5. EJB 网络服务

对不起我的英语不好,干杯。

于 2013-05-07T02:28:10.383 回答