Le mer. 19 juin 2019 à 11:16, Rémy Maucherat <r...@apache.org> a écrit :

> On Tue, Jun 18, 2019 at 10:26 PM Romain Manni-Bucau <rmannibu...@gmail.com
> >
> wrote:
>
> > +1 to merge (replace) it in owb module since tomcat adherance is reduced
> > thanks your refactos.
> >
> > The few weird things I saw - but guess it is inherited from our owb
> module
> > and cdi 1 times are:
> >
> > 1: dont start cdi if there is no beans.xml in webinf (in cdi 2 it should
> be
> > anyway)
> >
>
> I don't see the bug there. The tomcat7 code seems to do that and it appears
> to work for me (no CDI logging without a /WEB-INF/beans.xml):
>
> https://github.com/apache/openwebbeans/blob/trunk/webbeans-tomcat7/src/main/java/org/apache/webbeans/web/tomcat7/ContextLifecycleListener.java#L63
>
>
This is the bug, CDI must start without a beans.xml (annotated mode is
implicit)


>
> > 2: security service is thread local based instead of using cdi request
> bean
> > and it does not support enriching principal api (needed for mp jwt auth
> for
> > instance).
> >
> >
> https://github.com/apache/meecrowave/blob/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/MeecrowaveSecurityService.java
> > does that and should work in tomcat.
> >
>
> Ok, I imported this class.
>
>
> >
> > Except that it looks good to me.
> >
> > Side question: any interest to try to make meecrowave converging too?
> > I can envision a v2 with a nicer tomcat embedded api used as raw base of
> > the project and all other features being plugged on top of it but not
> sure
> > it makes sense for tomcat community.
> > Every feature would just be initializers (with @priority support if
> > possible to be fully deterministic and user friendly).
> >
>
> After having some problems for a while with some uses of embedding, I made
> some changes to embedded to make it more flexible about processing
> server.xml and other configuration files (context.xml, default web.xml,
> certificates, etc). This is to allow avoiding reinventing server.xml when
> using embedded (as SSL configuration in particular became more complex it's
> not a very good plan). I did not add any new fancier embedded API, and Mark
> seems to be happy enough with the current one as well.
>

Fair enough.


>
> Rémy
>
> Le mar. 18 juin 2019 à 22:07, Rémy Maucherat <r...@apache.org> a écrit :
> >
> > > Hi,
> > >
> > > I have made some improvements and refactorings to the Tomcat OWB
> > > integration. The code is available here:
> > > https://github.com/rmaucher/tomcat-owb
> > >
> > > The changes are roughly:
> > > - I expected this would be a Tomcat external module (like JDBC pool),
> so
> > > the code was changed to have the Tomcat code style, i18n, package
> rename
> > > (it can be reverted), refactorings, etc.
> > > - Works as a listener on the Server element, which would CDI enable the
> > > container. The listener can be a good location for configuration in the
> > > future. Various listener event timing issues prevented the tomcat7
> > > integration from working this way. It still has a listener at the
> context
> > > level, so the integration can be used at the individual webapp level as
> > > well.
> > > - Requires Tomcat 9.0.21+ due to the said event changes plus some
> utility
> > > class to avoid code duplication.
> > > - Using this integration code, the pom builds a semi fat jar which can
> be
> > > put in the Tomcat lib folder, then the listener should be added to
> > > server.xml. I have verified CDI extension support is functional.
> > > - I have tested that CXF (with the right packaging), and the Geronimo
> MP
> > > impl JARs (without needing a "right" packaging ;) ) work well with this
> > OWB
> > > support using said CDI extension support.
> > >
> > > The shade packaging pom would be somewhere in Tomcat (like the
> packaging
> > > I'm using for container and graal test bed:
> > > https://github.com/apache/tomcat/tree/master/res/tomcat-maven ), but
> the
> > > code needs to be somewhere. As I said I planned to host it at
> > > https://github.com/apache/tomcat/tree/master/modules but,
> unexpectedly,
> > > OWB
> > > community members said it should be in OWB.
> > >
> > > If the code is picked up in OWB, I'd recommend:
> > > - Package renaming back to org.apache.webbeans.web.tomcat (I'm not a
> fan
> > of
> > > "tomcat9", it ends up looking bad and/or outdated in the configuration,
> > > like "tomcat7" does these days).
> > > - Keeping "OpenWebBeans" in class names. Although it's not the usual
> > > convention here, the classnames do appear in Tomcat configuration, its
> > > monitoring with JMX, and it's more obvious this way.
> > > "org.apache.webbeans.web.tomcat9.TomcatListener" in server.xml works I
> > > guess, but "org.apache.webbeans.web.tomcat.OpenWebBeansListener" looks
> > > better. Overall, only OpenWebBeansPlugin and
> OpenWebBeansSecurityService
> > > could lose the "OpenWebBeans" name in favor of "Tomcat" (or whatever
> > name).
> > > - Keep the Tomcat i18n since it doesn't hurt.
> > > - No idea about the code formatting, I'm ok if it is changed back.
> > >
> > > Rémy
> > >
> >
>

Reply via email to