I have seen this question posted many places but there seems not to be a solution for it. Therefore, I test my luck trying it here. I am using Glassfish 3.0.1 b.22 with Java EE 6 framework.
Here is my form authentication insideLogin.jsf
<form action="j_security_check">
<h:panelGrid columns="2" bgcolor="#eff5fa" cellspacing="5" frame="box" styleClass="center">
<h:outputLabel value="User ID:"/>
<h:inputText id="j_username" tabindex="1" />
<h:outputLabel value="Password:"/>
<h:inputSecret id="j_password"/>
<h:outputLabel value=""/>
<h:commandButton id="login" value="Login"/>
</h:panelGrid>
</form>
Every time it get to this page, I got this exception. The program still works fine, but it annoys to have this problem.
Session event listener threw exception org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped
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 org.jboss.weld.servlet.HttpSessionManager_$$_javassist_341.setSession(HttpSessionManager_$$_javassist_341.java)
at org.jboss.weld.servlet.ServletLifecycle.restoreSessionContext(ServletLifecycle.java:148)
at org.jboss.weld.servlet.ServletLifecycle.beginSession(ServletLifecycle.java:71)
at org.jboss.weld.servlet.WeldListener.sessionCreated(WeldListener.java:126)
at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:411)
at org.apache.catalina.session.StandardSession.setId(StandardSession.java:391)
at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:803)
at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:326)
at org.apache.catalina.connector.Request.doGetSession(Request.java:2868)
at org.apache.catalina.connector.Request.getSession(Request.java:2566)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:919)
at org.apache.catalina.authenticator.AuthenticatorBase.getSession(AuthenticatorBase.java:859)
at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:233)
at com.sun.web.security.RealmAdapter.invokeAuthenticateDelegate(RealmAdapter.java:1187)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:619)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:615)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.开发者_开发问答DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:637)
Looking at the exception, does GlassFish base their design on JBoss
and Tomcat
?
Every time it get to this page, I got this exception. Now the program will work fine, but it annoys to have this problem
I don't have the answer to this part.
Looking at the exception, does GlassFish base their design on JBoss and Tomcat?
The GlassFish web container is a fork of Tomcat (Tomcat 5.5 IIRC). And the CDI implementation used by GlassFish is JBoss Weld (the RI of CDI).
it looks like this might be related: https://glassfish.dev.java.net/issues/show_bug.cgi?id=12642
You may want to try your app with GlassFish Server 3.1 instead of v3.
精彩评论