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

Reply via email to