我在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
没有依赖关系,我希望装饰器的声明(启用)位于装饰器类的存档中存储。
如何启用装饰器类而不用使用类修饰的类更改存档?
答案 0 :(得分:5)
根据规范,是的,这是预期的行为。 CDI 1.1希望使这更容易,或者至少清楚一点。对于您想要使用的任何拦截器,装饰器或替代方案,必须在您希望使用它的存档中启用它(beans.xml)。