- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我花了一些时间试图理解 Embeddable Enterprise Bean Applications仍然需要一些澄清。假设我需要 Junit
来测试 EJB
应用程序。
所以我有假设应该发生什么,请帮我找出正确答案:
Junit
是入口点,它将 EJB
应用程序部署到服务器?使 EJB 和 Jboss 被“嵌入”到测试中。 Junit
和“EJB”应用程序是两个独立的 JVM 进程,它们以某种方式通过 jndi 名称或其他方式进行通信(我不使用远程 EJB)。EJBContainer
只是一种 Mock。已编辑:
我找到了一个 example :
请你评论这段代码:
@Test
public void test() throws Exception {
String jbossHomeDir = "E:\\dev_station\\java_station\\Serveurs\\jboss-as-7.1.1.Final";
System.setProperty("jboss.home.dir", jbossHomeDir);
StandaloneServer server = EmbeddedServerFactory.create(new File(
jbossHomeDir), System.getProperties(), System.getenv(),
"org.jboss.logmanager");
server.start();
server.deploy(new File("target/classes"));
Context namingContext = server.getContext();
}
最佳答案
Java EE 6 教程(问题中的第一个链接)说
The embedded container, the enterprise bean components, and the client all are executed in the same virtual machine using the same classpath.
也就是说,JUnit 测试(“客户端”)、嵌入式容器(由 JBoss Wildfly、Glassfish 等实现)和 Java EE 应用程序组件(EJB 等)都运行在同一个 JVM 实例中(相同的过程)。
没有什么是 mock 的。容器服务(事务、注入(inject)等)由实际的 Java EE 服务器实现提供。
因此,问题中列出的这四个选项之间的正确选择是数字 1。
关于java - 了解可嵌入的EJBContainer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39662649/
我是 EJB 的新手。 我正在使用 NetBeans 7.3.1 创建一个简单的 Maven Web 应用程序,使用的 Glassfish 服务器版本是 3.1.2 我正在为 Session Bean
我正在进行 Junit 测试,以验证我的项目中的 SessionBeans。有一个没有接口(interface)的本地 session bean,我想在测试中查找它。 因此,我将此依赖项放入我的 ej
我正在我的 Java EE 应用程序中设置单元测试。我正在使用 JPA、JSF、Netbeans 和 Glassfish。这也是我的第一个真正的 Java 应用程序,所以如果答案愚蠢明显,请原谅我!
我将使用 TomEE 嵌入式 EJBContainer 测试我的 EJB。 这是我的 JUnit 测试用例骨架: package com.xxx.indexer.scheduler.service;
我是一名优秀的程序员,十分优秀!