在junit中使用EJBcontainer?

在junit中使用EJBcontainer?,junit,ejb,Junit,Ejb,我是JUNIT的新手,试图通过一些项目学习( ).我不知道我们在哪种情况下使用ejb容器,它的用途是什么,这些属性是什么 @BeforeClass public static void start() throws IOException { final File webApp = Archive.archive().copyTo("WEB-INF/classes", jarLocation(UserDAO.class)).asDir();

我是JUNIT的新手,试图通过一些项目学习( ).我不知道我们在哪种情况下使用ejb容器,它的用途是什么,这些属性是什么

 @BeforeClass
        public static void start() throws IOException {
            final File webApp = Archive.archive().copyTo("WEB-INF/classes", jarLocation(UserDAO.class)).asDir();
            final Properties p = new Properties();
            p.setProperty(EJBContainer.APP_NAME, "rest-example");
            p.setProperty(EJBContainer.PROVIDER, "tomee-embedded"); // need web feature
            p.setProperty(EJBContainer.MODULES, webApp.getAbsolutePath());
            p.setProperty(EmbeddedTomEEContainer.TOMEE_EJBCONTAINER_HTTP_PORT, "-1"); // random port
            container = EJBContainer.createEJBContainer(p);
        }

EJBContainer是一种运行容器的方法。TomEE有三种口味: *openejb:完全嵌入(类似JavaSE) *tomee embedded:使用EJBContainer.MODULES在war路径上部署war点 *tomee remote:与嵌入的tomee相同,但在远程JVM中

属性是容器的配置。Portable One(EJBContainer)定义模块(应用程序路径,如果未指定,则使用类路径来查找openejb案例)、提供程序(要使用哪个实现)和应用程序名称(ejb模块名称,如果不需要,我建议您不要依赖它)。您还可以传递不可移植属性。例如,在OpenEJB中,这可以定义数据源

注意,OpenEJB还有一些JUnit运行程序和规则包装此代码(例如)