Uploaded image for project: 'Admininterface Legacy 4.x (closed)'
  1. Admininterface Legacy 4.x (closed)
  2. MGNLADMLEG-50

Generic TreeHandlerManager with @Singleton annotation causes deployment to fail on JEE7 servers using CDI

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • 5.2.2
    • 5.2, 5.2.1
    • None
    • Wildfire * / Glassfish 4

      As I describe in this forum posting trying to deploy on Wildfire or Glassfish 4 fails because TreeHandlerManager does not comply with the CDI specification - specifically "If the managed bean class is a generic type, it must have scope @Dependent. If a managed bean with a parameterized bean class declares any scope other than @Dependent, the container automatically detects the problem and treats it as a definition error."

      On wildfire this is the exception thrown :

      13:40:58,453 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service jboss.deployment.unit."rocamora2-webapp.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."rocamora2-webapp.war".WeldStartService: Failed to start service
      	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904) [jboss-msc-1.2.0.CR1.jar:1.2.0.CR1]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]
      	at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
      Caused by: org.jboss.weld.exceptions.DefinitionException: WELD-000071: Managed bean class info.magnolia.module.admininterface.TreeHandlerManager must be @Dependent
      	at org.jboss.weld.bean.ManagedBean.checkType(ManagedBean.java:198)
      	at org.jboss.weld.bean.AbstractBean.initializeAfterBeanDiscovery(AbstractBean.java:103)
      	at org.jboss.weld.bean.ManagedBean.initializeAfterBeanDiscovery(ManagedBean.java:113)
      	at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:129)
      	at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:120)
      	at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:60)
      	at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:53)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_45]
      	... 3 more
      

        Acceptance criteria

              fgrilli Federico Grilli
              jportway joshua portway
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: