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 <rmpest...@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.petra...@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 <rmpest...@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.petra...@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 <rmpest...@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
> >
>

Reply via email to