Well, users of "standalone" tomcat, for good or bad reasons (corporate 
policy,...) do not thank you... ;)

Best regards,

Ludovic


Romain Manni-Bucau <[email protected]> a écrit :
>we could hack a ServletContainerInitializer but not sure the gain
>compared to using tomee which will always be far more integrated "by
>design"
>Romain Manni-Bucau
>Twitter: @rmannibucau
>Blog: http://rmannibucau.wordpress.com/
>LinkedIn: http://fr.linkedin.com/in/rmannibucau
>Github: https://github.com/rmannibucau
>
>
>
>2013/11/9 Mark Struberg <[email protected]>:
>> Hi Niki!
>>
>> Karl and I did already work on improving our documentation at least
>;)
>>
>> http://openwebbeans.apache.org/owbsetup_ee.html
>>
>> Please ping us if you find a failure!
>>
>> LieGrue,
>> strub
>>
>>
>> ________________________________
>> From: Niki Dokovski <[email protected]>
>> To: [email protected]; 'Mark Struberg' <[email protected]>
>> Sent: Saturday, 9 November 2013, 15:01
>> Subject: RE: OWB on Tomcat 7
>>
>> Hi Mark,
>>
>> From: Mark Struberg [mailto:[email protected]]
>> Sent: Saturday, November 9, 2013 3:25 PM
>> To: [email protected]
>> Subject: Re: OWB on Tomcat 7
>>
>> 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>
>>
>> This works perfect, but be aware that there is no CDI injection in
>Servlets
>> themself. You can of course use DeltaSpike BeanProvider to pick up
>>
>> B.) you need it fully integrated with all other EE technologies. In
>that
>> case I suggest you use TomEE. This is basically tomcat7 + latest OWB 
>+
>> latest MyFaces + + +. And all that in a perfectly integrated and
>ready to
>> use configuration.
>>
>> IMHO, there might be cases where you don’t need my faces or you just
>want to
>> test the latest web container with the latest CDI. Current owb
>documentation
>> is a bit confusing indeed and you need to look into the source code
>to
>> understand what you need to configure and where. Which might be good
>> exercise anyway. I like the “plugins” architecture of OWB but the
>> integration with tomcat can be improved. The CDI RI did a bit better
>with
>> the integration with Tomcat for now. (Yes you still need the servlet
>> listener to bootstrap the CDI container)
>>
>> Do you folks have plans to reconsider current integrations points
>with
>> tomcat? Are there any particular ideas for what can be improved on
>tomcat
>> side to make the integration better?
>>
>> Cheers
>> Niki
>>
>>
>> LieGrue,
>> strub
>>
>>
>>
>> ________________________________
>> From: aljesco <[email protected]>
>> To: [email protected]
>> Sent: Saturday, 9 November 2013, 14:04
>> Subject: Re: OWB on Tomcat 7
>>
>> Now web.xml contain only
>> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee";
>>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>> http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd";>
>>        <display-name>Archetype Created Web Application</display-name>
>> </web-app>
>>
>> Ans that exception is still thrown.
>>
>> Here is lines from WebContainerLifecycle.java:
>>         124:ELAdaptor elAdaptor =
>> getWebBeansContext().getService(ELAdaptor.class);
>>         125:ELResolver resolver = elAdaptor.getOwbELResolver();
>> NPE is being thrown on elAdaptor.getOwbELResolver(); , but why?
>> ELAdaptor.class is in openwebbeans-spi-1.2.0.jar which is placed
>under lib
>> in tomcat. I don't know what to do with all of this.
>>
>> 2013/11/9 Romain Manni-Bucau <[email protected]>
>>
>> Hmm
>> Here im not sure but maybe remove it from your web.xml
>> Le 9 nov. 2013 13:52, "aljesco" <[email protected]> a écrit :
>>
>>
>> Nov 09, 2013 2:49:31 PM org.apache.catalina.core.StandardContext
>> listenerStart
>> SEVERE: Exception sending context initialized event to listener
>instance of
>> class org.apache.webbeans.servlet.WebBeansConfigurationListener
>> java.lang.NullPointerException
>> at
>>
>org.apache.webbeans.web.lifecycle.WebContainerLifecycle.afterStartApplication(WebContainerLifecycle.java:125)
>> at
>>
>org.apache.webbeans.lifecycle.AbstractLifeCycle.startApplication(AbstractLifeCycle.java:132)
>> at
>>
>org.apache.webbeans.web.lifecycle.WebContainerLifecycle.startApplication(WebContainerLifecycle.java:89)
>> at
>>
>org.apache.webbeans.servlet.WebBeansConfigurationListener.contextInitialized(WebBeansConfigurationListener.java:85)
>> at
>>
>org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
>> at
>>
>org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
>> at
>org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>> at
>>
>org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
>> at
>org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
>> at
>org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
>> at
>>
>org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1120)
>> at
>>
>org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1678)
>> at
>java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>> at
>>
>java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>> at
>>
>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>> at java.lang.Thread.run(Thread.java:744)
>>
>>
>> 2013/11/9 Romain Manni-Bucau <[email protected]>
>>
>> So remove openwebbeans jar from the webapp to put them in tomcat libs
>> Le 9 nov. 2013 13:43, "aljesco" <[email protected]> a écrit :
>>
>>
>> Yes
>>
>> 2013/11/9 Romain Manni-Bucau <[email protected]>
>>
>> You kept owb in web-inf/lib?
>> Le 9 nov. 2013 13:22, "aljesco" <[email protected]> a écrit :
>>
>>
>> I added
>>   <Listener
>> className="org.apache.webbeans.web.tomcat.ContextLifecycleListener"
>/>
>> into server.xml files.
>> After that Tomcat throwed several ClassNotFoundExceptions because it
>> couldn't find OWB libs. I put openwebbeans-impl-1.2.0.jar,
>> openwebbeans-spi-1.2.0.jar, openwebbeans-tomcat7-1.2.0.jar and
>> openwebbeans-web-1.2.0.jar into lib folder. Now Tomcat fails to start
>with
>> exception
>> ====
>> Caused by: java.lang.RuntimeException: java.lang.ClassCastException:
>Cannot
>> cast org.apache.webbeans.service.DefaultLoaderService to
>> org.apache.webbeans.spi.LoaderService
>> at
>>
>org.apache.webbeans.web.tomcat.ContextLifecycleListener.containerEvent(ContextLifecycleListener.java:200)
>> at
>>
>org.apache.catalina.core.ContainerBase.fireContainerEvent(ContainerBase.java:1398)
>> at
>>
>org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4944)
>> at
>>
>org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
>> at
>org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>> ... 10 more
>> Caused by: java.lang.ClassCastException: Cannot cast
>> org.apache.webbeans.service.DefaultLoaderService to
>> org.apache.webbeans.spi.LoaderService
>> at java.lang.Class.cast(Class.java:3094)
>> at
>>
>org.apache.webbeans.config.WebBeansContext.<init>(WebBeansContext.java:121)
>> at
>>
>org.apache.webbeans.config.WebBeansContext.<init>(WebBeansContext.java:98)
>> at
>>
>org.apache.webbeans.corespi.DefaultSingletonService.get(DefaultSingletonService.java:54)
>> at
>>
>org.apache.webbeans.corespi.DefaultSingletonService.get(DefaultSingletonService.java:28)
>> at
>>
>org.apache.webbeans.config.WebBeansFinder.getSingletonInstance(WebBeansFinder.java:51)
>> at
>>
>org.apache.webbeans.config.WebBeansContext.getInstance(WebBeansContext.java:164)
>> at
>>
>org.apache.webbeans.config.WebBeansContext.currentInstance(WebBeansContext.java:182)
>> at
>org.apache.webbeans.web.tomcat.TomcatUtil.inject(TomcatUtil.java:38)
>> at
>>
>org.apache.webbeans.web.tomcat.ContextLifecycleListener.containerEvent(ContextLifecycleListener.java:182)
>> ... 14 more
>> ====
>> What I'm doing wrong?
>>
>> 2013/11/9 Romain Manni-Bucau <[email protected]>
>>
>> this one as tomcat listener
>>
>https://github.com/apache/openwebbeans/blob/trunk/webbeans-tomcat7/src/main/java/org/apache/webbeans/web/tomcat/ContextLifecycleListener.java
>> Le 9 nov. 2013 12:36, "aljesco" <[email protected]> a écrit :
>>
>>
>> No, I didn't set it. What class should I set up as a listener?
>>
>> Do I need this lines in web.xml?
>>
>>   <listener>
>>
>>
><listener-class>org.apache.webbeans.servlet.WebBeansConfigurationListener</listener-class>
>>     </listener>
>> <resource-env-ref>
>> <resource-env-ref-name>BeanManager</resource-env-ref-name>
>>
><resource-env-ref-type>javax.enterprise.inject.spi.BeanManager</resource-env-ref-type>
>> </resource-env-ref>
>>
>> 2013/11/9 Romain Manni-Bucau <[email protected]>
>>
>> Hi
>> Api jars are geronimo*spec ones (jcdi and atinject IIRC)
>> In tomcat you need tomcat owb listener to get servlet injection, did
>you set
>> it?
>> Le 9 nov. 2013 12:13, "aljesco" <[email protected]> a écrit :
>>
>>
>> Hello everyone,
>>
>> I've tried to get OWB working for about several hours on Tomcat 7 and
>> afterall I got really confused.
>> I'd be very thankful if someone can clarify some points with OWB.
>>
>> So, I'm developing a test project with just one servlet
>>
>> ====
>> @WebServlet(urlPatterns="/test")
>> public class extends HttpServlet {
>>
>> private @Inject MyService s;
>> @Override
>> protected void doGet(HttpServletRequest req, HttpServletResponse
>resp)
>> throws ServletException, IOException {
>>
>> WebBeansContext currentInstance = WebBeansContext.currentInstance();
>> MyService s2 = currentInstance.get(MyService.class);
>> resp.getWriter().println(s);
>> resp.getWriter().println("s2: " + s2.getHash());
>> }
>> }
>> ====
>>
>> it tries get injected MyService instance which is POJO:
>>
>> ====
>> public class MyService {
>> public MyService() {
>> }
>> public String getHash() {
>> return new Random().nextInt() + "";
>> }
>> }
>> ====
>>
>> here is WEB-INF/web.xml:
>>
>> ====
>> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee";
>>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>> http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd";>
>> <display-name>Archetype Created Web Application</display-name>
>>    <listener>
>>
>>
><listener-class>org.apache.webbeans.servlet.WebBeansConfigurationListener</listener-class>
>>     </listener>
>> <resource-env-ref>
>> <resource-env-ref-name>BeanManager</resource-env-ref-name>
>>
><resource-env-ref-type>javax.enterprise.inject.spi.BeanManager</resource-env-ref-type>
>> </resource-env-ref>
>> </web-app>
>> ====
>>
>> libs in WEB-INF/libs:
>>
>> openwebbeans-ee-common-1.2.0.jar
>> openwebbeans-el22-1.2.0.jar
>> openwebbeans-impl-1.2.0.jar
>> openwebbeans-resource-1.2.0.jar
>> openwebbeans-spi-1.2.0.jar
>> openwebbeans-tomcat7-1.2.0.jar
>> openwebbeans-web-1.2.0.jar
>> xbean-asm-shaded-3.13.jar
>> xbean-finder-shaded-3.13.jar
>>
>> The first question is about CDI implementation library.
>> If I try to deploy webapp as it is, the Tomcat will fail with next
>> exception: java.lang.NoClassDefFoundError:
>> javax/enterprise/context/spi/Contextual
>> I couldn't find OWB library which provides such class. I only grabbed
>> javaee-api-6.0-5-tomcat.jar from TomEE and placed in under Tomcat 7
>lib/
>> folder.
>> What is a proper way to solve this problem? Where should I get
>> javax.enterprise.context.* library?
>>
>> The second question is about CDI itself.
>> After successful deploying (with javaee-api-6.0-5-tomcat.jar in lib/)
>I
>> accessed my servlet by http://localhost:8080/testproject/test and got
>this
>> responce:
>> ====
>>
>> null
>>
>> s2: 1064451662
>>
>> ====
>>
>> Why WebBeansContext.currentInstance().get(MyService.class) returns a
>proper
>> instance of MyService class and fails to inject it into private
>@Inject
>> MyService s?
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>

-- 
Envoyé de mon téléphone Android avec K-9 Mail. Excusez la brièveté.
|
| AVANT D'IMPRIMER, PENSEZ A L'ENVIRONNEMENT.
|

Reply via email to