I did some additional testing and I was not able to access another web module's flows with the proposed patch installed. In my testing, trying to do so just leads to a 404.
Should anything else need to be investigated so that this issue can be resolved? Regards, Hank Ibell On Wed, Dec 16, 2015 at 9:45 PM, Leonardo Uribe <[email protected]> wrote: > Hi > > TA>> The CDI spec clearly states: > TA>> The container instantiates a single instance of each extension at the > beginning of > TA>> the application initialization process and maintains a reference to > it until > TA>> the application shuts down. > > Ok, that's the only observation I had, so from my side the patch can be > applied. > > regards, > > Leonardo Uribe > > 2015-12-16 17:57 GMT-05:00 Hank Ibell <[email protected]>: > >> After rereading Leonardo's response, he mentioned >> >> "The solution proposed in the patch cause a problem when two webapps uses >> faces flow, because one app could find the flows of the other one (variable >> for FlowBuilderCDIExtension)." >> >> I will test this when I have a chance. >> >> On Wed, Dec 16, 2015 at 5:24 PM, Hank Ibell <[email protected]> wrote: >> >>> I did another test with multiple web modules in an EAR with slightly >>> different flows that have the same flow id. I was able to successfully >>> enter the correct flow of each web module despite the flow ids being the >>> same and with the extension being shared. >>> >>> Does anyone know if there is another case in mind that could break >>> something? >>> >>> Regards, >>> Hank Ibell >>> >>> On Wed, Dec 16, 2015 at 4:31 PM Thomas Andraschko < >>> [email protected]> wrote: >>> >>>> Oh, i see. >>>> The behavior is different in a EAR... >>>> That could really break something. >>>> >>>> 2015-12-16 22:26 GMT+01:00 Thomas Andraschko < >>>> [email protected]>: >>>> >>>>> The CDI spec clearly states: >>>>> The container instantiates a single instance of each extension at the >>>>> beginning of the application initialization process and maintains a >>>>> reference to it until the application shuts down. >>>>> >>>>> So +1 for applying your patch. >>>>> In DeltaSpike we have many Extensions which would behave weird if the >>>>> Extensions instances would be shared across applications. >>>>> >>>>> 2015-12-16 22:12 GMT+01:00 Hank Ibell <[email protected]>: >>>>> >>>>>> Hello, >>>>>> >>>>>> I tested MyFaces on WildFly and WebSphere Liberty, and it looks like >>>>>> FlowBuilderCDIExtension is not shared between different web applications >>>>>> that are not in the same EAR. >>>>>> >>>>>> Here is what I see from WildFly: >>>>>> ###################################### >>>>>> WildFly: Deployment of an EAR with the two web modules: >>>>>> FlowBuilderCDIExtension is shared between the two web modules >>>>>> >>>>>> 11:40:36,826 INFO [stdout] (MSC service thread 1-5) HWIBELL: >>>>>> FlowBuilderCDIExtension: *Extension >>>>>> org.apache.myfaces.flow.cdi.FlowBuilderCDIExtension@cb0c841b*: >>>>>> 11:40:36,827 INFO [stdout] (MSC service thread 1-5) HWIBELL: >>>>>> FlowBuilderCDIExtension: Found flow Producer for Producer Method [Flow] >>>>>> with qualifiers [@FlowDefinition @Any] declared as >>>>>> [[BackedAnnotatedMethod] >>>>>> @Produces @FlowDefinition public >>>>>> internal.FlowFactory.defineTestFlow(@FlowBuilderParameter FlowBuilder)] >>>>>> declared on Managed Bean [class internal.FlowFactory] with qualifiers >>>>>> [@Any >>>>>> @Default] >>>>>> 11:40:36,884 INFO [stdout] (MSC service thread 1-5) HWIBELL: >>>>>> FlowBuilderCDIExtension: *Extension >>>>>> org.apache.myfaces.flow.cdi.FlowBuilderCDIExtension@cb0c841b*: >>>>>> 11:40:36,884 INFO [stdout] (MSC service thread 1-5) HWIBELL: >>>>>> FlowBuilderCDIExtension: Found flow Producer for Producer Method [Flow] >>>>>> with qualifiers [@FlowDefinition @Any] declared as >>>>>> [[BackedAnnotatedMethod] >>>>>> @Produces @FlowDefinition public >>>>>> internal.FlowFactory.defineTestFlow(@FlowBuilderParameter FlowBuilder)] >>>>>> declared on Managed Bean [class internal.FlowFactory] with qualifiers >>>>>> [@Any >>>>>> @Default] >>>>>> ... >>>>>> >>>>>> ###################################### >>>>>> WildFly: Deployment of two separate web modules: >>>>>> FlowBuilderCDIExtension is different for each web application >>>>>> >>>>>> 2015-12-16 13:56:16,328 INFO [stdout] (MSC service thread 1-4) >>>>>> HWIBELL: FlowBuilderCDIExtension: *Extension >>>>>> org.apache.myfaces.flow.cdi.FlowBuilderCDIExtension@fee8cb50*: >>>>>> 2015-12-16 13:56:16,331 INFO [stdout] (MSC service thread 1-4) >>>>>> HWIBELL: FlowBuilderCDIExtension: Found flow Producer for Producer Method >>>>>> [Flow] with qualifiers [@FlowDefinition @Any] declared as >>>>>> [[BackedAnnotatedMethod] @Produces @FlowDefinition public >>>>>> internal1.FlowFactory.defineTestFlow(@FlowBuilderParameter FlowBuilder)] >>>>>> declared on Managed Bean [class internal1.FlowFactory] with qualifiers >>>>>> [@Any @Default] >>>>>> 2015-12-16 13:56:16,430 INFO [stdout] (MSC service thread 1-3) >>>>>> HWIBELL: FlowBuilderCDIExtension: *Extension >>>>>> org.apache.myfaces.flow.cdi.FlowBuilderCDIExtension@988bd32f*: >>>>>> 2015-12-16 13:56:16,430 INFO [stdout] (MSC service thread 1-3) >>>>>> HWIBELL: FlowBuilderCDIExtension: Found flow Producer for Producer Method >>>>>> [Flow] with qualifiers [@FlowDefinition @Any] declared as >>>>>> [[BackedAnnotatedMethod] @Produces @FlowDefinition public >>>>>> internal2.FlowFactory.defineTestFlow(@FlowBuilderParameter FlowBuilder)] >>>>>> declared on Managed Bean [class internal2.FlowFactory] with qualifiers >>>>>> [@Any @Default] >>>>>> ###################################### >>>>>> >>>>>> The results from WebSphere Liberty are the same. Does anyone the best >>>>>> place to verify the lifetime of a CDI Extension instance? >>>>>> >>>>>> >>>>>> >>>>>> On Wed, Dec 16, 2015 at 10:52 AM, Leonardo Uribe <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> I'm not sure how the extension instance is created and its lifetime. >>>>>>> That's not documented, so we need to check that. >>>>>>> On Dec 16, 2015 4:03 AM, "Thomas Andraschko" < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Are you sure Leo? >>>>>>>> FlowBuilderCDIExtension should exist per WebApp. >>>>>>>> >>>>>>>> 2015-12-15 22:39 GMT+01:00 Leonardo Uribe <[email protected]>: >>>>>>>> >>>>>>>>> Hi >>>>>>>>> >>>>>>>>> I remember the current solution works in a case where myfaces jars >>>>>>>>> are shared by different web applications. Suppose a TomEE >>>>>>>>> environment. The >>>>>>>>> solution proposed in the patch cause a problem when two webapps uses >>>>>>>>> faces >>>>>>>>> flow, because one app could find the flows of the other one (variable >>>>>>>>> for >>>>>>>>> FlowBuilderCDIExtension). >>>>>>>>> >>>>>>>>> I don't have idea if the solution proposed works in that case, so >>>>>>>>> we need to check that before apply it. >>>>>>>>> >>>>>>>>> regards, >>>>>>>>> >>>>>>>>> Leonardo Uribe >>>>>>>>> >>>>>>>>> >>>>>>>>> 2015-12-15 14:58 GMT-05:00 Hank Ibell <[email protected]>: >>>>>>>>> >>>>>>>>>> Hello Thomas, >>>>>>>>>> >>>>>>>>>> I did think injecting the FlowBuilderCDIExtension would work -- I >>>>>>>>>> was quite surprised when it did. Also, after looking at the code >>>>>>>>>> again, I >>>>>>>>>> agree that the lists should be ArrayList instead. Thank you for the >>>>>>>>>> quick >>>>>>>>>> review and suggestions! >>>>>>>>>> >>>>>>>>>> The new patch has been attached to this email and to the JIRA. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> Hank Ibell >>>>>>>>>> >>>>>>>>>> On Mon, Dec 14, 2015 at 4:09 PM, Thomas Andraschko < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> i did a small review: >>>>>>>>>>> >>>>>>>>>>> 1) Why you don't use @Inject for the FlowBuilderCDIExtension in >>>>>>>>>>> the FlowBuilderFactoryBean? >>>>>>>>>>> 2) Why do you use CopyOnWriteArrayList? ArrayList should be fine >>>>>>>>>>> as the both lists are AppScoped and should only be used on startup. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> 2015-12-14 21:53 GMT+01:00 Hank Ibell <[email protected]>: >>>>>>>>>>> >>>>>>>>>>>> Hello Thomas, >>>>>>>>>>>> >>>>>>>>>>>> Thank you for the information. :) I will wait for Leo's review >>>>>>>>>>>> then. >>>>>>>>>>>> >>>>>>>>>>>> Regards, >>>>>>>>>>>> Hank Ibell >>>>>>>>>>>> >>>>>>>>>>>> On Mon, Dec 14, 2015 at 3:20 PM, Thomas Andraschko < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi, >>>>>>>>>>>>> >>>>>>>>>>>>> first of all: thanks for the patch. >>>>>>>>>>>>> >>>>>>>>>>>>> As the last release-vote just passed last week, please have a >>>>>>>>>>>>> little patience. >>>>>>>>>>>>> >>>>>>>>>>>>> AFAIR the flows-feature was the developed by Leo, so it would >>>>>>>>>>>>> be the best if he could review it. >>>>>>>>>>>>> Otherwise i will check it. >>>>>>>>>>>>> >>>>>>>>>>>>> Regards, >>>>>>>>>>>>> Thomas >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> 2015-12-14 3:46 GMT+01:00 Hank Ibell <[email protected]>: >>>>>>>>>>>>> >>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>> >>>>>>>>>>>>>> It has been about a week since MYFACES-4022 [link >>>>>>>>>>>>>> <https://issues.apache.org/jira/browse/MYFACES-4022>] has >>>>>>>>>>>>>> been opened and a potential patch has been submitted. There has >>>>>>>>>>>>>> been no >>>>>>>>>>>>>> feedback on the issue however. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Is there anything else that is needed so that we can resolve >>>>>>>>>>>>>> this issue as soon as possible? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>> Hank Ibell >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>> >>>>> >>>> >> >
