Maybe it is a lack of docs...

I already use most of tomee components, but the "glue" (pom.xml, web.xml, etc.) 
is hard to find at first...

I recently tried to use OWB 1.2 instead of 1.1.6 and the upgrade track is not 
very clear. It is not a drop-in replacement...
My project uses latest myfaces 2.1, latest corresponding CODI and Tomcat 7.

Well, maybe it is a curse of those great java projects. Great features, great 
performance, but steep learning curve...

Best regards,

Ludovic


Romain Manni-Bucau <[email protected]> a écrit :
>tomee is a webapp and I know some tomcat users doing an overlay to
>deploy
>in a plain tomcat...works just fine too.
>
>SCI is fine if you don't expect to be spec compliant (that's the case
>when
>doing a tomcat + OWB)
>
>*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/9 Ludovic Pénet <[email protected]>
>
>> 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 imp
>>>>  roved
>>>> 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<
>>>>  br
>>>>
>/>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.
>> |
>>
>>

-- 
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