收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
public void testEJB()throws NamingException{
EJBContainerejbC=EJBContainer.createEJBContainer();
Contextctx=ejbC.getContext();
MyBean bean=(MyBean)ctx.100kup(“java:global/classes.org/sample/MyBean”);
assertNotNull(bean);
ejbC.close();
}
创建企业Bean容器
该javax.ejb.embedded.EJBContainer抽象类代表企业Bean容器的一个实例,包括创建容器实例的工厂方法。该EJBContainer.createEJBContainer 方法用于创建和初始化一个嵌入的容器实例。
以下代码片段显示了如何创建一个使用容器提供程序的默认设置进行初始化的嵌入容器:
EJBContainer ec = EJBContainer.createEJBContainer();
默认情况下,嵌入式容器将在虚拟机类路径中搜索企业bean模块:包含 META-INF/ejb-jar.xml部署描述符的目录,包含具有企业bean组件注释之一的类文件的目录(@Stateless或包含ejb-jar.xml部署描述符或类的JAR文件带有企业bean注释的文件。任何匹配的条目都被视为同一应用程序中的企业bean模块。一旦在类路径中找到所有有效的企业bean模块,容器将开始初始化模块。当createEJBContainer方法成功返回时,客户端应用程序可以获取对嵌入容器找到的任何企业bean模块的客户端视图的引用。
显式指定要初始化的企业Bean模块
开发人员可以精确地指定嵌入式容器将初始化的企业bean模块。要明确指定由嵌入容器初始化的企业bean模块,请设置 EJBContainer.MODULES属性。
这些模块可以位于运行嵌入式容器和客户端代码的虚拟机类路径中,也可以位于虚拟机类路径之外。
要在虚拟机类路径中指定模块,请将其设置 EJBContainer.MODULES为a String以指定单个模块名称或String包含模块名称的数组。嵌入式容器在虚拟机类路径中搜索与指定名称匹配的企业bean模块:
Properties props = new Properties();
props.setProperty(EJBContainer.MODULES, “mySessionBean”);
EJBContainer ec = EJBContainer.createEJBContainer(props);
要在虚拟机类路径之外指定企业bean模块,请设置EJBContainer.MODULES为一个java.io.File对象或一组File对象。每个File对象引用一个EJB JAR文件,或者一个包含扩展的EJB JAR文件的目录:
Properties props = new Properties();
File ejbJarFile = new File(…);
props.setProperty(EJBContainer.MODULES, ejbJarFile);
EJBContainer ec = EJBContainer.createEJBContainer(props);
查找会话Bean引用
在使用嵌入容器的应用程序中查找会话bean引用:
1、使用一个实例EJBContainer来检索一个 javax.naming.Context对象。
调用EJBContainer.getContext方法来检索Context 对象:
EJBContainer ec = EJBContainer.createEJBContainer();
Context ctx = ec.getContext();
会话bean的引用可以使用便携式JNDI语法中详细描述的可移植JNDI语法获得。例如,要获取对MySessionBean具有无界面视图的本地会话Bean 的引用,请使用以下代码:
MySessionBean msb = (MySessionBean)
ctx.lookup(“java:global/mySessionBean/MySessionBean”);
关闭企业Bean容器
1、从客户端调用close实例的方法 EJBContainer。
收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
ttps://bbs.csdn.net/topics/618679757)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!