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 >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>> >>>> >>> >
