20

我目前正在 JBoss AS 5.0.0.GA 上开发基于 EJB 3.0 的应用程序,最近服务器日志中出现以下警告:

09:50:19,735 WARN [InterceptorsFactory] ​​EJBTHREE-1246:不要将 InterceptorsFactory 与 ManagedObjectAdvisor 一起使用,应通过 bean 容器使用 InterceptorRegistry
09:50:19,735 WARN [InterceptorsFactory] ​​EJBTHREE-1246:不要将 InterceptorsFactory 与 ManagedObjectAdvisor 一起使用,应通过 bean 容器使用 InterceptorRegistry
09:50:19,735 WARN [InterceptorRegistry] 适用的拦截器不存在...
...

只要将 EJB(无状态会话 bean)注入我的 JSF Web 应用程序的支持 bean,就会生成警告。虽然豆子确实可以正常工作,但我仍然想知道该警告来自哪里以及我可以做些什么来避免它。

我已经搜索了一下,但没有找到一个好的答案(有人说,bean开发者不必担心,但它是一个警告,所以我希望有一个更好的解决方案):

那么有没有人解释导致警告的原因(对于 bean 开发人员,而不是应用程序服务器开发人员)以及如何避免它?

更新:我刚刚将 JBoss 升级到 5.0.1.GA(下载发行说明)但不幸的是警告仍然出现。

4

6 回答 6

26

据我了解有关此警告的所有可用资源,JBoss 5 的用户无能为力,本质上只是提醒 JBoss 的开发人员他们错误地使用了自己的类。

根据开发人员的建议,我现在通过更改 conf/jboss-log4j.xml 中的日志配置来忽略它。我刚刚添加了:

<category name="org.jboss.ejb3.interceptors">
    <priority value="ERROR" />
</category>
于 2009-05-22T12:26:12.650 回答
7

甚至 JBoss EJB3 教程/文档都说您可以放心地忽略这些警告。好吧,如果每个人都可以忽略这些,请不要记录它们!看到这个问题没有得到解决令人沮丧。

于 2009-05-22T06:34:20.203 回答
3

我有同样的问题,修改ejb3-interceptors-aop.xml,现在可以正常工作了。

于 2009-12-30T01:13:35.653 回答
1

我已经在 ejb3-interceptors-aop.xml 中尝试过这种修改

我评论了这些行:

<aspect name="InterceptorsFactory" factory="org.jboss.ejb3.interceptors.aop.InterceptorsFactory" scope="PER_INSTANCE"/>  
<advice name="invoke" aspect="InterceptorsFactory"/> 

它有效

于 2011-02-11T14:27:24.640 回答
0

警告不再出现在 JBoss 5.1.0 中,但添加 Simon 发布的类别消除了 5.0.x 中警告的日志记录

于 2009-10-19T15:59:19.047 回答
0

只需按照步骤

  1. 停止 JBoss 并右键单击服务器实例并选择 clean
  2. 右键单击项目并选择运行 -> 运行配置
  3. 选择类路径-> 添加 jars
  4. 从 JBoss ASHOME/client 添加罐子 - jbossall-client.jar,JBoss ASHome/common/lib - 所有罐子。
  5. 应用并运行。
于 2016-03-15T06:34:52.677 回答