EJB的调用

EJB调用.html

EJB的调用

调用 EJB


  1. 配置客户端上下文属性
    在应用程序的 classpath 中创建一个“jboss-ejb-client.properties” 文件,我们可以把它放在应用程序的 ejbModule 文件夹下,该文件中包含以下属性:
     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
     remote.connection.default.username =YOUR_JBOSS_COSOLE_USERNAME
     remote.connection.default.password =YOUR_JBOSS_COSOLE_PASSWORD
    
  2. 给 client 添加所需的 JAR 文件来运行客户端程序
  3. 通过 InitialContext 获得 Context
     private static Context initialContext;
     private static final String PKG_INTERFACES = "org.jboss.ejb.client.naming";
     Properties properties = new Properties();
     properties.put(Context.URL_PKG_PREFIXES, PKG_INTERFACES);
     initialContext = new InitialContext(properties);
    
  4. 得到 EJB 的jndiName

     //appName 表示部署的 ear 文件的名称部分(不包括 '.ear')
     String appName = "";
     //moduleName 表示该EJB jar 文件的名称部分
     String moduleName = "JPAProject"; 
     /* Jboss 7 允许每个部署有一个(可选)唯一的名字,如果我们没有明确该名字distinctName 为 "" */
     String distinctName = "";
     //要调用的 EJB 的类名
     String beanName = "ProjectBean";
     //将 ProjectBean 的 remote 接口放在和 Client 中(包名和 EJB 端相同)
     String interfaceName = ProjectBeanRemote.class.getName();
    
     String jndiName = "ejb:" + appName + "/" + moduleName + "/" + 
       distinctName + "/" + beanName + "!" + interfaceName;
    
  5. 获得 EJB 远程接口
     ProjectBeanRemote PB = (ProjectBeanRemote) context.lookup(jndiName);
    
  6. 通过接口 PB 调用方法

generated by haroopad

原文地址:https://www.cnblogs.com/WCB-ACM/p/5379400.html