jsf 2 - Deltaspikes @WindowScoped working with TomEE? -
i'm struggeling how deltaspikes @windowscoped working tomee (did try 1.5.2, 1.5.3-snapshot , 1.6.0-snapshot)
its minimal war, deltaspike 0.4 core+jsf dependencies.
now, did create helloworldbean this:
@named("hw") @windowscoped public class helloworldbean implements passivationcapable,serializable{ private static final long serialversionuid = 1l; private string name; public string getname() { return name; } public void setname(string name) { this.name = name; } @postconstruct public void test() { system.out.println("bean did constructed"); } .... } there's empty beans.xml, empty faces-config.xml , minimal web.xml.
on simple page have.
<h:form> <h:inputtext value="#{hw.name}"></h:inputtext> <h:commandbutton value="welcome me" actionlistener="#{hw.printit}"></h:commandbutton> </h:form> the page works fine, windowid added request , when refresh page see bean not instanciated (i.e. test() gets called once). press commandbutton contextnotactiveexception exception:
org.apache.myfaces.view.facelets.el.contextawareelexception: javax.el.elexception: error reading 'name' on type de.glauche.beans.helloworldbean$$owbnormalscopeproxy0 @ org.apache.myfaces.view.facelets.el.contextawaretagvalueexpression.getvalue(contextawaretagvalueexpression.java:104) @ javax.faces.component._deltastatehelper.eval(_deltastatehelper.java:249) @ javax.faces.component.uioutput.getvalue(uioutput.java:67) @ javax.faces.component.uiinput.getvalue(uiinput.java:151) @ javax.faces.component.uiinput.validate(uiinput.java:618) @ javax.faces.component.uiinput.processvalidators(uiinput.java:274) @ javax.faces.component.uiform.processvalidators(uiform.java:213) @ javax.faces.component.uicomponentbase.processvalidators(uicomponentbase.java:1427) @ javax.faces.component.uicomponentbase.processvalidators(uicomponentbase.java:1427) @ javax.faces.component.uiviewroot._processvalidatorsdefault(uiviewroot.java:1456) @ javax.faces.component.uiviewroot.access$500(uiviewroot.java:74) @ javax.faces.component.uiviewroot$processvalidatorphaseprocessor.process(uiviewroot.java:1563) @ javax.faces.component.uiviewroot._process(uiviewroot.java:1412) @ javax.faces.component.uiviewroot.processvalidators(uiviewroot.java:812) @ org.apache.myfaces.lifecycle.processvalidationsexecutor.execute(processvalidationsexecutor.java:38) @ org.apache.myfaces.lifecycle.lifecycleimpl.executephase(lifecycleimpl.java:170) @ org.apache.myfaces.lifecycle.lifecycleimpl.execute(lifecycleimpl.java:117) @ org.apache.deltaspike.jsf.impl.listener.request.deltaspikelifecyclewrapper.execute(deltaspikelifecyclewrapper.java:75) @ javax.faces.webapp.facesservlet.service(facesservlet.java:197) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:305) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:222) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:123) @ org.apache.tomee.catalina.openejbvalve.invoke(openejbvalve.java:45) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:502) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:171) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:99) @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:953) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:118) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:408) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1023) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:589) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:312) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615) @ java.lang.thread.run(thread.java:724) caused by: javax.el.elexception: error reading 'name' on type de.glauche.beans.helloworldbean$$owbnormalscopeproxy0 @ javax.el.beanelresolver.getvalue(beanelresolver.java:68) @ javax.el.compositeelresolver.getvalue(compositeelresolver.java:58) @ org.apache.myfaces.el.unified.resolver.facescompositeelresolver.getvalue(facescompositeelresolver.java:179) @ org.apache.el.parser.astvalue.getvalue(astvalue.java:183) @ org.apache.el.valueexpressionimpl.getvalue(valueexpressionimpl.java:185) @ org.apache.webbeans.el22.wrappedvalueexpression.getvalue(wrappedvalueexpression.java:70) @ org.apache.myfaces.view.facelets.el.contextawaretagvalueexpression.getvalue(contextawaretagvalueexpression.java:96) ... 35 more caused by: javax.enterprise.context.contextnotactiveexception: webbeans context scope type annotation @windowscoped not exist within current thread @ org.apache.webbeans.container.beanmanagerimpl.getcontext(beanmanagerimpl.java:299) @ org.apache.webbeans.intercept.normalscopedbeaninterceptorhandler.getcontextualinstance(normalscopedbeaninterceptorhandler.java:88) @ org.apache.webbeans.intercept.normalscopedbeaninterceptorhandler.get(normalscopedbeaninterceptorhandler.java:70) @ de.glauche.beans.helloworldbean$$owbnormalscopeproxy0.getname(de/glauche/beans/helloworldbean.java) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:606) @ javax.el.beanelresolver.getvalue(beanelresolver.java:64) ... 41 more am missing obvious? or bug in deltaspike? (or tomee?)
this exception indicates windowid not set in windowcontext. did add proper deltaspike tag fragment?
<!doctype html public "-//w3c//dtd xhtml 1.0 strict//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:ds="http://deltaspike.apache.org/jsf"> <h:head></h:head> <h:body> <ds:windowid/> ... the ds:windowid part important. can debug deltaspikelifecyclewrapper#execute see if windowid gets detected properly.
Comments
Post a Comment