Hi,
On Mon, Nov 18, 2013 at 5:33 PM, Gerhard Petracek < [email protected]> wrote: > as mentioned at [1] we have to think about a better approach. > > just to let you know that I managed to get the tomcat7-sample running using mvn tomcat7:run and tomcat7-maven-plugin version 2.2 on tomcat 7.0.47. Here it is what it took: in openwebbeans-tomcat7 project: 1. modified the pom to get tomcat 7.0.47 2 updated TomcatInstanceManager to reflect the update in tomcat 3. add openwebbeasns.properties to 3.1 switch to default JNDI service (the binding of BeanManager failed with current implementation). I haven't looked further into this but probablu should 3.2 switch SecurityService to TomcatSecuritySerivece 4. Modified TomcatSecurityService to go to a new TomcatAuthenticatorValve 5. Added TomcatAuthenticatorValve to put the principle in a ThreadLocal . Using the same pattern as in TomcatSecurityListener in tomcat7-sample modified pom to add the plugin and cleaned up the dependencies The exercise actually opened more questions than answers and here is the patch if you want to take a look [1] Comments and feedback are welcomehttps:// drive.google.com/file/d/0B8bSvf-7fqZTSVJSS0lKd1l5S3c/edit?usp=sharing What do you think? [1] https://drive.google.com/file/d/0B8bSvf-7fqZTSVJSS0lKd1l5S3c/edit?usp=sharing > regards, > gerhard > > [1] https://issues.apache.org/jira/browse/OWB-915 > > > > 2013/11/12 Niki Dokovski <[email protected]> > >> >> >> >> On Tue, Nov 12, 2013 at 2:37 PM, Romain Manni-Bucau < >> [email protected]> wrote: >> >>> Hi >>> >>> 1) if you have time it would be great ;) >>> >> >> OK I'll give it a try with tomcat7-sample, including a proposal for the >> SecurityListener case >> >> 2) +1 >>> 3) yes, it never really worked in fact with servlet >= 3.0 containers. >>> in TomEE we are integrated far deeper to get a consistent behavior on that >>> point (we automatically wrap the tomcat realm with >>> http://svn.apache.org/repos/asf/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEERealm.java >>> ) >>> >>> *Romain Manni-Bucau* >>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* >>> *Blog: >>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/> >>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau >>> <http://fr.linkedin.com/in/rmannibucau>* >>> *Github: https://github.com/rmannibucau <https://github.com/rmannibucau>* >>> >>> >>> >>> 2013/11/12 Niki Dokovski <[email protected]> >>> >>>> ops sorry hit send too early. here is the rest >>>> >>>> >>>> On Tue, Nov 12, 2013 at 2:20 PM, Niki Dokovski <[email protected]>wrote: >>>> >>>>> >>>>> >>>>> Hi folks, >>>>> >>>>> On Tue, Nov 12, 2013 at 1:48 PM, Mark Struberg <[email protected]>wrote: >>>>> >>>>>> hi ludovic! >>>>>> >>>>>> Nope, you don't need it in there. What we do in a few apps is to >>>>>> package those apps into an EAR, then unpack the whole EAR into the >>>>>> ./webapps folder in tomcat and add the /lib folder as shared.loader in >>>>>> ./conf/catalina.properties. >>>>>> That gives you a shared ClassLoader which sits inbetween tomcat and >>>>>> your single webapps. Those WARs will be child-classloaders of the shared >>>>>> loader. >>>>>> >>>>>> Of course you can also move all the stuff into tomcats lib folder as >>>>>> well... >>>>>> >>>>> >>>>> I did the exercise of running out of the box the tomcat7-sample >>>>> application located at ${owb-trunk}/samples/tomcat7-sample project. >>>>> My goal is to do simple mvn clean package tomcat7:run and have the >>>>> sample hosted on the embedded tomcat. >>>>> Here are my findings and would like to ask for clarifications: >>>>> 1. the project uses old tomcat-maven-plugin version 1.1 therefore i >>>>> switched to 2.2. That gets as dependency tomcat 7.0.47. Which from its >>>>> side >>>>> has modified TomcatInstance interface. The latter should be implemented by >>>>> openwebbeans-tomcat7. QuickFix does the trick. >>>>> >>>> 2. To get the filter injected as in the sample, we need to supply >>>> the tomcat ContextLifecycleListener. The latter has to be put in a jar >>>> located under tomcat/lib folder. No other locations for this jar are valid. >>>> Of course that simply means that all the dependencies should be located >>>> under tomcat/lib as well. >>>> 3. After setting the dependencies and having proper configuration for >>>> both the tomcat (context listener) and the application >>>> (webcontextlistener)The container throws NPE after a successful >>>> authentication. The NPE is a result of an assumption in owb that the >>>> TomcatSercurityListener is invoked when all properties of the request are >>>> initialized including the user principle. Actually the user principle is >>>> set later by the basic authenticator valve. This is proper container >>>> behavior, the RI behaves in the exact same way in relation to the >>>> initialization of a servlet request listeners. >>>> >>>> Basically my questions are: >>>> 1. Do you think we could invest in bringing all of the samples running >>>> out of the box, serving their main purpose? >>>> 2. What about updating the dependencies towards specific components to >>>> much recent versions >>>> 3. Is there a bug in openwebbean-tomcat7 TomcatSecurityListener? >>>> >>>> >>>> cheers >>>> Niki >>>> >>>> >>>>> >>>>> >>>>> >>>>>> >>>>>> LieGrue, >>>>>> strub >>>>>> >>>>>> >>>>>> ------------------------------ >>>>>> *From:* "[email protected]" <[email protected]> >>>>>> *To:* [email protected] >>>>>> *Sent:* Tuesday, 12 November 2013, 9:19 >>>>>> >>>>>> *Subject:* Re: OWB on Tomcat 7 >>>>>> >>>>>> On 09/11/2013 14:24, Mark Struberg wrote: >>>>>> >>>>>> Hi folks! >>>>>> >>>>>> There are 2 different ways to work with OpenWebBeans and tomcat. >>>>>> >>>>>> A, your app is using CDI but you do not need the container to >>>>>> understand CDI. >>>>>> In that case just add owb-core jar + spi + xbean-asm4-shaded + >>>>>> owb-web into your WEB-INF/lib and add WebBeansConfigurationListener to >>>>>> your >>>>>> web.xml as <listener> >>>>>> >>>>>> Is it required that openwebbeans is in tomcat WEB-INF/lib ? In my >>>>>> environment, we can have tens of webapps on a single tomcat server. >>>>>> In this contexte, requiring all of them to use the same version of >>>>>> OWB is not a sensible option. >>>>>> >>>>>> Best regards, >>>>>> >>>>>> Ludovic >>>>>> >>>>>> | >>>>>> | AVANT D'IMPRIMER, PENSEZ A L'ENVIRONNEMENT. >>>>>> | >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> >
