【问题标题】:CDI Openwebbeans - how to exclude some packages from scanning?CDI Openwebbeans - 如何从扫描中排除某些包?
【发布时间】:2014-06-12 11:52:31
【问题描述】:

环境:IBM WAS 8.0, CDI 1.0 实现:OpenWebBeans

如何在服务器启动时排除少数包被扫描?

是否有任何可用的 CDI 扩展或需要为此编写自定义扩展?

【问题讨论】:

  • 有没有人设法从扫描中排除类/罐子(如番石榴)?
  • 有人可以帮忙吗?急需解决这个问题!

标签: java-ee-6 cdi openwebbeans


【解决方案1】:

OpenWebBeans-1.2.x 和 OpenWebBeans-1.5.x 支持从扫描中排除包。这对 WAS 帮助不大。

如果您的问题是性能,那么 afaik 没有针对 WAS 的解决方案。 如果问题是其中一个类使您的引导程序崩溃,那么您可以编写一个自己的 CDI 扩展,它使用 ProcessAnnotatedType 并为这些类调用 veto()。这将阻止 CDI 进一步处理该类。

【讨论】:

  • 我尝试了 CDI 扩展来否决()类;此外,deltaspike 中的@Exclude 也是如此,但这种方法对我不起作用。原因是代码甚至在 ProcessAnnotatedType 事件之前就失败了。我认为在 ProcessAnnotatedType 事件期间,容器尝试为类创建带注释的类型,但由于缺少可选依赖项,容器无法做到这一点。
  • 我在 WAS-8.5.5.3 和 8.5.5.11 中使用相同的,它工作正常。抛出 NowClassDefFound 的类型将被扫描器忽略。
猜你喜欢
  • 2015-12-26
  • 1970-01-01
  • 2013-07-08
  • 1970-01-01
  • 1970-01-01
  • 2022-06-27
  • 1970-01-01
  • 2014-03-08
  • 1970-01-01
相关资源
最近更新 更多