Hmm, Maybe I misread the options (or misinterpreted them) but think we should:
1. Register all extensions without any fire 2. Start firing events 2. Means we keep the lazy resolution of observers and can destroy/reset the cache after afterdeploymentvalidation event. No? Le dim. 10 oct. 2021 à 18:03, Arne Limburg <arne.limb...@openknowledge.de> a écrit : > Hi, > > you can fire any Event from extensions and listen to any event in > extensions with every of the three options. > The first option would have the disadvantage that an extension, that > listens to ProcessObserverMethod would not receive the > ProcessObserverMethod event for non-lifecycle observer methods of other > extensions, which would not be a problem I guess (also I don’t know what > the spec says about it). > > Imho the second option would be the cleanest. It would basically mean: > First register every lifecycle event observer of every extension, then > register every non-lifecycle event of every extension (and fire > ProcessObserverMethod for every of that observer methods). This would be > valid, too. But it’s the hardest option to implement with the current code > base. > > The third variant would mean, that ProcessObserverMethod would be thrown > again, but not every extension would get every ProcessObserverMethod event > for every non-lifecycle-event of other extensions (which again should be no > problem). Or we should disable that cache completely during extension > registration. > > Writing that, I will take a deeper look at variant two or three. > > Cheers, > Arne > > OPEN KNOWLEDGE GmbH > Poststraße 1, 26122 Oldenburg > Mobil: +49 151 - 108 22 942 > Tel: +49 441 - 4082-154 > Fax: +49 441 - 4082-111 > arne.limb...@openknowledge.de<mailto:arne.limb...@openknowledge.de> > www.openknowledge.de< > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.openknowledge.de%2F&data=04%7C01%7C%7C3004d8758be44c8678c008d93bcc1e23%7C48837bc476f9481d8a76bd7b60b43dec%7C0%7C0%7C637606570139932909%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=9vRVYZVZ%2Feqk%2BvFxU5COofNvgs8U0AxtxRqwVEwqXHA%3D&reserved=0 > > > Registergericht: Amtsgericht Oldenburg, HRB 4670 > Geschäftsführer: Lars Röwekamp, Jens Schumann > > Treffen Sie uns auf kommenden Konferenzen und Workshops: > Zu unseren Events< > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.openknowledge.de%2Fevent%2F&data=04%7C01%7C%7C3004d8758be44c8678c008d93bcc1e23%7C48837bc476f9481d8a76bd7b60b43dec%7C0%7C0%7C637606570139932909%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=8tjmukdm1NxhXQMkn4VnESiBI216kXvh%2Fjb7%2FFYI0kE%3D&reserved=0 > > > > Von: Romain Manni-Bucau <rmannibu...@gmail.com> > Datum: Sonntag, 10. Oktober 2021 um 17:39 > An: openwebbeans-dev <dev@openwebbeans.apache.org> > Betreff: Re: OWB-1393 > Hi > > 3 sounds the only valid option since it is valid and used to fire any event > in extensions and is used to communicate between them from time to time. > > Hope it helps. > > Le dim. 10 oct. 2021 à 13:57, Arne Limburg <arne.limb...@openknowledge.de> > a écrit : > > > FYI, > > I now went with solution 1 and pushed it to a branch. If there are no > > objections, I’ll merge it tomorrow or so. > > > > Cheers, > > Arne > > > > OPEN KNOWLEDGE GmbH > > Poststraße 1, 26122 Oldenburg > > Mobil: +49 151 - 108 22 942 > > Tel: +49 441 - 4082-154 > > Fax: +49 441 - 4082-111 > > arne.limb...@openknowledge.de<mailto:arne.limb...@openknowledge.de> > > www.openknowledge.de<<http://www.openknowledge.de%3c> > > > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.openknowledge.de%2F&data=04%7C01%7C%7C3004d8758be44c8678c008d93bcc1e23%7C48837bc476f9481d8a76bd7b60b43dec%7C0%7C0%7C637606570139932909%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=9vRVYZVZ%2Feqk%2BvFxU5COofNvgs8U0AxtxRqwVEwqXHA%3D&reserved=0 > > > > > Registergericht: Amtsgericht Oldenburg, HRB 4670 > > Geschäftsführer: Lars Röwekamp, Jens Schumann > > > > Treffen Sie uns auf kommenden Konferenzen und Workshops: > > Zu unseren Events< > > > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.openknowledge.de%2Fevent%2F&data=04%7C01%7C%7C3004d8758be44c8678c008d93bcc1e23%7C48837bc476f9481d8a76bd7b60b43dec%7C0%7C0%7C637606570139932909%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=8tjmukdm1NxhXQMkn4VnESiBI216kXvh%2Fjb7%2FFYI0kE%3D&reserved=0 > > > > > > > Von: Arne Limburg <arne.limb...@openknowledge.de> > > Datum: Sonntag, 10. Oktober 2021 um 12:34 > > An: dev@openwebbeans.apache.org <dev@openwebbeans.apache.org> > > Betreff: OWB-1393 > > Hi, > > > > I’ve created OWB-1393 and am going to fix it. > > > > When we find an extension that contains an observer method, that observes > > an event that is no lifecycle event, we currently fire > > ProcessObserverMethod during addExtension(…) (before every Extension is > > registered). That leads to a caching problem. We cache too early (and > thus > > too less entries) and don’t invalidate the cache later. > > > > Note: org.apache.cxf.cdi.JAXRSCdiResourceExtension observes a > > non-lifecycle event, so we have that bug currently in meecrowave (where I > > observed it). > > > > That leads me to a few questions: > > > > Is it covered by the spec, that an extension may contain non-lifecycle > > events? > > If not: Should we throw an exception then, which would break CXF and thus > > Meecrowave. > > > > In any case, how should we handle it? > > 1. Don’t fire ProcessObserverMethod during extension registration at all? > > 2. First register every Lifecycle-Event-Observer during extension > > registration and only then register the non-lifecycle-Observers (which > > fires the ProcessObserverMethod events)? > > 3. Invalidate that cache after extension registration (probably the most > > inperformant way)? > > > > Any opinion? > > > > Cheers, > > Arne > > OPEN KNOWLEDGE GmbH > > Poststraße 1, 26122 Oldenburg > > Mobil: +49 151 - 108 22 942 > > Tel: +49 441 - 4082-154 > > Fax: +49 441 - 4082-111 > > arne.limb...@openknowledge.de<mailto:arne.limb...@openknowledge.de> > > www.openknowledge.de<<http://www.openknowledge.de%3c> > > > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.openknowledge.de%2F&data=04%7C01%7C%7C3004d8758be44c8678c008d93bcc1e23%7C48837bc476f9481d8a76bd7b60b43dec%7C0%7C0%7C637606570139932909%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=9vRVYZVZ%2Feqk%2BvFxU5COofNvgs8U0AxtxRqwVEwqXHA%3D&reserved=0 > > <http://www.openknowledge.de%3chttps:/ > > > eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.openknowledge.de%2F&data=04%7C01%7C%7C3004d8758be44c8678c008d93bcc1e23%7C48837bc476f9481d8a76bd7b60b43dec%7C0%7C0%7C637606570139932909%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=9vRVYZVZ%2Feqk%2BvFxU5COofNvgs8U0AxtxRqwVEwqXHA%3D&reserved=0 > > >> > > Registergericht: Amtsgericht Oldenburg, HRB 4670 > > Geschäftsführer: Lars Röwekamp, Jens Schumann > > > > Treffen Sie uns auf kommenden Konferenzen und Workshops: > > Zu unseren Events< > > > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.openknowledge.de%2Fevent%2F&data=04%7C01%7C%7C3004d8758be44c8678c008d93bcc1e23%7C48837bc476f9481d8a76bd7b60b43dec%7C0%7C0%7C637606570139932909%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=8tjmukdm1NxhXQMkn4VnESiBI216kXvh%2Fjb7%2FFYI0kE%3D&reserved=0 > > > > > >