我对 Arquillian 和ManagedExecutorServices有问题。Arquillian 无法找到默认的ManagedExecutorService. 例外是:Caused by: javax.naming.NameNotFoundException: No object bound to name java:comp/DefaultManagedExecutorService我正在使用 IntelliJ 并GlassFish Embedded 3.1使用 Arquillian执行测试1.4.0.Final。这是我的单元测试:@Slf4j@RunWith(Arquillian.class)public class WorkhorseTest { @Inject private Workhorse workhorse; @Deployment public static WebArchive createDeployment() { return ShrinkWrap.create(WebArchive.class) .addClass(Workhorse.class) .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml"); } @Test public void testExecution() throws Exception { final Future<Integer> result = workhorse.execute(); result.get(1, TimeUnit.MINUTES); log.info("Executed..."); }}这是 EJB:@Slf4j@Singletonpublic class Workhorse { @Resource private ManagedExecutorService mes; public Future<Integer> execute() { return mes.submit(() -> { log.info("Hello from a Runnable"); return 5; }); }}如何ManagedExecutorService使用 Arquillian测试s?
3 回答
慕无忌1623718
TA贡献1744条经验 获得超4个赞
我通过切换依赖项解决了它pom.xml:
老的:
<dependency>
<groupId>org.glassfish.main.extras</groupId>
<artifactId>glassfish-embedded-web</artifactId>
<version>5.0</version>
<scope>provided</scope>
</dependency>
新的:
<dependency>
<groupId>org.glassfish.main.extras</groupId>
<artifactId>glassfish-embedded-all</artifactId>
<version>5.0</version>
<scope>provided</scope>
</dependency>
添加回答
举报
0/150
提交
取消