You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Gerhard Petracek <ge...@gmail.com> on 2014/03/23 21:43:23 UTC

Re: CODI issue with CDI Observer

hi rafael,

please test the same with deltaspike 0.6

regards,
gerhard

http://www.irian.at

Your JSF/JavaEE powerhouse -
JavaEE Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces



2014-03-23 18:23 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:

> Hi guys,
>
> i'm facing an issue with CODI on Glassfish 4 which i can't observe CDI
> events with notifyObserver = Reception.IF_EXISTS if my bean uses a CODI
> scope, here is some code:
>
> @ViewAccessScoped
> @Named
> public class MyBean implements Serializable{
>
>     @Inject
>     Event<MyEvent> myEvent;
>
>
>     public void fire(){
>         myEvent.fire(new MyEvent());
>     }
> }
>
> @ViewAccessScoped
> //@SessionScoped
> @Named
> public  class AnotherBean implements Serializable{
>
>     protected Logger log = Logger.getLogger(getClass().getSimpleName());
>
>     public void observe(@Observes(notifyObserver = Reception.IF_EXISTS)
> MyEvent event){
>         log.fine("event received:"+event);
>     }
>
>
> i receive nullpointer exception when i fire the event:
>
> javax.faces.FacesException: #{myBean.fire}: java.lang.NullPointerException
>     at
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
>     at
> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
>     at
> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
>     at
> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
>
>
> full stacktrace is here:http://pastebin.com/fMaMqS72
>
> Here is some observations:
>
> - if i replace ViewAccessScoped with SessionScope i get no errors.
>
> - if i remove notifyObserver = Reception.IF_EXISTS i receive the event
> without problems
>
> - I have no issue with JbossAS 7, wildfly and also Glassfish 3.1.1.2
>
>
>
> I pushed a simple project at github which reproduces the issue:
>
> github.com/rmpestano/codi-issue
>
>
> any help is appreciated.
>
> Att,
>
> Rafael M. Pestano
>
> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> Graduando em Ciência da Computação UFRGS
> http://conventions.github.io/home/
>
> http://rpestano.wordpress.com/
> @realpestano
>

Re: CODI issue with CDI Observer

Posted by Rafael Pestano <rm...@yahoo.com.br>.
Hi Thomas,

here it goes: https://issues.apache.org/jira/browse/DELTASPIKE-546



 

Att, 
Rafael M. Pestano
Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
Graduando em Ciência da Computação UFRGS
http://conventions.github.io/home/

http://rpestano.wordpress.com/
@realpestano



Em Segunda-feira, 24 de Março de 2014 5:08, Thomas Andraschko <an...@gmail.com> escreveu:
Ok. Rafael, could you create an issue?



2014-03-23 23:49 GMT+01:00 Gerhard Petracek <ge...@gmail.com>:

> it isn't nice that we need such a workaround, however, we can add it easily
> (in codi as well as in deltaspike).
>
> regards,
> gerhard
>
> http://www.irian.at
>
> Your JSF/JavaEE powerhouse -
> JavaEE Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
>
>
> 2014-03-23 23:07 GMT+01:00 Thomas Andraschko <andraschko.thomas@gmail.com
> >:
>
> > Gerhard, i would add the null check but we should do it in
> AbstractContext.
> > Could it break anything?
> >
> >
> > 2014-03-23 22:57 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:
> >
> > > Hi again,
> > >
> > > i just solved it in my custom scope by checking the null contextual:
> > >
> > > @Override
> > >     public <T> T get(final Contextual<T> contextual, final
> > > CreationalContext<T> creationalContext) {
> > >         if(creationalContext == null){
> > >             return null;
> > >         }
> > >
> > > i dont know what the spec says about trying to get a bean which doesnt
> > > have to participate in an event but in my opinion the easiest way to
> get
> > DS
> > > compatible with GF4 is to
> > > do that nullcheck in deltaspike instead of waiting for GF guys...
> > >
> > >
> >
> https://github.com/apache/deltaspike/blob/master/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/scope/viewaccess/ViewAccessContext.java#L79
> > >
> > >
> > >
> > > Att,
> > >
> > > Rafael M. Pestano
> > > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> > > Graduando em Ciência da Computação UFRGS
> > > http://conventions.github.io/home/
> > >
> > > http://rpestano.wordpress.com/
> > > @realpestano
> > >
> > >
> > >
> > > Em Domingo, 23 de Março de 2014 18:48, Rafael Pestano <
> > > rmpestano@yahoo.com.br> escreveu:
> > > Hi Gerhard,
> > >
> > > i can confirm its a GF4 issue, justed added a simple custom scope and
> > > received the same NPE in the scope GET method:
> > >
> > > @Override
> > >     public <T> T get(final Contextual<T> contextual, final
> > > CreationalContext<T> creationalContext) {
> > >         Bean bean = (Bean) contextual;
> > >         if
> > > (customScopeContextHolder.getBeans().containsKey(bean.getBeanClass()))
> {
> > >             return (T)
> > > customScopeContextHolder.getBean(bean.getBeanClass()).instance;
> > >         } else {
> > >             T t = (T) bean.create(creationalContext);//NPE here,
> > > contextual is null
> > >
> > >
> > > I'll open an issue at glassfish tracker.
> > >
> > > thanks for your help
> > >
> > >
> > >
> > >
> > > Att,
> > > Rafael M. Pestano
> > > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> > > Graduando em Ciência da Computação UFRGS
> > > http://conventions.github.io/home/
> > >
> > > http://rpestano.wordpress.com/
> > > @realpestano
> > >
> > >
> > >
> > >
> > > Em Domingo, 23 de Março de 2014 18:25, Gerhard Petracek <
> > > gerhard.petracek@gmail.com> escreveu:
> > > since the implementation in ds is different and it works with other
> > > servers, it sounds like a general glassfish-issue with custom scopes.
> > >
> > > regards,
> > > gerhard
> > >
> > > http://www.irian.at
> > >
> > > Your JSF/JavaEE powerhouse -
> > > JavaEE Consulting, Development and
> > > Courses in English and German
> > >
> > > Professional Support for Apache MyFaces
> > >
> > >
> > >
> > >
> > > 2014-03-23 22:15 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:
> > >
> > > > Hi gerhard,
> > > >
> > > > same thing with ds 0.6:
> > > >
> > > > [2014-03-23T18:14:20.514-0300] [glassfish 4.0] [WARNING] []
> > > > [javax.enterprise.web.core] [tid: _ThreadID=20
> > > > _ThreadName=http-listener-1(1)] [timeMillis: 1395609260514]
> > [levelValue:
> > > > 900] [[
> > > >   Servlet.service() for servlet FacesServlet threw exception
> > > > java.lang.NullPointerException
> > > >     at
> > > >
> > >
> >
> org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:178)
> > > >     at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:157)
> > > >     at
> > > >
> > >
> >
> org.jboss.weld.context.ForwardingContextual.create(ForwardingContextual.java:27)
> > > >     at
> > > >
> > >
> >
> org.apache.deltaspike.core.util.context.ContextualStorage.createContextualInstance(ContextualStorage.java:117)
> > > >     at
> > > >
> > >
> >
> org.apache.deltaspike.core.util.context.AbstractContext.get(AbstractContext.java:124)
> > > >     at
> > > >
> > >
> >
> org.apache.deltaspike.core.impl.scope.viewaccess.ViewAccessContext.get(ViewAccessContext.java:83)
> > > >     at
> > > >
> > >
> >
> org.jboss.weld.context.PassivatingContextWrapper$AbstractPassivatingContextWrapper.get(PassivatingContextWrapper.java:67)
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Att,
> > > > Rafael M. Pestano
> > > > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do
> Sul
> > > > Graduando em Ciência da Computação UFRGS
> > > > http://conventions.github.io/home/
> > > >
> > > > http://rpestano.wordpress.com/
> > > > @realpestano
> > > >
> > > >
> > > >
> > > > Em Domingo, 23 de Março de 2014 17:44, Gerhard Petracek <
> > > > gerhard.petracek@gmail.com> escreveu:
> > > > hi rafael,
> > > >
> > > > please test the same with deltaspike 0.6
> > > >
> > > > regards,
> > > > gerhard
> > > >
> > > > http://www.irian.at
> > > >
> > > > Your JSF/JavaEE powerhouse -
> > > > JavaEE Consulting, Development and
> > > > Courses in English and German
> > > >
> > > > Professional Support for Apache MyFaces
> > > >
> > > >
> > > >
> > > >
> > > > 2014-03-23 18:23 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:
> > > >
> > > > > Hi guys,
> > > > >
> > > > > i'm facing an issue with CODI on Glassfish 4 which i can't observe
> > CDI
> > > > > events with notifyObserver = Reception.IF_EXISTS if my bean uses a
> > CODI
> > > > > scope, here is some code:
> > > > >
> > > > > @ViewAccessScoped
> > > > > @Named
> > > > > public class MyBean implements Serializable{
> > > > >
> > > > >     @Inject
> > > > >     Event<MyEvent> myEvent;
> > > > >
> > > > >
> > > > >     public void fire(){
> > > > >         myEvent.fire(new MyEvent());
> > > > >     }
> > > > > }
> > > > >
> > > > > @ViewAccessScoped
> > > > > //@SessionScoped
> > > > > @Named
> > > > > public  class AnotherBean implements Serializable{
> > > > >
> > > > >     protected Logger log =
> > > Logger.getLogger(getClass().getSimpleName());
> > > > >
> > > > >     public void observe(@Observes(notifyObserver =
> > Reception.IF_EXISTS)
> > > > > MyEvent event){
> > > > >         log.fine("event received:"+event);
> > > > >     }
> > > > >
> > > > >
> > > > > i receive nullpointer exception when i fire the event:
> > > > >
> > > > > javax.faces.FacesException: #{myBean.fire}:
> > > > java.lang.NullPointerException
> > > > >     at
> > > > >
> > > >
> > >
> >
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
> > > > >     at
> > > > >
> > > >
> > >
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
> > > > >     at
> > > > >
> > > >
> > >
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
> > > > >     at
> > > > >
> > > >
> > >
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
> > > > >
> > > > >
> > > > > full stacktrace is here:http://pastebin.com/fMaMqS72
> > > > >
> > > > > Here is some observations:
> > > > >
> > > > > - if i replace ViewAccessScoped with SessionScope i get no errors.
> > > > >
> > > > > - if i remove notifyObserver = Reception.IF_EXISTS i receive the
> > event
> > > > > without problems
> > > > >
> > > > > - I have no issue with JbossAS 7, wildfly and also Glassfish
> 3.1.1.2
> > > > >
> > > > >
> > > > >
> > > > > I pushed a simple project at github which reproduces the issue:
> > > > >
> > > > > github.com/rmpestano/codi-issue
> > > > >
> > > > >
> > > > > any help is appreciated.
> > > > >
> > > > > Att,
> > > > >
> > > > > Rafael M. Pestano
> > > > >
> > > > > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do
> > Sul
> > > > > Graduando em Ciência da Computação UFRGS
> > > > > http://conventions.github.io/home/
> > > > >
> > > > > http://rpestano.wordpress.com/
> > > > > @realpestano
> > > > >
> > > >
> > >
> >
>

Re: CODI issue with CDI Observer

Posted by Thomas Andraschko <an...@gmail.com>.
Ok. Rafael, could you create an issue?


2014-03-23 23:49 GMT+01:00 Gerhard Petracek <ge...@gmail.com>:

> it isn't nice that we need such a workaround, however, we can add it easily
> (in codi as well as in deltaspike).
>
> regards,
> gerhard
>
> http://www.irian.at
>
> Your JSF/JavaEE powerhouse -
> JavaEE Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
>
>
> 2014-03-23 23:07 GMT+01:00 Thomas Andraschko <andraschko.thomas@gmail.com
> >:
>
> > Gerhard, i would add the null check but we should do it in
> AbstractContext.
> > Could it break anything?
> >
> >
> > 2014-03-23 22:57 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:
> >
> > > Hi again,
> > >
> > > i just solved it in my custom scope by checking the null contextual:
> > >
> > > @Override
> > >     public <T> T get(final Contextual<T> contextual, final
> > > CreationalContext<T> creationalContext) {
> > >         if(creationalContext == null){
> > >             return null;
> > >         }
> > >
> > > i dont know what the spec says about trying to get a bean which doesnt
> > > have to participate in an event but in my opinion the easiest way to
> get
> > DS
> > > compatible with GF4 is to
> > > do that nullcheck in deltaspike instead of waiting for GF guys...
> > >
> > >
> >
> https://github.com/apache/deltaspike/blob/master/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/scope/viewaccess/ViewAccessContext.java#L79
> > >
> > >
> > >
> > > Att,
> > >
> > > Rafael M. Pestano
> > > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> > > Graduando em Ciência da Computação UFRGS
> > > http://conventions.github.io/home/
> > >
> > > http://rpestano.wordpress.com/
> > > @realpestano
> > >
> > >
> > >
> > > Em Domingo, 23 de Março de 2014 18:48, Rafael Pestano <
> > > rmpestano@yahoo.com.br> escreveu:
> > > Hi Gerhard,
> > >
> > > i can confirm its a GF4 issue, justed added a simple custom scope and
> > > received the same NPE in the scope GET method:
> > >
> > > @Override
> > >     public <T> T get(final Contextual<T> contextual, final
> > > CreationalContext<T> creationalContext) {
> > >         Bean bean = (Bean) contextual;
> > >         if
> > > (customScopeContextHolder.getBeans().containsKey(bean.getBeanClass()))
> {
> > >             return (T)
> > > customScopeContextHolder.getBean(bean.getBeanClass()).instance;
> > >         } else {
> > >             T t = (T) bean.create(creationalContext);//NPE here,
> > > contextual is null
> > >
> > >
> > > I'll open an issue at glassfish tracker.
> > >
> > > thanks for your help
> > >
> > >
> > >
> > >
> > > Att,
> > > Rafael M. Pestano
> > > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> > > Graduando em Ciência da Computação UFRGS
> > > http://conventions.github.io/home/
> > >
> > > http://rpestano.wordpress.com/
> > > @realpestano
> > >
> > >
> > >
> > >
> > > Em Domingo, 23 de Março de 2014 18:25, Gerhard Petracek <
> > > gerhard.petracek@gmail.com> escreveu:
> > > since the implementation in ds is different and it works with other
> > > servers, it sounds like a general glassfish-issue with custom scopes.
> > >
> > > regards,
> > > gerhard
> > >
> > > http://www.irian.at
> > >
> > > Your JSF/JavaEE powerhouse -
> > > JavaEE Consulting, Development and
> > > Courses in English and German
> > >
> > > Professional Support for Apache MyFaces
> > >
> > >
> > >
> > >
> > > 2014-03-23 22:15 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:
> > >
> > > > Hi gerhard,
> > > >
> > > > same thing with ds 0.6:
> > > >
> > > > [2014-03-23T18:14:20.514-0300] [glassfish 4.0] [WARNING] []
> > > > [javax.enterprise.web.core] [tid: _ThreadID=20
> > > > _ThreadName=http-listener-1(1)] [timeMillis: 1395609260514]
> > [levelValue:
> > > > 900] [[
> > > >   Servlet.service() for servlet FacesServlet threw exception
> > > > java.lang.NullPointerException
> > > >     at
> > > >
> > >
> >
> org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:178)
> > > >     at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:157)
> > > >     at
> > > >
> > >
> >
> org.jboss.weld.context.ForwardingContextual.create(ForwardingContextual.java:27)
> > > >     at
> > > >
> > >
> >
> org.apache.deltaspike.core.util.context.ContextualStorage.createContextualInstance(ContextualStorage.java:117)
> > > >     at
> > > >
> > >
> >
> org.apache.deltaspike.core.util.context.AbstractContext.get(AbstractContext.java:124)
> > > >     at
> > > >
> > >
> >
> org.apache.deltaspike.core.impl.scope.viewaccess.ViewAccessContext.get(ViewAccessContext.java:83)
> > > >     at
> > > >
> > >
> >
> org.jboss.weld.context.PassivatingContextWrapper$AbstractPassivatingContextWrapper.get(PassivatingContextWrapper.java:67)
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Att,
> > > > Rafael M. Pestano
> > > > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do
> Sul
> > > > Graduando em Ciência da Computação UFRGS
> > > > http://conventions.github.io/home/
> > > >
> > > > http://rpestano.wordpress.com/
> > > > @realpestano
> > > >
> > > >
> > > >
> > > > Em Domingo, 23 de Março de 2014 17:44, Gerhard Petracek <
> > > > gerhard.petracek@gmail.com> escreveu:
> > > > hi rafael,
> > > >
> > > > please test the same with deltaspike 0.6
> > > >
> > > > regards,
> > > > gerhard
> > > >
> > > > http://www.irian.at
> > > >
> > > > Your JSF/JavaEE powerhouse -
> > > > JavaEE Consulting, Development and
> > > > Courses in English and German
> > > >
> > > > Professional Support for Apache MyFaces
> > > >
> > > >
> > > >
> > > >
> > > > 2014-03-23 18:23 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:
> > > >
> > > > > Hi guys,
> > > > >
> > > > > i'm facing an issue with CODI on Glassfish 4 which i can't observe
> > CDI
> > > > > events with notifyObserver = Reception.IF_EXISTS if my bean uses a
> > CODI
> > > > > scope, here is some code:
> > > > >
> > > > > @ViewAccessScoped
> > > > > @Named
> > > > > public class MyBean implements Serializable{
> > > > >
> > > > >     @Inject
> > > > >     Event<MyEvent> myEvent;
> > > > >
> > > > >
> > > > >     public void fire(){
> > > > >         myEvent.fire(new MyEvent());
> > > > >     }
> > > > > }
> > > > >
> > > > > @ViewAccessScoped
> > > > > //@SessionScoped
> > > > > @Named
> > > > > public  class AnotherBean implements Serializable{
> > > > >
> > > > >     protected Logger log =
> > > Logger.getLogger(getClass().getSimpleName());
> > > > >
> > > > >     public void observe(@Observes(notifyObserver =
> > Reception.IF_EXISTS)
> > > > > MyEvent event){
> > > > >         log.fine("event received:"+event);
> > > > >     }
> > > > >
> > > > >
> > > > > i receive nullpointer exception when i fire the event:
> > > > >
> > > > > javax.faces.FacesException: #{myBean.fire}:
> > > > java.lang.NullPointerException
> > > > >     at
> > > > >
> > > >
> > >
> >
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
> > > > >     at
> > > > >
> > > >
> > >
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
> > > > >     at
> > > > >
> > > >
> > >
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
> > > > >     at
> > > > >
> > > >
> > >
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
> > > > >
> > > > >
> > > > > full stacktrace is here:http://pastebin.com/fMaMqS72
> > > > >
> > > > > Here is some observations:
> > > > >
> > > > > - if i replace ViewAccessScoped with SessionScope i get no errors.
> > > > >
> > > > > - if i remove notifyObserver = Reception.IF_EXISTS i receive the
> > event
> > > > > without problems
> > > > >
> > > > > - I have no issue with JbossAS 7, wildfly and also Glassfish
> 3.1.1.2
> > > > >
> > > > >
> > > > >
> > > > > I pushed a simple project at github which reproduces the issue:
> > > > >
> > > > > github.com/rmpestano/codi-issue
> > > > >
> > > > >
> > > > > any help is appreciated.
> > > > >
> > > > > Att,
> > > > >
> > > > > Rafael M. Pestano
> > > > >
> > > > > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do
> > Sul
> > > > > Graduando em Ciência da Computação UFRGS
> > > > > http://conventions.github.io/home/
> > > > >
> > > > > http://rpestano.wordpress.com/
> > > > > @realpestano
> > > > >
> > > >
> > >
> >
>

Re: CODI issue with CDI Observer

Posted by Gerhard Petracek <ge...@gmail.com>.
it isn't nice that we need such a workaround, however, we can add it easily
(in codi as well as in deltaspike).

regards,
gerhard

http://www.irian.at

Your JSF/JavaEE powerhouse -
JavaEE Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces



2014-03-23 23:07 GMT+01:00 Thomas Andraschko <an...@gmail.com>:

> Gerhard, i would add the null check but we should do it in AbstractContext.
> Could it break anything?
>
>
> 2014-03-23 22:57 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:
>
> > Hi again,
> >
> > i just solved it in my custom scope by checking the null contextual:
> >
> > @Override
> >     public <T> T get(final Contextual<T> contextual, final
> > CreationalContext<T> creationalContext) {
> >         if(creationalContext == null){
> >             return null;
> >         }
> >
> > i dont know what the spec says about trying to get a bean which doesnt
> > have to participate in an event but in my opinion the easiest way to get
> DS
> > compatible with GF4 is to
> > do that nullcheck in deltaspike instead of waiting for GF guys...
> >
> >
> https://github.com/apache/deltaspike/blob/master/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/scope/viewaccess/ViewAccessContext.java#L79
> >
> >
> >
> > Att,
> >
> > Rafael M. Pestano
> > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> > Graduando em Ciência da Computação UFRGS
> > http://conventions.github.io/home/
> >
> > http://rpestano.wordpress.com/
> > @realpestano
> >
> >
> >
> > Em Domingo, 23 de Março de 2014 18:48, Rafael Pestano <
> > rmpestano@yahoo.com.br> escreveu:
> > Hi Gerhard,
> >
> > i can confirm its a GF4 issue, justed added a simple custom scope and
> > received the same NPE in the scope GET method:
> >
> > @Override
> >     public <T> T get(final Contextual<T> contextual, final
> > CreationalContext<T> creationalContext) {
> >         Bean bean = (Bean) contextual;
> >         if
> > (customScopeContextHolder.getBeans().containsKey(bean.getBeanClass())) {
> >             return (T)
> > customScopeContextHolder.getBean(bean.getBeanClass()).instance;
> >         } else {
> >             T t = (T) bean.create(creationalContext);//NPE here,
> > contextual is null
> >
> >
> > I'll open an issue at glassfish tracker.
> >
> > thanks for your help
> >
> >
> >
> >
> > Att,
> > Rafael M. Pestano
> > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> > Graduando em Ciência da Computação UFRGS
> > http://conventions.github.io/home/
> >
> > http://rpestano.wordpress.com/
> > @realpestano
> >
> >
> >
> >
> > Em Domingo, 23 de Março de 2014 18:25, Gerhard Petracek <
> > gerhard.petracek@gmail.com> escreveu:
> > since the implementation in ds is different and it works with other
> > servers, it sounds like a general glassfish-issue with custom scopes.
> >
> > regards,
> > gerhard
> >
> > http://www.irian.at
> >
> > Your JSF/JavaEE powerhouse -
> > JavaEE Consulting, Development and
> > Courses in English and German
> >
> > Professional Support for Apache MyFaces
> >
> >
> >
> >
> > 2014-03-23 22:15 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:
> >
> > > Hi gerhard,
> > >
> > > same thing with ds 0.6:
> > >
> > > [2014-03-23T18:14:20.514-0300] [glassfish 4.0] [WARNING] []
> > > [javax.enterprise.web.core] [tid: _ThreadID=20
> > > _ThreadName=http-listener-1(1)] [timeMillis: 1395609260514]
> [levelValue:
> > > 900] [[
> > >   Servlet.service() for servlet FacesServlet threw exception
> > > java.lang.NullPointerException
> > >     at
> > >
> >
> org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:178)
> > >     at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:157)
> > >     at
> > >
> >
> org.jboss.weld.context.ForwardingContextual.create(ForwardingContextual.java:27)
> > >     at
> > >
> >
> org.apache.deltaspike.core.util.context.ContextualStorage.createContextualInstance(ContextualStorage.java:117)
> > >     at
> > >
> >
> org.apache.deltaspike.core.util.context.AbstractContext.get(AbstractContext.java:124)
> > >     at
> > >
> >
> org.apache.deltaspike.core.impl.scope.viewaccess.ViewAccessContext.get(ViewAccessContext.java:83)
> > >     at
> > >
> >
> org.jboss.weld.context.PassivatingContextWrapper$AbstractPassivatingContextWrapper.get(PassivatingContextWrapper.java:67)
> > >
> > >
> > >
> > >
> > >
> > > Att,
> > > Rafael M. Pestano
> > > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> > > Graduando em Ciência da Computação UFRGS
> > > http://conventions.github.io/home/
> > >
> > > http://rpestano.wordpress.com/
> > > @realpestano
> > >
> > >
> > >
> > > Em Domingo, 23 de Março de 2014 17:44, Gerhard Petracek <
> > > gerhard.petracek@gmail.com> escreveu:
> > > hi rafael,
> > >
> > > please test the same with deltaspike 0.6
> > >
> > > regards,
> > > gerhard
> > >
> > > http://www.irian.at
> > >
> > > Your JSF/JavaEE powerhouse -
> > > JavaEE Consulting, Development and
> > > Courses in English and German
> > >
> > > Professional Support for Apache MyFaces
> > >
> > >
> > >
> > >
> > > 2014-03-23 18:23 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:
> > >
> > > > Hi guys,
> > > >
> > > > i'm facing an issue with CODI on Glassfish 4 which i can't observe
> CDI
> > > > events with notifyObserver = Reception.IF_EXISTS if my bean uses a
> CODI
> > > > scope, here is some code:
> > > >
> > > > @ViewAccessScoped
> > > > @Named
> > > > public class MyBean implements Serializable{
> > > >
> > > >     @Inject
> > > >     Event<MyEvent> myEvent;
> > > >
> > > >
> > > >     public void fire(){
> > > >         myEvent.fire(new MyEvent());
> > > >     }
> > > > }
> > > >
> > > > @ViewAccessScoped
> > > > //@SessionScoped
> > > > @Named
> > > > public  class AnotherBean implements Serializable{
> > > >
> > > >     protected Logger log =
> > Logger.getLogger(getClass().getSimpleName());
> > > >
> > > >     public void observe(@Observes(notifyObserver =
> Reception.IF_EXISTS)
> > > > MyEvent event){
> > > >         log.fine("event received:"+event);
> > > >     }
> > > >
> > > >
> > > > i receive nullpointer exception when i fire the event:
> > > >
> > > > javax.faces.FacesException: #{myBean.fire}:
> > > java.lang.NullPointerException
> > > >     at
> > > >
> > >
> >
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
> > > >     at
> > > >
> > >
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
> > > >     at
> > > >
> > >
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
> > > >     at
> > > >
> > >
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
> > > >
> > > >
> > > > full stacktrace is here:http://pastebin.com/fMaMqS72
> > > >
> > > > Here is some observations:
> > > >
> > > > - if i replace ViewAccessScoped with SessionScope i get no errors.
> > > >
> > > > - if i remove notifyObserver = Reception.IF_EXISTS i receive the
> event
> > > > without problems
> > > >
> > > > - I have no issue with JbossAS 7, wildfly and also Glassfish 3.1.1.2
> > > >
> > > >
> > > >
> > > > I pushed a simple project at github which reproduces the issue:
> > > >
> > > > github.com/rmpestano/codi-issue
> > > >
> > > >
> > > > any help is appreciated.
> > > >
> > > > Att,
> > > >
> > > > Rafael M. Pestano
> > > >
> > > > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do
> Sul
> > > > Graduando em Ciência da Computação UFRGS
> > > > http://conventions.github.io/home/
> > > >
> > > > http://rpestano.wordpress.com/
> > > > @realpestano
> > > >
> > >
> >
>

Re: CODI issue with CDI Observer

Posted by Thomas Andraschko <an...@gmail.com>.
Gerhard, i would add the null check but we should do it in AbstractContext.
Could it break anything?


2014-03-23 22:57 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:

> Hi again,
>
> i just solved it in my custom scope by checking the null contextual:
>
> @Override
>     public <T> T get(final Contextual<T> contextual, final
> CreationalContext<T> creationalContext) {
>         if(creationalContext == null){
>             return null;
>         }
>
> i dont know what the spec says about trying to get a bean which doesnt
> have to participate in an event but in my opinion the easiest way to get DS
> compatible with GF4 is to
> do that nullcheck in deltaspike instead of waiting for GF guys...
>
> https://github.com/apache/deltaspike/blob/master/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/scope/viewaccess/ViewAccessContext.java#L79
>
>
>
> Att,
>
> Rafael M. Pestano
> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> Graduando em Ciência da Computação UFRGS
> http://conventions.github.io/home/
>
> http://rpestano.wordpress.com/
> @realpestano
>
>
>
> Em Domingo, 23 de Março de 2014 18:48, Rafael Pestano <
> rmpestano@yahoo.com.br> escreveu:
> Hi Gerhard,
>
> i can confirm its a GF4 issue, justed added a simple custom scope and
> received the same NPE in the scope GET method:
>
> @Override
>     public <T> T get(final Contextual<T> contextual, final
> CreationalContext<T> creationalContext) {
>         Bean bean = (Bean) contextual;
>         if
> (customScopeContextHolder.getBeans().containsKey(bean.getBeanClass())) {
>             return (T)
> customScopeContextHolder.getBean(bean.getBeanClass()).instance;
>         } else {
>             T t = (T) bean.create(creationalContext);//NPE here,
> contextual is null
>
>
> I'll open an issue at glassfish tracker.
>
> thanks for your help
>
>
>
>
> Att,
> Rafael M. Pestano
> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> Graduando em Ciência da Computação UFRGS
> http://conventions.github.io/home/
>
> http://rpestano.wordpress.com/
> @realpestano
>
>
>
>
> Em Domingo, 23 de Março de 2014 18:25, Gerhard Petracek <
> gerhard.petracek@gmail.com> escreveu:
> since the implementation in ds is different and it works with other
> servers, it sounds like a general glassfish-issue with custom scopes.
>
> regards,
> gerhard
>
> http://www.irian.at
>
> Your JSF/JavaEE powerhouse -
> JavaEE Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
>
>
>
> 2014-03-23 22:15 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:
>
> > Hi gerhard,
> >
> > same thing with ds 0.6:
> >
> > [2014-03-23T18:14:20.514-0300] [glassfish 4.0] [WARNING] []
> > [javax.enterprise.web.core] [tid: _ThreadID=20
> > _ThreadName=http-listener-1(1)] [timeMillis: 1395609260514] [levelValue:
> > 900] [[
> >   Servlet.service() for servlet FacesServlet threw exception
> > java.lang.NullPointerException
> >     at
> >
> org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:178)
> >     at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:157)
> >     at
> >
> org.jboss.weld.context.ForwardingContextual.create(ForwardingContextual.java:27)
> >     at
> >
> org.apache.deltaspike.core.util.context.ContextualStorage.createContextualInstance(ContextualStorage.java:117)
> >     at
> >
> org.apache.deltaspike.core.util.context.AbstractContext.get(AbstractContext.java:124)
> >     at
> >
> org.apache.deltaspike.core.impl.scope.viewaccess.ViewAccessContext.get(ViewAccessContext.java:83)
> >     at
> >
> org.jboss.weld.context.PassivatingContextWrapper$AbstractPassivatingContextWrapper.get(PassivatingContextWrapper.java:67)
> >
> >
> >
> >
> >
> > Att,
> > Rafael M. Pestano
> > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> > Graduando em Ciência da Computação UFRGS
> > http://conventions.github.io/home/
> >
> > http://rpestano.wordpress.com/
> > @realpestano
> >
> >
> >
> > Em Domingo, 23 de Março de 2014 17:44, Gerhard Petracek <
> > gerhard.petracek@gmail.com> escreveu:
> > hi rafael,
> >
> > please test the same with deltaspike 0.6
> >
> > regards,
> > gerhard
> >
> > http://www.irian.at
> >
> > Your JSF/JavaEE powerhouse -
> > JavaEE Consulting, Development and
> > Courses in English and German
> >
> > Professional Support for Apache MyFaces
> >
> >
> >
> >
> > 2014-03-23 18:23 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:
> >
> > > Hi guys,
> > >
> > > i'm facing an issue with CODI on Glassfish 4 which i can't observe CDI
> > > events with notifyObserver = Reception.IF_EXISTS if my bean uses a CODI
> > > scope, here is some code:
> > >
> > > @ViewAccessScoped
> > > @Named
> > > public class MyBean implements Serializable{
> > >
> > >     @Inject
> > >     Event<MyEvent> myEvent;
> > >
> > >
> > >     public void fire(){
> > >         myEvent.fire(new MyEvent());
> > >     }
> > > }
> > >
> > > @ViewAccessScoped
> > > //@SessionScoped
> > > @Named
> > > public  class AnotherBean implements Serializable{
> > >
> > >     protected Logger log =
> Logger.getLogger(getClass().getSimpleName());
> > >
> > >     public void observe(@Observes(notifyObserver = Reception.IF_EXISTS)
> > > MyEvent event){
> > >         log.fine("event received:"+event);
> > >     }
> > >
> > >
> > > i receive nullpointer exception when i fire the event:
> > >
> > > javax.faces.FacesException: #{myBean.fire}:
> > java.lang.NullPointerException
> > >     at
> > >
> >
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
> > >     at
> > >
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
> > >     at
> > >
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
> > >     at
> > >
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
> > >
> > >
> > > full stacktrace is here:http://pastebin.com/fMaMqS72
> > >
> > > Here is some observations:
> > >
> > > - if i replace ViewAccessScoped with SessionScope i get no errors.
> > >
> > > - if i remove notifyObserver = Reception.IF_EXISTS i receive the event
> > > without problems
> > >
> > > - I have no issue with JbossAS 7, wildfly and also Glassfish 3.1.1.2
> > >
> > >
> > >
> > > I pushed a simple project at github which reproduces the issue:
> > >
> > > github.com/rmpestano/codi-issue
> > >
> > >
> > > any help is appreciated.
> > >
> > > Att,
> > >
> > > Rafael M. Pestano
> > >
> > > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> > > Graduando em Ciência da Computação UFRGS
> > > http://conventions.github.io/home/
> > >
> > > http://rpestano.wordpress.com/
> > > @realpestano
> > >
> >
>

Re: CODI issue with CDI Observer

Posted by Rafael Pestano <rm...@yahoo.com.br>.
Hi again,

i just solved it in my custom scope by checking the null contextual:

@Override
    public <T> T get(final Contextual<T> contextual, final CreationalContext<T> creationalContext) {
        if(creationalContext == null){
            return null;
        }

i dont know what the spec says about trying to get a bean which doesnt have to participate in an event but in my opinion the easiest way to get DS compatible with GF4 is to 
do that nullcheck in deltaspike instead of waiting for GF guys...
https://github.com/apache/deltaspike/blob/master/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/scope/viewaccess/ViewAccessContext.java#L79



Att, 

Rafael M. Pestano
Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
Graduando em Ciência da Computação UFRGS
http://conventions.github.io/home/

http://rpestano.wordpress.com/
@realpestano



Em Domingo, 23 de Março de 2014 18:48, Rafael Pestano <rm...@yahoo.com.br> escreveu:
Hi Gerhard,

i can confirm its a GF4 issue, justed added a simple custom scope and received the same NPE in the scope GET method:

@Override
    public <T> T get(final Contextual<T> contextual, final CreationalContext<T> creationalContext) {
        Bean bean = (Bean) contextual;
        if (customScopeContextHolder.getBeans().containsKey(bean.getBeanClass())) {
            return (T) customScopeContextHolder.getBean(bean.getBeanClass()).instance;
        } else {
            T t = (T) bean.create(creationalContext);//NPE here, contextual is null


I'll open an issue at glassfish tracker.

thanks for your help


 

Att, 
Rafael M. Pestano
Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
Graduando em Ciência da Computação UFRGS
http://conventions.github.io/home/

http://rpestano.wordpress.com/
@realpestano




Em Domingo, 23 de Março de 2014 18:25, Gerhard Petracek <ge...@gmail.com> escreveu:
since the implementation in ds is different and it works with other
servers, it sounds like a general glassfish-issue with custom scopes.

regards,
gerhard

http://www.irian.at

Your JSF/JavaEE powerhouse -
JavaEE Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces




2014-03-23 22:15 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:

> Hi gerhard,
>
> same thing with ds 0.6:
>
> [2014-03-23T18:14:20.514-0300] [glassfish 4.0] [WARNING] []
> [javax.enterprise.web.core] [tid: _ThreadID=20
> _ThreadName=http-listener-1(1)] [timeMillis: 1395609260514] [levelValue:
> 900] [[
>   Servlet.service() for servlet FacesServlet threw exception
> java.lang.NullPointerException
>     at
> org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:178)
>     at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:157)
>     at
> org.jboss.weld.context.ForwardingContextual.create(ForwardingContextual.java:27)
>     at
> org.apache.deltaspike.core.util.context.ContextualStorage.createContextualInstance(ContextualStorage.java:117)
>     at
> org.apache.deltaspike.core.util.context.AbstractContext.get(AbstractContext.java:124)
>     at
> org.apache.deltaspike.core.impl.scope.viewaccess.ViewAccessContext.get(ViewAccessContext.java:83)
>     at
> org.jboss.weld.context.PassivatingContextWrapper$AbstractPassivatingContextWrapper.get(PassivatingContextWrapper.java:67)
>
>
>
>
>
> Att,
> Rafael M. Pestano
> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> Graduando em Ciência da Computação UFRGS
> http://conventions.github.io/home/
>
> http://rpestano.wordpress.com/
> @realpestano
>
>
>
> Em Domingo, 23 de Março de 2014 17:44, Gerhard Petracek <
> gerhard.petracek@gmail.com> escreveu:
> hi rafael,
>
> please test the same with deltaspike 0.6
>
> regards,
> gerhard
>
> http://www.irian.at
>
> Your JSF/JavaEE powerhouse -
> JavaEE Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
>
>
>
> 2014-03-23 18:23 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:
>
> > Hi guys,
> >
> > i'm facing an issue with CODI on Glassfish 4 which i can't observe CDI
> > events with notifyObserver = Reception.IF_EXISTS if my bean uses a CODI
> > scope, here is some code:
> >
> > @ViewAccessScoped
> > @Named
> > public class MyBean implements Serializable{
> >
> >     @Inject
> >     Event<MyEvent> myEvent;
> >
> >
> >     public void fire(){
> >         myEvent.fire(new MyEvent());
> >     }
> > }
> >
> > @ViewAccessScoped
> > //@SessionScoped
> > @Named
> > public  class AnotherBean implements Serializable{
> >
> >     protected Logger log = Logger.getLogger(getClass().getSimpleName());
> >
> >     public void observe(@Observes(notifyObserver = Reception.IF_EXISTS)
> > MyEvent event){
> >         log.fine("event received:"+event);
> >     }
> >
> >
> > i receive nullpointer exception when i fire the event:
> >
> > javax.faces.FacesException: #{myBean.fire}:
> java.lang.NullPointerException
> >     at
> >
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
> >     at
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
> >     at
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
> >     at
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
> >
> >
> > full stacktrace is here:http://pastebin.com/fMaMqS72
> >
> > Here is some observations:
> >
> > - if i replace ViewAccessScoped with SessionScope i get no errors.
> >
> > - if i remove notifyObserver = Reception.IF_EXISTS i receive the event
> > without problems
> >
> > - I have no issue with JbossAS 7, wildfly and also Glassfish 3.1.1.2
> >
> >
> >
> > I pushed a simple project at github which reproduces the issue:
> >
> > github.com/rmpestano/codi-issue
> >
> >
> > any help is appreciated.
> >
> > Att,
> >
> > Rafael M. Pestano
> >
> > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> > Graduando em Ciência da Computação UFRGS
> > http://conventions.github.io/home/
> >
> > http://rpestano.wordpress.com/
> > @realpestano
> >
>

Re: CODI issue with CDI Observer

Posted by Rafael Pestano <rm...@yahoo.com.br>.
Hi Gerhard,

i can confirm its a GF4 issue, justed added a simple custom scope and received the same NPE in the scope GET method:

@Override
    public <T> T get(final Contextual<T> contextual, final CreationalContext<T> creationalContext) {
        Bean bean = (Bean) contextual;
        if (customScopeContextHolder.getBeans().containsKey(bean.getBeanClass())) {
            return (T) customScopeContextHolder.getBean(bean.getBeanClass()).instance;
        } else {
            T t = (T) bean.create(creationalContext);//NPE here, contextual is null


I'll open an issue at glassfish tracker.

thanks for your help


 

Att, 
Rafael M. Pestano
Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
Graduando em Ciência da Computação UFRGS
http://conventions.github.io/home/

http://rpestano.wordpress.com/
@realpestano



Em Domingo, 23 de Março de 2014 18:25, Gerhard Petracek <ge...@gmail.com> escreveu:
since the implementation in ds is different and it works with other
servers, it sounds like a general glassfish-issue with custom scopes.

regards,
gerhard

http://www.irian.at

Your JSF/JavaEE powerhouse -
JavaEE Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces




2014-03-23 22:15 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:

> Hi gerhard,
>
> same thing with ds 0.6:
>
> [2014-03-23T18:14:20.514-0300] [glassfish 4.0] [WARNING] []
> [javax.enterprise.web.core] [tid: _ThreadID=20
> _ThreadName=http-listener-1(1)] [timeMillis: 1395609260514] [levelValue:
> 900] [[
>   Servlet.service() for servlet FacesServlet threw exception
> java.lang.NullPointerException
>     at
> org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:178)
>     at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:157)
>     at
> org.jboss.weld.context.ForwardingContextual.create(ForwardingContextual.java:27)
>     at
> org.apache.deltaspike.core.util.context.ContextualStorage.createContextualInstance(ContextualStorage.java:117)
>     at
> org.apache.deltaspike.core.util.context.AbstractContext.get(AbstractContext.java:124)
>     at
> org.apache.deltaspike.core.impl.scope.viewaccess.ViewAccessContext.get(ViewAccessContext.java:83)
>     at
> org.jboss.weld.context.PassivatingContextWrapper$AbstractPassivatingContextWrapper.get(PassivatingContextWrapper.java:67)
>
>
>
>
>
> Att,
> Rafael M. Pestano
> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> Graduando em Ciência da Computação UFRGS
> http://conventions.github.io/home/
>
> http://rpestano.wordpress.com/
> @realpestano
>
>
>
> Em Domingo, 23 de Março de 2014 17:44, Gerhard Petracek <
> gerhard.petracek@gmail.com> escreveu:
> hi rafael,
>
> please test the same with deltaspike 0.6
>
> regards,
> gerhard
>
> http://www.irian.at
>
> Your JSF/JavaEE powerhouse -
> JavaEE Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
>
>
>
> 2014-03-23 18:23 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:
>
> > Hi guys,
> >
> > i'm facing an issue with CODI on Glassfish 4 which i can't observe CDI
> > events with notifyObserver = Reception.IF_EXISTS if my bean uses a CODI
> > scope, here is some code:
> >
> > @ViewAccessScoped
> > @Named
> > public class MyBean implements Serializable{
> >
> >     @Inject
> >     Event<MyEvent> myEvent;
> >
> >
> >     public void fire(){
> >         myEvent.fire(new MyEvent());
> >     }
> > }
> >
> > @ViewAccessScoped
> > //@SessionScoped
> > @Named
> > public  class AnotherBean implements Serializable{
> >
> >     protected Logger log = Logger.getLogger(getClass().getSimpleName());
> >
> >     public void observe(@Observes(notifyObserver = Reception.IF_EXISTS)
> > MyEvent event){
> >         log.fine("event received:"+event);
> >     }
> >
> >
> > i receive nullpointer exception when i fire the event:
> >
> > javax.faces.FacesException: #{myBean.fire}:
> java.lang.NullPointerException
> >     at
> >
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
> >     at
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
> >     at
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
> >     at
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
> >
> >
> > full stacktrace is here:http://pastebin.com/fMaMqS72
> >
> > Here is some observations:
> >
> > - if i replace ViewAccessScoped with SessionScope i get no errors.
> >
> > - if i remove notifyObserver = Reception.IF_EXISTS i receive the event
> > without problems
> >
> > - I have no issue with JbossAS 7, wildfly and also Glassfish 3.1.1.2
> >
> >
> >
> > I pushed a simple project at github which reproduces the issue:
> >
> > github.com/rmpestano/codi-issue
> >
> >
> > any help is appreciated.
> >
> > Att,
> >
> > Rafael M. Pestano
> >
> > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> > Graduando em Ciência da Computação UFRGS
> > http://conventions.github.io/home/
> >
> > http://rpestano.wordpress.com/
> > @realpestano
> >
>

Re: CODI issue with CDI Observer

Posted by Gerhard Petracek <ge...@gmail.com>.
since the implementation in ds is different and it works with other
servers, it sounds like a general glassfish-issue with custom scopes.

regards,
gerhard

http://www.irian.at

Your JSF/JavaEE powerhouse -
JavaEE Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces



2014-03-23 22:15 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:

> Hi gerhard,
>
> same thing with ds 0.6:
>
> [2014-03-23T18:14:20.514-0300] [glassfish 4.0] [WARNING] []
> [javax.enterprise.web.core] [tid: _ThreadID=20
> _ThreadName=http-listener-1(1)] [timeMillis: 1395609260514] [levelValue:
> 900] [[
>   Servlet.service() for servlet FacesServlet threw exception
> java.lang.NullPointerException
>     at
> org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:178)
>     at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:157)
>     at
> org.jboss.weld.context.ForwardingContextual.create(ForwardingContextual.java:27)
>     at
> org.apache.deltaspike.core.util.context.ContextualStorage.createContextualInstance(ContextualStorage.java:117)
>     at
> org.apache.deltaspike.core.util.context.AbstractContext.get(AbstractContext.java:124)
>     at
> org.apache.deltaspike.core.impl.scope.viewaccess.ViewAccessContext.get(ViewAccessContext.java:83)
>     at
> org.jboss.weld.context.PassivatingContextWrapper$AbstractPassivatingContextWrapper.get(PassivatingContextWrapper.java:67)
>
>
>
>
>
> Att,
> Rafael M. Pestano
> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> Graduando em Ciência da Computação UFRGS
> http://conventions.github.io/home/
>
> http://rpestano.wordpress.com/
> @realpestano
>
>
>
> Em Domingo, 23 de Março de 2014 17:44, Gerhard Petracek <
> gerhard.petracek@gmail.com> escreveu:
> hi rafael,
>
> please test the same with deltaspike 0.6
>
> regards,
> gerhard
>
> http://www.irian.at
>
> Your JSF/JavaEE powerhouse -
> JavaEE Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
>
>
>
> 2014-03-23 18:23 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:
>
> > Hi guys,
> >
> > i'm facing an issue with CODI on Glassfish 4 which i can't observe CDI
> > events with notifyObserver = Reception.IF_EXISTS if my bean uses a CODI
> > scope, here is some code:
> >
> > @ViewAccessScoped
> > @Named
> > public class MyBean implements Serializable{
> >
> >     @Inject
> >     Event<MyEvent> myEvent;
> >
> >
> >     public void fire(){
> >         myEvent.fire(new MyEvent());
> >     }
> > }
> >
> > @ViewAccessScoped
> > //@SessionScoped
> > @Named
> > public  class AnotherBean implements Serializable{
> >
> >     protected Logger log = Logger.getLogger(getClass().getSimpleName());
> >
> >     public void observe(@Observes(notifyObserver = Reception.IF_EXISTS)
> > MyEvent event){
> >         log.fine("event received:"+event);
> >     }
> >
> >
> > i receive nullpointer exception when i fire the event:
> >
> > javax.faces.FacesException: #{myBean.fire}:
> java.lang.NullPointerException
> >     at
> >
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
> >     at
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
> >     at
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
> >     at
> >
> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
> >
> >
> > full stacktrace is here:http://pastebin.com/fMaMqS72
> >
> > Here is some observations:
> >
> > - if i replace ViewAccessScoped with SessionScope i get no errors.
> >
> > - if i remove notifyObserver = Reception.IF_EXISTS i receive the event
> > without problems
> >
> > - I have no issue with JbossAS 7, wildfly and also Glassfish 3.1.1.2
> >
> >
> >
> > I pushed a simple project at github which reproduces the issue:
> >
> > github.com/rmpestano/codi-issue
> >
> >
> > any help is appreciated.
> >
> > Att,
> >
> > Rafael M. Pestano
> >
> > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> > Graduando em Ciência da Computação UFRGS
> > http://conventions.github.io/home/
> >
> > http://rpestano.wordpress.com/
> > @realpestano
> >
>

Re: CODI issue with CDI Observer

Posted by Rafael Pestano <rm...@yahoo.com.br>.
Hi gerhard,

same thing with ds 0.6:

[2014-03-23T18:14:20.514-0300] [glassfish 4.0] [WARNING] [] [javax.enterprise.web.core] [tid: _ThreadID=20 _ThreadName=http-listener-1(1)] [timeMillis: 1395609260514] [levelValue: 900] [[
  Servlet.service() for servlet FacesServlet threw exception
java.lang.NullPointerException
    at org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:178)
    at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:157)
    at org.jboss.weld.context.ForwardingContextual.create(ForwardingContextual.java:27)
    at org.apache.deltaspike.core.util.context.ContextualStorage.createContextualInstance(ContextualStorage.java:117)
    at org.apache.deltaspike.core.util.context.AbstractContext.get(AbstractContext.java:124)
    at org.apache.deltaspike.core.impl.scope.viewaccess.ViewAccessContext.get(ViewAccessContext.java:83)
    at org.jboss.weld.context.PassivatingContextWrapper$AbstractPassivatingContextWrapper.get(PassivatingContextWrapper.java:67)



 

Att, 
Rafael M. Pestano
Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
Graduando em Ciência da Computação UFRGS
http://conventions.github.io/home/

http://rpestano.wordpress.com/
@realpestano



Em Domingo, 23 de Março de 2014 17:44, Gerhard Petracek <ge...@gmail.com> escreveu:
hi rafael,

please test the same with deltaspike 0.6

regards,
gerhard

http://www.irian.at

Your JSF/JavaEE powerhouse -
JavaEE Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces




2014-03-23 18:23 GMT+01:00 Rafael Pestano <rm...@yahoo.com.br>:

> Hi guys,
>
> i'm facing an issue with CODI on Glassfish 4 which i can't observe CDI
> events with notifyObserver = Reception.IF_EXISTS if my bean uses a CODI
> scope, here is some code:
>
> @ViewAccessScoped
> @Named
> public class MyBean implements Serializable{
>
>     @Inject
>     Event<MyEvent> myEvent;
>
>
>     public void fire(){
>         myEvent.fire(new MyEvent());
>     }
> }
>
> @ViewAccessScoped
> //@SessionScoped
> @Named
> public  class AnotherBean implements Serializable{
>
>     protected Logger log = Logger.getLogger(getClass().getSimpleName());
>
>     public void observe(@Observes(notifyObserver = Reception.IF_EXISTS)
> MyEvent event){
>         log.fine("event received:"+event);
>     }
>
>
> i receive nullpointer exception when i fire the event:
>
> javax.faces.FacesException: #{myBean.fire}: java.lang.NullPointerException
>     at
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
>     at
> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
>     at
> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
>     at
> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
>
>
> full stacktrace is here:http://pastebin.com/fMaMqS72
>
> Here is some observations:
>
> - if i replace ViewAccessScoped with SessionScope i get no errors.
>
> - if i remove notifyObserver = Reception.IF_EXISTS i receive the event
> without problems
>
> - I have no issue with JbossAS 7, wildfly and also Glassfish 3.1.1.2
>
>
>
> I pushed a simple project at github which reproduces the issue:
>
> github.com/rmpestano/codi-issue
>
>
> any help is appreciated.
>
> Att,
>
> Rafael M. Pestano
>
> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> Graduando em Ciência da Computação UFRGS
> http://conventions.github.io/home/
>
> http://rpestano.wordpress.com/
> @realpestano
>