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


Answers

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

Question

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

09:50:19,735 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
09:50:19,735 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
09:50:19,735 WARN  [InterceptorRegistry] applicable interceptors is non-existent for ...
...

一旦将EJB(无状态会话bean)注入到JSF Web应用程序的支持bean中,就会生成警告。 尽管如此,这些bean的工作没有问题,但我仍然想知道这个警告来自哪里,我可以做些什么来避免它。

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

那么有没有人解释是什么原因引发了这个警告(用bean开发人员而不是应用服务器开发人员)以及如何避免?

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




只要按照步骤

  1. 停止JBoss并右键单击服务器实例并选择clean
  2. 右键单击项目并选择运行 - >运行配置
  3. 选择classpath - >添加jar
  4. 从JBoss ASHOME /客户端添加JAR - jbossall-client.jar ,JBoss ASHome / common / lib - 所有jar。
  5. 申请并运行。



我在ejb3-interceptors-aop.xml中试过这个修改

我已经评论这些行:

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

它工作




Links