【问题标题】:JBoss 5.1.0GA: "java.lang.IllegalStateException: Null beanMetaData" and "java.lang.RuntimeException: failed to initialize bean container"JBoss 5.1.0GA:“java.lang.IllegalStateException: Null beanMetaData”和“java.lang.RuntimeException: 无法初始化 bean 容器”
【发布时间】:2013-06-03 23:14:42
【问题描述】:

我正在尝试部署一个ear 文件,该文件最初是为Jboss 4.0.3 SP1 编写的。

涉及的“升级”:

  • 使用 javax.annotation.PostConstruct
  • 将 activateConfig 更改为 activationConfig
  • 确保 bean 实现了 import javax.jms.MessageListener

我相信以下堆栈跟踪是由 ejb 文件中的 MDB(一个且唯一的)触发的。

10:42:37,350 ERROR [AbstractKernelController] Error installing to Real: name=vfszip:/C:/opt/jboss-5.1.0.GA/server/default/deploy/my-service.ear/ state=PreReal mode=Manual requiredState=Real
org.jboss.deployers.spi.DeploymentException: Error deploying my-service-ejb.jar: failed to initialize bean container
        at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:196)
        at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:99)
        at org.jboss.deployers.vfs.spi.deployer.AbstractVFSRealDeployer.internalDeploy(AbstractVFSRealDeployer.java:45)
        at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
        at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
        at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
        at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
        at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1210)
        at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
        at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
        at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
        at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
        at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
        at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
        at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
        at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
        at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
        at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
        at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
        at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:362)
        at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:255)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: failed to initialize bean container
        at org.jboss.ejb3.EJBContainer.<init>(EJBContainer.java:253)
        at org.jboss.ejb3.mdb.MessagingContainer.<init>(MessagingContainer.java:87)
        at org.jboss.ejb3.mdb.MDB.<init>(MDB.java:63)
        at org.jboss.ejb3.Ejb3AnnotationHandler.getMDB(Ejb3AnnotationHandler.java:336)
        at org.jboss.ejb3.Ejb3AnnotationHandler.getContainers(Ejb3AnnotationHandler.java:215)
        at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:718)
        at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:669)
        at org.jboss.ejb3.Ejb3Deployment.deployUrl(Ejb3Deployment.java:651)
        at org.jboss.ejb3.Ejb3Deployment.deploy(Ejb3Deployment.java:614)
        at org.jboss.ejb3.Ejb3Deployment.create(Ejb3Deployment.java:491)
        at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:182)
        ... 29 more
Caused by: java.lang.IllegalStateException: Null beannMetaData
        at org.jboss.ejb3.interceptors.metadata.BeanInterceptorMetaDataBridge.setupMetaDataLists(BeanInterceptorMetaDataBridge.java:315)
        at org.jboss.ejb3.interceptors.metadata.BeanInterceptorMetaDataBridge.initialise(BeanInterceptorMetaDataBridge.java:235)
        at org.jboss.ejb3.interceptors.metadata.BeanInterceptorMetaDataBridge.<init>(BeanInterceptorMetaDataBridge.java:138)
        at org.jboss.ejb3.interceptors.metadata.AdditiveBeanInterceptorMetaDataBridge.<init>(AdditiveBeanInterceptorMetaDataBridge.java:48)
        at org.jboss.ejb3.aop.BeanContainer.initialize(BeanContainer.java:194)
        at org.jboss.ejb3.EJBContainer.<init>(EJBContainer.java:249)
        ... 39 more
Caused by: java.lang.NullPointerException
        at org.jboss.ejb3.interceptors.metadata.BeanInterceptorMetaDataBridge.setupMetaDataLists(BeanInterceptorMetaDataBridge.java:268)
        ... 44 more

只是想知道是否有人可以建议看什么。

【问题讨论】:

  • 如果您没有得到任何好的答案,请尝试使用 serverfault。
  • 你在使用注解吗?你能显示带注释的MDB吗?你在某处还有一些部署描述符吗?
  • 你能显示完整的错误跟踪吗?
  • 从 JBoss 4 升级到 5 时遇到类似的错误,你有什么发现吗?

标签: java jboss message jboss5.x ibm-mq


【解决方案1】:

应该很奇怪,但请尝试查看您的项目是否缺少某些库。

我在这里做同样的事情,我试图在谷歌上找到一些答案,但没有任何帮助。

然后,当我再次尝试查看我的项目时,发现缺少一些库。当我添加它时,它可以工作。

【讨论】:

    【解决方案2】:

    我在尝试部署由 MAVEN 创建的 ear 时遇到此错误。
    问题很简单:一个 *-ejb.jar 被声明为 EAR 模块,并且还声明为其他模块中的依赖项。这导致 EAR 包中有 2 个 *-ear.jar,一个在 ROOT 文件夹中,另一个在 lib 文件夹中。

    【讨论】:

      【解决方案3】:

      我在修复一些 arquillian 测试时遇到了这种情况,这就是我最终出现在此页面上的方式 :(。当您有一个在嵌入式类中作为键的实体类时,似乎会引发此错误:

      @Entity
      @Table(name = "Xyz")
      public class Xyz  implements Serializable
      {
          @EmbeddedId
          private XyzPK id;
      ...
      }
      

      我的测试部署缺少 XyzPK 类,我收到了这个奇怪的“Null beannMetaData”错误。添加后一切正常。

      【讨论】:

        猜你喜欢
        • 2017-06-10
        • 1970-01-01
        • 1970-01-01
        • 2013-05-25
        • 1970-01-01
        • 1970-01-01
        • 2017-08-02
        • 1970-01-01
        • 2021-05-19
        相关资源
        最近更新 更多