You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Romain Manni-Bucau <rm...@gmail.com> on 2011/11/03 02:14:59 UTC

testSessionContextSharedBetweenServletRequestsInSameHttpSession(org.jboss.jsr299.tck.tests.context.session.SessionContextTest):

Hi,

it seems this tck test can fail depending of the build:

*Failed tests:
testSessionContextSharedBetweenServletRequestsInSameHttpSession(org.jboss.jsr299.tck.tests.context.session.SessionContextTest):
500 Internal Server Error for
http://localhost:33720/org.jboss.jsr299.tck.tests.context.session.SessionContextTest/IntrospectSession*


any idea? it just test that when you call twice a servlet you get the
same session scoped cdi bean.

the error is
*
*
*
 javax.enterprise.context.ContextNotActiveException: WebBeans context with
scope type annotation @SessionScoped does
    not exist within current thread
         at
org.apache.webbeans.container.BeanManagerImpl.getContext(BeanManagerImpl.java:341)
         at
org.apache.webbeans.container.InjectableBeanManager.getContext(InjectableBeanManager.java:115)
*

- Romain

Re: testSessionContextSharedBetweenServletRequestsInSameHttpSession(org.jboss.jsr299.tck.tests.context.session.SessionContextTest):

Posted by Romain Manni-Bucau <rm...@gmail.com>.
i thought it could be the cookie handling which is sometimes bad.

i mean:
1) new request
2) getSession()
3) tomcat generate a session id
4) this id is sent to the client and stored in a cookie
5) getSession()
6) the client sent with the request the previous session id
7) etc

so if the sent session id by the client is not a session id created by
tomcat it will create another session.

what i think is the default cookie policy of http client (the lib used to
simulate a client in cdi tcks) can maybe corrupt some
characters...sometimes. That's why it fails sometimes.

Setting the policy to browser compatibility instead of the default one
which is a deprecated mode (sorry i forgot the exact ref :() could fix the
issue...which is not an issue if it is the correct cause ;).

@David: what do you think?

- Romain


2011/11/3 David Jencks <da...@yahoo.com>

> Hi Romain,
>
> I think I might have encountered this working with geronimo + jcdi tck.
>  If it's the same problem, the test worked OK run by itself but usually
> failed when run in a group.  When I investigated the harness appeared to be
> arbitrarily creating more http sessions when running in a group than when
> running just the one test, in particular it wiped out the first session
> from the first request before the second, causing the scoped object to get
> lost.  I couldn't figure out why the session creation behavior was
> different in the two situations.
>
> hope you have better luck....
> david jencks
>
> On Nov 2, 2011, at 6:14 PM, Romain Manni-Bucau wrote:
>
> > Hi,
> >
> > it seems this tck test can fail depending of the build:
> >
> > *Failed tests:
> >
> testSessionContextSharedBetweenServletRequestsInSameHttpSession(org.jboss.jsr299.tck.tests.context.session.SessionContextTest):
> > 500 Internal Server Error for
> >
> http://localhost:33720/org.jboss.jsr299.tck.tests.context.session.SessionContextTest/IntrospectSession*
> >
> >
> > any idea? it just test that when you call twice a servlet you get the
> > same session scoped cdi bean.
> >
> > the error is
> > *
> > *
> > *
> > javax.enterprise.context.ContextNotActiveException: WebBeans context with
> > scope type annotation @SessionScoped does
> >    not exist within current thread
> >         at
> >
> org.apache.webbeans.container.BeanManagerImpl.getContext(BeanManagerImpl.java:341)
> >         at
> >
> org.apache.webbeans.container.InjectableBeanManager.getContext(InjectableBeanManager.java:115)
> > *
> >
> > - Romain
>
>

Re: testSessionContextSharedBetweenServletRequestsInSameHttpSession(org.jboss.jsr299.tck.tests.context.session.SessionContextTest):

Posted by David Jencks <da...@yahoo.com>.
Hi Romain,

I think I might have encountered this working with geronimo + jcdi tck.  If it's the same problem, the test worked OK run by itself but usually failed when run in a group.  When I investigated the harness appeared to be arbitrarily creating more http sessions when running in a group than when running just the one test, in particular it wiped out the first session from the first request before the second, causing the scoped object to get lost.  I couldn't figure out why the session creation behavior was different in the two situations.

hope you have better luck....
david jencks

On Nov 2, 2011, at 6:14 PM, Romain Manni-Bucau wrote:

> Hi,
> 
> it seems this tck test can fail depending of the build:
> 
> *Failed tests:
> testSessionContextSharedBetweenServletRequestsInSameHttpSession(org.jboss.jsr299.tck.tests.context.session.SessionContextTest):
> 500 Internal Server Error for
> http://localhost:33720/org.jboss.jsr299.tck.tests.context.session.SessionContextTest/IntrospectSession*
> 
> 
> any idea? it just test that when you call twice a servlet you get the
> same session scoped cdi bean.
> 
> the error is
> *
> *
> *
> javax.enterprise.context.ContextNotActiveException: WebBeans context with
> scope type annotation @SessionScoped does
>    not exist within current thread
>         at
> org.apache.webbeans.container.BeanManagerImpl.getContext(BeanManagerImpl.java:341)
>         at
> org.apache.webbeans.container.InjectableBeanManager.getContext(InjectableBeanManager.java:115)
> *
> 
> - Romain