首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jetty和Weld的并行测试

Jetty和Weld的并行测试
EN

Stack Overflow用户
提问于 2013-06-20 17:59:37
回答 1查看 207关注 0票数 1

我想在同一个JVM中并行执行带有CDI/Weld的嵌入式Jetty的单元测试。

对于每个测试方法,都会创建一个具有干净数据库的新jetty实例。按顺序执行是可行的,但是在并行执行时,我遇到了一个异常。

代码语言:javascript
复制
org.jboss.weld.exceptions.DefinitionException: 
    Exception List with 1 exceptions:|Exception 0 
    :|java.lang.RuntimeException: javax.naming.NameAlreadyBoundException: 
     com<|?at com.sun.jersey.server.impl.cdi.CDIExtension.initialize(CDIExtension.java:196)

完整的堆栈跟踪在pastebin上。

服务器和上下文被隔离在不同的jetty服务器实例和端口上。然而,Weld没有意识到这一点,尽管它检测到一个Jetty容器,并且似乎正在使用某个地方的共享状态(也许这是Jetty特有的?)。

有没有人遇到过这个问题,或者有什么建议告诉Weld它不应该注册两次?

EN

回答 1

Stack Overflow用户

发布于 2013-06-21 00:24:17

您可以尝试在每个测试上派生分支,以便它们都在不同的JVM中完成。看起来Weld在每个JVM上存储bean(这是有意义的),当一个新的服务器启动时,它会再次通过引导程序运行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17210735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档