首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >焊接和试验罐

焊接和试验罐
EN

Stack Overflow用户
提问于 2014-02-03 09:33:48
回答 1查看 93关注 0票数 1

我们有一个包含以下模块的maven多模块项目:

  • 史瑞夫
  • 客户端

srv项目包含EJB。在prj/src/test中,我们有@ beans.xml替代部分中指定的EJB替代实现。这个很管用。

项目prj-客户端将prj-srv作为依赖项。此外,它还依赖于类型test的prj-srv,范围测试,因此它可以使用替代的EJB实现进行测试。这个也能用。

现在:在prj/src/main/java中,我们有带有限定符@Cacheable注释的EJB接口的本地实现(以便缓存数据)。我想做的是在prj/src/ test /java中设置测试,以便它们使用我来自prj的测试实现(那些不能缓存,但是谁在乎,因为它是用于测试的)。

我试过:

  • 在prj-client/src/test/java中使用生产者方法(@Produces @Alternative @Cacheable)创建一个类,但我不知道如何配置beans.xml以将其设置为替代方法。
  • 在prj-srv/src/ test /java中创建扩展测试EJB的类,注释@Alternative @Cacheable,并将它们放在替代部分的src/test/resources/main/beans.xml中,但焊缝仍然从src/main/java注入“真正”@Cacheable bean。

是否存在将@Alternative与限定符混合的问题?如何让我的测试使用合格类的替代实现?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-03 09:59:09

刚找到它:我忘了用@Inject标记@Cacheable实现的构造函数。显然,即使它在beans.xml中被标记为一种替代,因为Weld不知道如何初始化它,而不是抛出一个错误,它只是默默地决定忽略这个选项.

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

https://stackoverflow.com/questions/21523736

复制
相关文章

相似问题

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