JBoss:InterceptorRegistry的警告EJBTHREE-1246是什么意思?

20
我目前正在Jboss AS 5.0.0.GA上开发一个基于EJB 3.0的应用程序,最近在服务器日志中出现了以下警告:
09:50:19,735 WARN  [InterceptorsFactory] EJBTHREE-1246: 不要使用 InterceptorsFactory 和 ManagedObjectAdvisor,InterceptorRegistry 应该通过 bean 容器使用
09:50:19,735 WARN  [InterceptorsFactory] EJBTHREE-1246: 不要使用 InterceptorsFactory 和 ManagedObjectAdvisor,InterceptorRegistry 应该通过 bean 容器使用
09:50:19,735 WARN  [InterceptorRegistry] 适用的拦截器对于...不存在
...
当一个EJB(无状态会话bean)被注入到我的JSF web应用程序的后备bean中时,就会生成这些警告。尽管bean工作正常,但我仍然想知道警告来自何处以及如何避免它。
我已经搜索了一些资料,但没有找到一个好的答案(有些人说,bean开发者不必担心,但这是一个警告,所以我想要一个更好的解决方案)。

那么,有人能解释一下是什么导致了这个警告吗?如何避免它?(从bean开发者的角度而非应用服务器开发者的角度)

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

6个回答

26
据我所了解,关于这个警告的所有可用来源都表明,对于JBoss 5的用户来说,他们无法做任何事情,这只是提醒JBoss开发人员,他们错误地使用了自己的类。
根据开发者的建议,我现在通过更改conf/jboss-log4j.xml中的日志配置来忽略它。我刚刚添加了:
<category name="org.jboss.ejb3.interceptors">
    <priority value="ERROR" />
</category>

7

即使是JBoss EJB3的教程/文档也说您可以安全地忽略这些警告。如果每个人都可以忽略它们,那就不要记录它们!看到这个问题没有被解决真是令人沮丧。


3
没错!我不知道为什么作为产品用户的我需要了解由我无法控制且无法修复警告的内部零件所产生的警告。 - Simon Lehmann

3

我曾经遇到过同样的问题,修改了ejb3-interceptors-aop.xml文件之后,现在可以正常工作。


2
请注释以下代码行: <aspect name="InterceptorsFactory" factory="org.jboss.ejb3.interceptors.aop.InterceptorsFactory" scope="PER_INSTANCE"/>以及 <advice name="invoke" aspect="InterceptorsFactory"/>对我来说没问题! - Oscar

1

我已经尝试在ejb3-interceptors-aop.xml中进行了这个修改。

我已经注释掉了这些行:

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

它可以工作


0

只需按照以下步骤操作

  1. 停止 JBoss 并右键单击服务器实例并选择清理
  2. 右键单击项目,选择运行 -> 运行配置
  3. 选择 classpath -> 添加 jar 包
  4. 从 JBoss ASHOME/client 添加 jar 包 - jbossall-client.jar,从 JBoss ASHome/common/lib 添加全部 jar 包。
  5. 应用并运行。

0

在JBoss 5.1.0中,这些警告不再出现,但是像Simon发布的那样添加类别可以消除5.0.x中的警告记录。


7
它们仍然出现在 JBoss 5.1.0 GA 中:15:24:22,083 警告 [InterceptorsFactory] EJBTHREE-1246: 不要在 ManagedObjectAdvisor 上使用 InterceptorsFactory,应该通过 bean 容器使用 InterceptorRegistry。 - mjn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接