装饰器和装饰类在不同的bean档案中

时间:2012-03-28 09:12:53

标签: decorator cdi jboss7.x ear jboss-weld

我在JBoss AS 7.1.0.Final上运行的耳朵应用程序包含两个罐子:

  • lib/one.jar
  • lib/two.jar

这两个罐子都是CDI bean档案。

two.jar取决于one.jar

班级装饰在one.jar

装饰器类位于two.jar

如果装饰器在beans.xml的{​​{1}}中声明,则不会启用它们。 这是否按预期工作?

由于two.jar是独立于one.jar开发的,并且与two.jar没有依赖关系,我希望装饰器的声明(启用)位于装饰器类的存档中存储。

如何启用装饰器类而不用使用类修饰的类更改存档?

1 个答案:

答案 0 :(得分:5)

根据规范,是的,这是预期的行为。 CDI 1.1希望使这更容易,或者至少清楚一点。对于您想要使用的任何拦截器,装饰器或替代方案,必须在您希望使用它的存档中启用它(beans.xml)。