2 Replies Latest reply: Nov 26, 2010 4:52 PM by Thomas Kernstock RSS

CDI-@ViewScope and Glassfish v3.0.1

Thomas Kernstock Newbie

Hi forum,


after not beeing able to integrate seam3 I tried the CDI-ViewContext implemented by Verborgh. I downloaded the source from GitHub and integrated the source in a simple webapplication with a the test backingbean and index.xhtml found here: http://www.icefaces.org/JForum/posts/downloadAttach/3551.page


I deployed the test.war to Glasfish 3.0.1 and it worked perfectly. I also tried to put Verborgh's code into a .jar and use this in the project as library. It worked too.


But when I deploy this Webproject (unchanged) together with my EJB Project in an EAR File instead of the standalone .war I get the following error: 


org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type be.verborgh.enterprise.context.ViewScoped
     at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:679)
     at org.jboss.weld.bean.proxy.ClientProxyMethodHandler.getProxiedInstance(ClientProxyMethodHandler.java:138)
     at org.jboss.weld.bean.proxy.ClientProxyMethodHandler.invoke(ClientProxyMethodHandler.java:100)
     at org.jboss.weld.util.CleanableMethodHandler.invoke(CleanableMethodHandler.java:43)
     at ding.dong.DemoBacking_$$_javassist_300.isToggled(DemoBacking_$$_javassist_300.java)


I'm not sure if this is a problem in glassfish, the cdi-extension mechanism, with a classloader or if I simply forgot to configure a liitle something.


Any ideas ?


I also can provide the Testproject (Eclipse Helios)


best regards and thanx in advance


Thomas



  • 1. Re: CDI-@ViewScope and Glassfish v3.0.1
    Thomas Kernstock Newbie

    I simply move/copied the .jar with the cdi-extension to the lib directory of the EAR indstead of just holding it in the webapp.


    That did teh trick - now it works like a charm.



    Thomas

  • 2. Re: CDI-@ViewScope and Glassfish v3.0.1
    Thomas Kernstock Newbie

    After repeating the same procedure in my real project, I cannot create any EJBs from the ejb.jar.


    Caused by: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB
         at com.sun.ejb.containers.StatelessSessionContainer$SessionContextFactory.create(StatelessSessionContainer.java:720)
         at com.sun.ejb.containers.util.pool.NonBlockingPool.getObject(NonBlockingPool.java:200)
         at com.sun.ejb.containers.StatelessSessionContainer.getContext(StatelessSessionContainer.java:443)
         ... 65 more
    Caused by: javax.ejb.CreateException: Could not create stateless EJB
         at com.sun.ejb.containers.StatelessSessionContainer.createStatelessEJB(StatelessSessionContainer.java:528)
         at com.sun.ejb.containers.StatelessSessionContainer.access$000(StatelessSessionContainer.java:90)
         at com.sun.ejb.containers.StatelessSessionContainer$SessionContextFactory.create(StatelessSessionContainer.java:718)
         ... 67 more
    Caused by: java.lang.NullPointerException
         at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768)
         at org.jboss.weld.manager.BeanManagerImpl.getBean(BeanManagerImpl.java:1171)
         at org.jboss.weld.manager.BeanManagerImpl.getBean(BeanManagerImpl.java:132)
         at org.glassfish.weld.services.JCDIServiceImpl.
    createJCDIInjectionContext(JCDIServiceImpl.java:145)
         at org.glassfish.weld.services.JCDIServiceImpl.createJCDIInjectionContext(JCDIServiceImpl.java:122)
         at com.sun.ejb.containers.BaseContainer.createEjbInstanceAndContext(BaseContainer.java:1616)
         at com.sun.ejb.containers.StatelessSessionContainer.createStatelessEJB(StatelessSessionContainer.java:469)
         ... 69 more


    So again a problem with the BeanManager.


    Does anybody have a functioning project with a war and an ejb packed up in an ear that uses cdi-extensions mechanism like seam3, codi .....


    regards
    Thomas