Le mer. 12 mai 2021 à 15:00, Arne Limburg <arne.limb...@openknowledge.de> a
écrit :

> Hi Romain,
>
>
> The only reason, I did not implement it in the Mojo was, that I could not
> find an easy way to do it.
>
> Do you suggest to throw away the ReloadOnChangeController (or move it to
> the maven plugin),
>

setReloadCallback(Runnable) sounds like a less radical impl.


>
> implement file-watching in the mojo and then do reloading in the same way
> we do it with the "reload" command from System.in?
>
> My first approaches doing it that way ended up in endless reloading of the
> context, because the maven build itself triggered the watcher.
>

setReloadCallback(() -> { if (reloading.get()) {return;}
reloading.set(true);try {reload();}finally{reloading.set(false);} })

+ small debouncing i guess?



>
> But that can be circumvented somehow.
>
>
> Basically my current implementation does the same stuff in the
> ReloadOnChangeChontroller that is currently done in the Mojo on reload.
>

Hmm , generally speaking
https://github.com/ArneLimburg/openwebbeans-meecrowave/commit/03b1b3614f63ce3e9255f5c33c779e03aa537245#diff-830d1e256f27a967a495cade9188682a24d3f508e40ce8c5bf8c63f4a39c407eR92
rarely works since it is only about embedded case and reload will
stop.start the classloader anyway.
What I can see missing is target/classes if not built before launching the
first time. I don't think we need to handle that case but if you want you
can just do an addUrl or addRepository on the classloader I guess.
Note that thread.setContextClassLoader shouldn't be done (seems you only do
to getContextClassLoader after) cause it can break but setting the
classloader can be on the context (same as you do except thread is not
touched).
An option can be to let the Loader handle the lifecycle properly instead of
using providedLoader, this way reload will work - but once again, only for
deployclasspath case and not webapp cases.

Hope it makes sense.


>
>
> Cheers,
>
> Arne
>
>
> --
>
> Arne Limburg - Enterprise Architekt
>
>
>
>
> 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
> www.openknowledge.de <https://www.openknowledge.de/>
>
> 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://www.openknowledge.de/event/>
>
>
>
>
>
> ________________________________
> Von: Romain Manni-Bucau <rmannibu...@gmail.com>
> Gesendet: Mittwoch, 12. Mai 2021 14:46
> An: openwebbeans-dev
> Betreff: Re: [DISCUSS] MEECROWAVE-290 - Enable class-reloading for
> meecowave maven plugin
>
> Hi Arne,
>
> What about the proposal on jira?
> Idea is we already have redeploy command but currently it is made
> incompatible (unsupported) with the watcher.
> Guess if both are configured we can make both working together, does look
> way simpler than making the classloading implementation right (you only
> handled meecrowave custom loader case but not tomcat case + it breaks most
> of cdi usage AFAIK whereas redeploy should stay fast and fully functional
> without weird case, you loose state but all is "normal" then).
>
> wdyt?
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2frmannibucau.metawerx.net&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-5952a27ec923c46b4afeedc4573484f98112035a>
> | Old Blog
> Index<
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2frmannibucau.metawerx.net&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-5952a27ec923c46b4afeedc4573484f98112035a
> >
> smex-ctp.trendmicro.com
> An opiniated IT blogging.
>
>
> <
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=http%3a%2f%2frmannibucau.wordpress.com&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-023c823d4d9689451f2aa2b2324666f53fde1a51>
> | Github <
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2frmannibucau&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-9f5335456d1eaef8209cd71ee9786d2feacf6a6a>
> |
> [
> https://secure.gravatar.com/blavatar/18ef8a5fe8eefd3810b5e9743904d82c?s=200&ts=1620823706
> ]<
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=http%3a%2f%2frmannibucau.wordpress.com&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-023c823d4d9689451f2aa2b2324666f53fde1a51
> >
>
> New posts here >>> rmannibucau.metawerx.net | New posts here >>>
> https://rmannibucau.metawerx.net<
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=http%3a%2f%2frmannibucau.wordpress.com&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-023c823d4d9689451f2aa2b2324666f53fde1a51
> >
> smex-ctp.trendmicro.com
> New posts here >>> https://rmannibucau.metawerx.net
>
> [https://avatars.githubusercontent.com/u/1249546?v=4?s=400]<
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2frmannibucau&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-9f5335456d1eaef8209cd71ee9786d2feacf6a6a
> >
>
> rmannibucau (Romain Manni-Bucau) · GitHub<
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2frmannibucau&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-9f5335456d1eaef8209cd71ee9786d2feacf6a6a
> >
> smex-ctp.trendmicro.com
> Apache addict I'm involved in several project (OpenWebBeans, Johnzon,
> Geronimo, Meecrowave, ... -
> http://home.apache.org/committer-index.html#rmannibucau). - rmannibucau
>
>
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> <
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >
> [https://static.packt-cdn.com/products/9781788473064/cover/smaller]<
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >
>
> Java EE 8 High Performance | Packt<
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >
> www.packtpub.com
> Get more control of your applications performances in development and
> production and know how to meet your Service Level Agreement on critical
> microservices.
>
>
>
>
> Le mer. 12 mai 2021 à 14:41, Arne Limburg <arne.limb...@openknowledge.de>
> a
> écrit :
>
> > Sorry for the mangled link (outlook seems to do that automatically for
> > github urls). Here is the plain link:
> >
> https://github.com/ArneLimburg/openwebbeans-meecrowave/tree/MEECROWAVE-290
> [
> https://opengraph.githubassets.com/befeedc4a1c616c1dd05f388c46fce15e669dac8f4c749ee0df26d66c5de36dd/ArneLimburg/openwebbeans-meecrowave
> ]<
> https://github.com/ArneLimburg/openwebbeans-meecrowave/tree/MEECROWAVE-290
> >
>
> GitHub - ArneLimburg/openwebbeans-meecrowave at MEECROWAVE-290<
> https://github.com/ArneLimburg/openwebbeans-meecrowave/tree/MEECROWAVE-290
> >
> github.com
> Apache OpenWebBeans meecrowave. Contribute to
> ArneLimburg/openwebbeans-meecrowave development by creating an account on
> GitHub.
>
>
> >
> >
> > --
> >
> > Arne Limburg - Enterprise Architekt
> >
> >
> >
> >
> > 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
> > www.openknowledge.de<http://www.openknowledge.de> <
> https://www.openknowledge.de/>
> OPEN KNOWLEDGE GmbH<https://www.openknowledge.de/>
> www.openknowledge.de
> OPEN KNOWLEDGE GmbH steht für agile Softwareentwicklung und IT-Beratung
> mit Expertise in den Bereichen Enterprise und Cloud Computing. Standorte
> sind Oldenburg (Niedersachsen) und Essen (Nordrhein-Westfalen).
>
> OPEN KNOWLEDGE GmbH<http://www.openknowledge.de/>
> www.openknowledge.de
> OPEN KNOWLEDGE GmbH steht für agile Softwareentwicklung und IT-Beratung
> mit Expertise in den Bereichen Enterprise und Cloud Computing. Standorte
> sind Oldenburg (Niedersachsen) und Essen (Nordrhein-Westfalen).
>
>
> >
> > 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://www.openknowledge.de/event/>
> Events | OPEN KNOWLEDGE GmbH<https://www.openknowledge.de/event/>
> www.openknowledge.de
> OPEN KNOWLEDGE GmbH steht für agile Softwareentwicklung und IT-Beratung
> mit Expertise in den Bereichen Enterprise und Cloud Computing. Standorte
> sind Oldenburg (Niedersachsen) und Essen (Nordrhein-Westfalen).
>
>
> >
> >
> >
> >
> >
> > ________________________________
> > Von: Arne Limburg <arne.limb...@openknowledge.de>
> > Gesendet: Mittwoch, 12. Mai 2021 14:14
> > An: openwebbeans-dev
> > Betreff: [DISCUSS] MEECROWAVE-290 - Enable class-reloading for meecowave
> > maven plugin
> >
> > Hi all,
> >
> >
> > I have managed to implement class reloading for meecrowave via our maven
> > plugin:
> >
> >
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fArneLimburg%2fopenwebbeans%2dmeecrowave%2ftree%2fMEECROWAVE%2d290&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-f3c96a0cfa58a4835b5d993fe05147eb9d242adc
> [
> https://opengraph.githubassets.com/befeedc4a1c616c1dd05f388c46fce15e669dac8f4c749ee0df26d66c5de36dd/ArneLimburg/openwebbeans-meecrowave
> ]<
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fArneLimburg%2fopenwebbeans%2dmeecrowave%2ftree%2fMEECROWAVE%2d290&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-f3c96a0cfa58a4835b5d993fe05147eb9d242adc
> >
>
> GitHub - ArneLimburg/openwebbeans-meecrowave at MEECROWAVE-290<
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fArneLimburg%2fopenwebbeans%2dmeecrowave%2ftree%2fMEECROWAVE%2d290&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-f3c96a0cfa58a4835b5d993fe05147eb9d242adc
> >
> smex-ctp.trendmicro.com
> Apache OpenWebBeans meecrowave. Contribute to
> ArneLimburg/openwebbeans-meecrowave development by creating an account on
> GitHub.
>
>
> > [
> >
> https://opengraph.githubassets.com/befeedc4a1c616c1dd05f388c46fce15e669dac8f4c749ee0df26d66c5de36dd/ArneLimburg/openwebbeans-meecrowave
> > ]<
> >
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fArneLimburg%2fopenwebbeans%2dmeecrowave%2ftree%2fMEECROWAVE%2d290&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-f3c96a0cfa58a4835b5d993fe05147eb9d242adc
> [
> https://opengraph.githubassets.com/befeedc4a1c616c1dd05f388c46fce15e669dac8f4c749ee0df26d66c5de36dd/ArneLimburg/openwebbeans-meecrowave
> ]<
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fArneLimburg%2fopenwebbeans%2dmeecrowave%2ftree%2fMEECROWAVE%2d290&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-f3c96a0cfa58a4835b5d993fe05147eb9d242adc
> >
>
> GitHub - ArneLimburg/openwebbeans-meecrowave at MEECROWAVE-290<
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fArneLimburg%2fopenwebbeans%2dmeecrowave%2ftree%2fMEECROWAVE%2d290&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-f3c96a0cfa58a4835b5d993fe05147eb9d242adc
> >
> smex-ctp.trendmicro.com
> Apache OpenWebBeans meecrowave. Contribute to
> ArneLimburg/openwebbeans-meecrowave development by creating an account on
> GitHub.
>
>
> > >
> >
> > GitHub - ArneLimburg/openwebbeans-meecrowave at MEECROWAVE-290<
> >
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fArneLimburg%2fopenwebbeans%2dmeecrowave%2ftree%2fMEECROWAVE%2d290&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-f3c96a0cfa58a4835b5d993fe05147eb9d242adc
> [
> https://opengraph.githubassets.com/befeedc4a1c616c1dd05f388c46fce15e669dac8f4c749ee0df26d66c5de36dd/ArneLimburg/openwebbeans-meecrowave
> ]<
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fArneLimburg%2fopenwebbeans%2dmeecrowave%2ftree%2fMEECROWAVE%2d290&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-f3c96a0cfa58a4835b5d993fe05147eb9d242adc
> >
>
> GitHub - ArneLimburg/openwebbeans-meecrowave at MEECROWAVE-290<
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fArneLimburg%2fopenwebbeans%2dmeecrowave%2ftree%2fMEECROWAVE%2d290&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-f3c96a0cfa58a4835b5d993fe05147eb9d242adc
> >
> smex-ctp.trendmicro.com
> Apache OpenWebBeans meecrowave. Contribute to
> ArneLimburg/openwebbeans-meecrowave development by creating an account on
> GitHub.
>
>
> > >
> > smex-ctp.trendmicro.com
> > Apache OpenWebBeans meecrowave. Contribute to
> > ArneLimburg/openwebbeans-meecrowave development by creating an account on
> > GitHub.
> >
> >
> >
> >
> > Unfortunately this does not work for the programmatic start of Meecrowave
> > (i.e. WatcherTest fails). So I added a config property "reloadClasses" to
> > signal, if class reloading should be done (in the maven plugin case) or
> not
> > (in the programmatic case).
> >
> >
> > Do you have any better idea to handle that? Or any concrete idea to merge
> > that with "reloadGoals"?
> >
> >
> > Cheers,
> >
> > Arne
> >
> >
> > --
> >
> > Arne Limburg - Enterprise Architekt
> >
> >
> >
> >
> > 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
> > www.openknowledge.de<http://www.openknowledge.de<
> http://www.openknowledge.de<http://www.openknowledge.de>> <
> > https://www.openknowledge.de/>
> > OPEN KNOWLEDGE GmbH<https://www.openknowledge.de/>
> > www.openknowledge.de<http://www.openknowledge.de>
> > OPEN KNOWLEDGE GmbH steht für agile Softwareentwicklung und IT-Beratung
> > mit Expertise in den Bereichen Enterprise und Cloud Computing. Standorte
> > sind Oldenburg (Niedersachsen) und Essen (Nordrhein-Westfalen).
> >
> > OPEN KNOWLEDGE GmbH<http://www.openknowledge.de/>
> > www.openknowledge.de<http://www.openknowledge.de>
> > OPEN KNOWLEDGE GmbH steht für agile Softwareentwicklung und IT-Beratung
> > mit Expertise in den Bereichen Enterprise und Cloud Computing. Standorte
> > sind Oldenburg (Niedersachsen) und Essen (Nordrhein-Westfalen).
> >
> >
> >
> > 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://www.openknowledge.de/event/>
> > Events | OPEN KNOWLEDGE GmbH<https://www.openknowledge.de/event/>
> > www.openknowledge.de<http://www.openknowledge.de>
> > OPEN KNOWLEDGE GmbH steht für agile Softwareentwicklung und IT-Beratung
> > mit Expertise in den Bereichen Enterprise und Cloud Computing. Standorte
> > sind Oldenburg (Niedersachsen) und Essen (Nordrhein-Westfalen).
> >
> >
> >
> >
> >
> >
> >
> > ________________________________
> > Von: Romain Manni-Bucau <rmannibu...@gmail.com>
> > Gesendet: Donnerstag, 23. April 2020 13:34
> > An: openwebbeans-dev
> > Betreff: Re: Meecrowave auto reload
> >
> > It was the idea of the watcher - it is actually:
> >
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fapache%2fopenwebbeans%2dmeecrowave%2fblob%2fmaster%2fmeecrowave%2dcore%2fsrc%2fmain%2fjava%2forg%2fapache%2fmeecrowave%2fwatching%2fReloadOnChangeController.java&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-dfda7860397a001c120aa2db678ba4311f763c77
> > [
> >
> https://opengraph.githubassets.com/6ce2003810250832fb38bc463b1b7db3ae6810d091634aa4c141293c367b1723/apache/openwebbeans-meecrowave
> > ]<
> >
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fapache%2fopenwebbeans%2dmeecrowave%2fblob%2fmaster%2fmeecrowave%2dcore%2fsrc%2fmain%2fjava%2forg%2fapache%2fmeecrowave%2fwatching%2fReloadOnChangeController.java&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-dfda7860397a001c120aa2db678ba4311f763c77
> > >
> >
> > openwebbeans-meecrowave/ReloadOnChangeController.java at master ·
> > apache/openwebbeans-meecrowave · GitHub<
> >
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fapache%2fopenwebbeans%2dmeecrowave%2fblob%2fmaster%2fmeecrowave%2dcore%2fsrc%2fmain%2fjava%2forg%2fapache%2fmeecrowave%2fwatching%2fReloadOnChangeController.java&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-dfda7860397a001c120aa2db678ba4311f763c77
> > >
> > smex-ctp.trendmicro.com
> > Apache OpenWebBeans meecrowave. Contribute to
> > apache/openwebbeans-meecrowave development by creating an account on
> GitHub.
> >
> >
> > openwebbeans-meecrowave/ReloadOnChangeController.java at master ·
> > apache/openwebbeans-meecrowave · GitHub<
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fapache%2fopenwebbeans%2dmeecrowave%2fblob%2fmaster%2fmeecrowave%2dcore%2fsrc%2fmain%2fjava%2forg%2fapache%2fmeecrowave%2fwatching%2fReloadOnChangeController.java&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-dfda7860397a001c120aa2db678ba4311f763c77
> > >
> > [
> >
> https://opengraph.githubassets.com/6ce2003810250832fb38bc463b1b7db3ae6810d091634aa4c141293c367b1723/apache/openwebbeans-meecrowave
> > ]<
> >
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fapache%2fopenwebbeans%2dmeecrowave%2fblob%2fmaster%2fmeecrowave%2dcore%2fsrc%2fmain%2fjava%2forg%2fapache%2fmeecrowave%2fwatching%2fReloadOnChangeController.java&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-dfda7860397a001c120aa2db678ba4311f763c77
> > >
> >
> > openwebbeans-meecrowave/ReloadOnChangeController.java at master ·
> > apache/openwebbeans-meecrowave · GitHub<
> >
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fapache%2fopenwebbeans%2dmeecrowave%2fblob%2fmaster%2fmeecrowave%2dcore%2fsrc%2fmain%2fjava%2forg%2fapache%2fmeecrowave%2fwatching%2fReloadOnChangeController.java&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-dfda7860397a001c120aa2db678ba4311f763c77
> > >
> > smex-ctp.trendmicro.com
> > Apache OpenWebBeans meecrowave. Contribute to
> > apache/openwebbeans-meecrowave development by creating an account on
> GitHub.
> >
> >
> > github.com
> > Apache OpenWebBeans meecrowave. Contribute to
> > apache/openwebbeans-meecrowave development by creating an account on
> GitHub.
> >
> >
> > .
> > Issue is it is not an easy impl since the best impl you can do is to
> > debounce the reloading to avoid to reload 15 times just for one atomic
> > change. but it rarely really match the dev experience.
> > So it works well for small projects with 2-3 classes but for real
> projects
> > it depends a lot on the compilation. This is how the manual reloading
> > command started, it avoids all these pitfalls.
> > The alternative is to have a post refresh command automatically called (a
> > bit like livereload), but we don't have it yet.
> >
> > So to summarize, here are the enhancements I can see:
> >
> > 1. integrate more deeply reloadGoals with watcherBouncing (watching
> > sources, calling reloadGoals and then reloading the context)
> > 2. ensure watcherBouncing can recreate the classloader of the mojo,
> > 3. potentially add a "manualrefresh" goal which would integrate with run
> > mojo and force a reload *after* the actual resource/classes
> > recompilation/reprocessing to avoid timing issues (can be as simple as
> > creating a file .dirty, if present the reload controller refreshes the
> > context and deletes it - or just tracks the last modified date, something
> > like that)
> >
> > hope it makes sense
> >
> > Romain Manni-Bucau
> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > <
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2frmannibucau.metawerx.net&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-8f1172d5dca92be5bd0074c5810efcb5616d930e
> >
> > | Old Blog
> > Index<
> >
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2frmannibucau.metawerx.net&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-8f1172d5dca92be5bd0074c5810efcb5616d930e
> > >
> > smex-ctp.trendmicro.com
> > An opiniated IT blogging.
> >
> >
> > Index<
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2frmannibucau.metawerx.net&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-8f1172d5dca92be5bd0074c5810efcb5616d930e
> > >
> > Index<
> >
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=https%3a%2f%2frmannibucau.metawerx.net&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-8f1172d5dca92be5bd0074c5810efcb5616d930e
> > >
> > smex-ctp.trendmicro.com
> > An opiniated IT blogging.
> >
> >
> > rmannibucau.metawerx.net
> > An opiniated IT blogging.
> >
> >
> > <
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=http%3a%2f%2frmannibucau.wordpress.com&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-02c318fb391a9d61dbdb79df286aa3c16b09c853
> >
> > | Github <
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2frmannibucau&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-9f5335456d1eaef8209cd71ee9786d2feacf6a6a>
> |
> > [
> >
> https://secure.gravatar.com/blavatar/18ef8a5fe8eefd3810b5e9743904d82c?s=200&ts=1620823242
> > ]<
> >
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=http%3a%2f%2frmannibucau.wordpress.com&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-02c318fb391a9d61dbdb79df286aa3c16b09c853
> > >
> >
> > New posts here >>> rmannibucau.metawerx.net | New posts here >>>
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2frmannibucau.metawerx.net&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-5952a27ec923c46b4afeedc4573484f98112035a
> <
> >
> https://smex-ctp.trendmicro.com/wis/clicktime/v1/query?url=http%3a%2f%2frmannibucau.wordpress.com&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-02c318fb391a9d61dbdb79df286aa3c16b09c853
> > >
> > smex-ctp.trendmicro.com
> > New posts here >>>
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2frmannibucau.metawerx.net&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-5952a27ec923c46b4afeedc4573484f98112035a
> >
> > [https://avatars.githubusercontent.com/u/1249546?v=4?s=400]<
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2frmannibucau&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-9f5335456d1eaef8209cd71ee9786d2feacf6a6a
> >
> >
> > rmannibucau (Romain Manni-Bucau) · GitHub<
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2frmannibucau&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-9f5335456d1eaef8209cd71ee9786d2feacf6a6a
> >
> > github.com
> > Apache addict I'm involved in several project (OpenWebBeans, Johnzon,
> > Geronimo, Meecrowave, ... -
> > http://home.apache.org/committer-index.html#rmannibucau). - rmannibucau
> >
> >
> > [https://avatars.githubusercontent.com/u/1249546?v=4?s=400]<
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2frmannibucau&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-9f5335456d1eaef8209cd71ee9786d2feacf6a6a
> >
> >
> > rmannibucau (Romain Manni-Bucau) · GitHub<
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2frmannibucau&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-9f5335456d1eaef8209cd71ee9786d2feacf6a6a
> >
> > github.com
> > Apache addict I'm involved in several project (OpenWebBeans, Johnzon,
> > Geronimo, Meecrowave, ... -
> > http://home.apache.org/committer-index.html#rmannibucau). - rmannibucau
> >
> > [
> >
> https://secure.gravatar.com/blavatar/18ef8a5fe8eefd3810b5e9743904d82c?s=200&ts=1620821394
> > ]<
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=http%3a%2f%2frmannibucau.wordpress.com&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-02c318fb391a9d61dbdb79df286aa3c16b09c853
> > >
> >
> > New posts here >>> rmannibucau.metawerx.net | New posts here >>>
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2frmannibucau.metawerx.net&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-8f1172d5dca92be5bd0074c5810efcb5616d930e
> > <
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=http%3a%2f%2frmannibucau.wordpress.com&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-02c318fb391a9d61dbdb79df286aa3c16b09c853
> > >
> > rmannibucau.wordpress.com
> > New posts here >>>
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2frmannibucau.metawerx.net&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-8f1172d5dca92be5bd0074c5810efcb5616d930e
> >
> >
> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> > <
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > >
> > [https://static.packt-cdn.com/products/9781788473064/cover/smaller]<
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > >
> >
> > Java EE 8 High Performance | Packt<
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > >
> > www.packtpub.com<http://www.packtpub.com>
> > Get more control of your applications performances in development and
> > production and know how to meet your Service Level Agreement on critical
> > microservices.
> >
> >
> >
> >
> > Le jeu. 23 avr. 2020 à 13:12, Arne Limburg <
> arne.limb...@openknowledge.de>
> > a écrit :
> >
> > > Switching to dev-list...
> > >
> > > It should be easy to implement a (configurable, filewatcher-based)
> > > auto-reload based on that setup, shouldn't it?
> > >
> > > If there is some interest here, I'll take a look into that.
> > >
> > > Wdyt?
> > >
> > >
> > > 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
> > > www.openknowledge.de<http://www.openknowledge.de<<
> http://www.openknowledge.de<http://www.openknowledge.de<>
> > http://www.openknowledge.de<http://www.openknowledge.de>> <
> > https://www.openknowledge.de/>
> > OPEN KNOWLEDGE GmbH<https://www.openknowledge.de/>
> > www.openknowledge.de<http://www.openknowledge.de<
> http://www.openknowledge.de<http://www.openknowledge.de>>
> > OPEN KNOWLEDGE GmbH steht für agile Softwareentwicklung und IT-Beratung
> > mit Expertise in den Bereichen Enterprise und Cloud Computing. Standorte
> > sind Oldenburg (Niedersachsen) und Essen (Nordrhein-Westfalen).
> >
> > OPEN KNOWLEDGE GmbH<http://www.openknowledge.de/>
> > www.openknowledge.de<http://www.openknowledge.de<
> http://www.openknowledge.de<http://www.openknowledge.de>>
> > OPEN KNOWLEDGE GmbH steht für agile Softwareentwicklung und IT-Beratung
> > mit Expertise in den Bereichen Enterprise und Cloud Computing. Standorte
> > sind Oldenburg (Niedersachsen) und Essen (Nordrhein-Westfalen).
> >
> >
> > >
> > > 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://www.openknowledge.de/event/>
> > Events | OPEN KNOWLEDGE GmbH<https://www.openknowledge.de/event/>
> > www.openknowledge.de<http://www.openknowledge.de<
> http://www.openknowledge.de<http://www.openknowledge.de>>
> > OPEN KNOWLEDGE GmbH steht für agile Softwareentwicklung und IT-Beratung
> > mit Expertise in den Bereichen Enterprise und Cloud Computing. Standorte
> > sind Oldenburg (Niedersachsen) und Essen (Nordrhein-Westfalen).
> >
> >
> > >
> > >
> > >
> > >
> > >
> > > ________________________________
> > > Von: Arne Limburg
> > > Gesendet: Donnerstag, 23. April 2020 13:10
> > > An: u...@openwebbeans.apache.org
> > > Betreff: AW: Meecrowave auto reload
> > >
> > >
> > > OK, thank you, that setup works.
> > >
> > > Cheers, Arne
> > >
> > > ________________________________
> > > Von: Romain Manni-Bucau <rmannibu...@gmail.com>
> > > Gesendet: Donnerstag, 23. April 2020 12:06:03
> > > An: u...@openwebbeans.apache.org
> > > Betreff: Re: Meecrowave auto reload
> > >
> > > Hi Arne,
> > >
> > > personally I don't use the polling but this setup:
> > >
> > > 1. configure what the reloading recompile through reloadGoals:
> > >
> > >
> > > <plugin>
> > >   <groupId>org.apache.meecrowave</groupId>
> > >   <artifactId>meecrowave-maven-plugin</artifactId>
> > >   <version>1.2.9</version>
> > >   <configuration>
> > >     <reloadGoals>
> > >       <reloadGoal>process-classes</reloadGoal>
> > >     </reloadGoals>
> > >   </configuration>
> > > </plugin>
> > >
> > > 2. do the changes you want
> > > 3. go in the terminal meecrowave:bake/meecrowave:run is executed and
> type
> > > "r" (or "reload" from memory)
> > > 4. test your changes
> > >
> > > It just executes mvn <reload goals> and redeploy the app.
> > >
> > > watcherBouncing was more about static resources (frontend) and should
> be
> > > combined with <webResourceCached>false</webResourceCached>.
> > >
> > > The watcher on his side watches the deployed folders (target/classes)
> and
> > > reloads when it changes (which can be too early sometimes depending
> > watcher
> > > duration).
> > > The issue you hit is that target/classes is in the classloader created
> > > once for the runtime in the mojo (since you deploy classpath and not
> as a
> > > webapp - <useClasspathDeployment>false</useClasspathDeployment>) so you
> > > actually don't reload the classes with just the watcher by default.
> > >
> > >
> > > Romain Manni-Bucau
> > > @rmannibucau<https://twitter.com/rmannibucau> |  Blog<
> > >
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2frmannibucau.metawerx.net&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-8f1172d5dca92be5bd0074c5810efcb5616d930e
> >
> > |Old Blog<
> > Index<
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2frmannibucau.metawerx.net&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-8f1172d5dca92be5bd0074c5810efcb5616d930e
> > >
> > rmannibucau.metawerx.net
> > An opiniated IT blogging.
> >
> >
> > >
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=http%3a%2f%2frmannibucau.wordpress.com&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-02c318fb391a9d61dbdb79df286aa3c16b09c853
> >
> > | Github<
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2frmannibucau&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-9f5335456d1eaef8209cd71ee9786d2feacf6a6a
> >
> > [https://avatars.githubusercontent.com/u/1249546?v=4?s=400]<
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2frmannibucau&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-9f5335456d1eaef8209cd71ee9786d2feacf6a6a
> >
> >
> > rmannibucau (Romain Manni-Bucau) · GitHub<
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2frmannibucau&umid=0d028c0f-486f-4943-b243-bdcf46cf64aa&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-9f5335456d1eaef8209cd71ee9786d2feacf6a6a
> >
> > github.com
> > Apache addict I'm involved in several project (OpenWebBeans, Johnzon,
> > Geronimo, Meecrowave, ... -
> > http://home.apache.org/committer-index.html#rmannibucau). - rmannibucau
> >
> > [
> >
> https://secure.gravatar.com/blavatar/18ef8a5fe8eefd3810b5e9743904d82c?s=200&ts=1620821485
> > ]<
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=http%3a%2f%2frmannibucau.wordpress.com&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-02c318fb391a9d61dbdb79df286aa3c16b09c853
> > >
> >
> > New posts here >>> rmannibucau.metawerx.net | New posts here >>>
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2frmannibucau.metawerx.net&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-8f1172d5dca92be5bd0074c5810efcb5616d930e
> > <
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=http%3a%2f%2frmannibucau.wordpress.com&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-02c318fb391a9d61dbdb79df286aa3c16b09c853
> > >
> > rmannibucau.wordpress.com
> > New posts here >>>
> >
> https://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2frmannibucau.metawerx.net&umid=24f6de0a-3fbc-49f0-85a7-4de687983e93&auth=ab2dbe9a65917e05515ec2a89459f3e450df8ff8-8f1172d5dca92be5bd0074c5810efcb5616d930e
> >
> >
> > > |LinkedIn<https://www.linkedin.com/in/rmannibucau> | Book
> > > <
> > >
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > [https://static.packt-cdn.com/products/9781788473064/cover/smaller]<
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > >
> >
> > Java EE 8 High Performance | Packt<
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > >
> > www.packtpub.com<http://www.packtpub.com>
> > Get more control of your applications performances in development and
> > production and know how to meet your Service Level Agreement on critical
> > microservices.
> >
> >
> > > >
> > >
> > >
> > > Le jeu. 23 avr. 2020 à 11:50, Arne Limburg <
> > arne.limb...@openknowledge.de
> > > <mailto:arne.limb...@openknowledge.de>> a écrit :
> > >
> > > Hi,
> > >
> > > I am fiddling around with the auto-reload feature in meecrowave.
> > >
> > > I have configured the maven plugin to set watcherBouncing to 1 and
> start
> > > meecrowave with the plugin.
> > >
> > > The log correctly states that target classes is scanned
> > >
> > > OpenWebBeans scanning:
> > > [...]
> > > [11:41:48.738][INFO ][cher-redeployer][ans.OWBTomcatWebScannerService]
> > >  [...]/target/classes
> > >
> > >
> > > When I change a class in the deployment, the server correctly does a
> > > redeploy,
> > >
> > > but after the redeploy the content of the changed class seems not to
> have
> > > changed in the server.
> > >
> > > The class behaves like before.
> > >
> > > Is there some hidden class caching somewhere (in cxf or tomcat or so),
> > > which I have to turn of?
> > >
> > > Any ideas?
> > >
> > >
> > > Cheers,
> > >
> > > Arne
> > >
> >
>

Reply via email to