Hello, I'd start by pointing you to CDI TCK as that's a good starting point to see what's covered. For your question, that would be this test - https://github.com/eclipse-ee4j/cdi-tck/blob/master/impl/src/main/java/org/jboss/cdi/tck/tests/context/conversation/ClientConversationContextTest.java#L344-L349 And possibly few more in the same test class.
As for the linked classes - your `ConversationBean` is listening for @Initialized event. Can you verify that a new conversation was activated for your request instead of verifying that context was activated? E.g. check IDs or something along those lines? I suppose that will hold true and in that case it works just as spec requires it to. >From the top of my head I don't really know how we activate/deactivate >ConversationContext, I'd need to dig that up, but looking at CDI spec, it >doesn't mandate that it is activated every time again and it could already be >active for given request. Plus from just the classes you linked, I cannot know if you test this with no existing conversation or maybe with some long running one before you try to send a request for non-existing one...and so on. So if the above doesn't is not enough to answer your question, then we're going to need a complete reproducer so that we both talk about the same scenario :) Matej ----- Original Message ----- > From: "Benjamin Confino" <[email protected]> > To: [email protected] > Cc: "Takayuki T Ishii" <[email protected]> > Sent: Monday, January 27, 2020 11:42:14 AM > Subject: [weld-dev] Question about conversations scope initilization > obeserver > > Hello > > I have a customer who's sent me a sample application, I have attached the > source to it below. > > When the customer visits index.xhtml they see the following output: > > Conversation initialized. > Conversation begun. cid:1 , timeout:3600000 > Conversation destroyed. cid:1 > > However when they append "?cdi=" or a non-existnant identifier like > "?cdi=10000" to the url they do not see "Conversation initialized." > > The CDI spec says that: If the propagated conversation cannot be restored, > the container must associate the request with a new transient conversation > and throw an exception of type > javax.enterprise.context.NonexistentConversationException. > > I'm wondering if this should apply here? Or would it only apply if the cid > pointed to an existing conversation that could not be restored? And is there > anything in the spec that covers this specific situation? > > Unless stated otherwise above: > IBM United Kingdom Limited - Registered in England and Wales with number > 741598. > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU > > _______________________________________________ > weld-dev mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/weld-dev _______________________________________________ weld-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/weld-dev
