Tomcat api changed but owb didnt follow it. Either downgrade tomcat or wait we fix it sorry :(
Le mercredi 18 juin 2014, Felipe Pina <[email protected]> a écrit : > Romain, I put exactly the tomcat 7 dependencies but i am getting this error. > SEVERE: ContainerBase.addChild: start: > org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/GrowUpWeb]] > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) > 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:632) > at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083) > at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > 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:722) > Caused by: java.lang.AbstractMethodError: org.apache.webbeans.web.tomcat.TomcatInstanceManager.newInstance(Ljava/lang/Class;)Ljava/lang/Object; > at org.apache.catalina.core.ApplicationContext.createListener(ApplicationContext.java:1402) > at org.apache.catalina.core.ApplicationContext.addListener(ApplicationContext.java:1307) > at org.apache.catalina.core.ApplicationContextFacade.addListener(ApplicationContextFacade.java:636) > at com.sun.faces.config.FacesInitializer.onStartup(FacesInitializer.java:140) > at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5456) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) > ... 11 more > Jun 17, 2014 7:38:38 PM org.apache.catalina.startup.HostConfig deployWAR > SEVERE: Error deploying web application archive D:\Arquivos de programas\Apache Software Fondation\tomcat-7.0.54\webapps\GrowUpWeb.war > java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/GrowUpWeb]] > at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904) > at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) > at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632) > at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083) > at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > 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:722) > > 2014-06-17 11:37 GMT-03:00 Romain Manni-Bucau <[email protected]>: >> >> http://java.dzone.com/articles/using-apache-openwebbeans is more or less what i suggested. Tomee needs dependencies you maybe dont want (now). >> >> >> Le lundi 16 juin 2014, Felipe Pina <[email protected]> a écrit : >> > Romain, i already realized the memory tests and i found an economy larger memory using raw tomcat. >> > I do not understand the reason of a lookup using the BeanManager, works perfectly, including the injection of other beans returned by the lookup, >> > but when I need to use a simple injection in a servlet, simply does not work. >> > >> > I wonder what the listener and their dependencies, which takes place on raw tomcat, for the operation of the injection correctly in a servlet 3.0. >> > I have done the test and using raw tomcat with Weld CDI or only with Tomee and both solutions works perfectly, but that's not what I need right now. >> > >> > Due to all this trouble, the developer ends up prioritizing the use of CDI Weld that function properly for what the product is proposed. >> > I realized that there is a listener in Tomee server.xml >> > <- Tomee plugin for Tomcat -> >> > <Listener ClassName="org.apache.tomee.catalina.ServerListener"/> >> > And I tried to put the necessary for the functioning of the listener dependencies, but I had other errors to lift the server and number of dependancy just growing too. >> > ( Gray dependencies below ) >> > Could you help me in this matter and also detail more about me so scan.xml use and BTW? >> > Regards >> > Felipe Pina >> > My dependencies >> > <!-- **************************************************** OpenWebBeans Specifications --> >> > <!-- JSR-330 --> >> > <dependency> >> > <groupId>org.apache.geronimo.specs</groupId> >> > <artifactId>geronimo-atinject_1.0_spec</artifactId> >> > <version>1.0</version> >> > <scope>${owb.scoped}</scope> >> > </dependency> >> > >> > <!-- JSR-299 --> >> > <dependency> >> > <groupId>org.apache.geronimo.specs</groupId> >> > <artifactId>geronimo-jcdi_1.0_spec</artifactId> >> > <version>1.0</version> >> > <scope>${owb.scoped}</scope> >> > </dependency> >> > >> > <dependency> >> > <groupId>org.apache.geronimo.specs</groupId> >> > <artifactId>geronimo-interceptor_1.1_spec</artifactId> >> > <version>1.0</version> >> > <scope>${owb.scoped}</scope> >> > </dependency> >> > >> > <!-- native tomee libs >> > <dependency> >> > <groupId>org.apache.openejb</groupId> >> > <artifactId>tomee-catalina</artifactId> >> > <version>${tomee.version}</version> >> > </dependency> >> > <dependency> >> > <groupId>org.apache.openejb</groupId> >> > <artifactId>tomee-common</artifactId> >> > <version>${tomee.version}</version> >> > </dependency> >> > <dependency> >> > <groupId>org.apache.openejb.staticweb</groupId> >> > <artifactId>static-tomee-jquery</artifactId> >> > <version>${tomee.version}</version> >> > </dependency> >> > <dependency> >> > <groupId>org.apache.openejb.staticweb</groupId> >> > <artifactId>static-tomee-bootstrap</artifactId> >> > <version>${tomee.version}</version> >> > </dependency> >> > <dependency> >> > <groupId>org.apache.openejb</groupId> >> > <artifactId>tomee-jdbc</artifactId> >> > <version>${tomee.version}</version> >> > </dependency> >> > <dependency> >> > <groupId>org.apache.openejb</groupId> >> > <artifactId>tomee-loader</artifactId> >> > <version>${tomee.version}</version> >> > </dependency> >> > --> >> > >> > <!-- OpenWebBeans implementations --> >> > <dependency> >> > <groupId>org.apache.openwebbeans</groupId> >> > <artifactId>openwebbeans-impl</artifactId> >> > <version>${owb.version}</version> >> > <scope>${owb.scoped}</scope> >> > </dependency> >> > <dependency> >> > <groupId>org.apache.openwebbeans</groupId> >> > <artifactId>openwebbeans-web</artifactId> >> > <version>${owb.version}</version> >> > <scope>${owb.scoped}</scope> >> > </dependency> >> > >> > <!-- OpenWebBeans JSF --> >> > <dependency> >> > <groupId>org.apache.openwebbeans</groupId> >> > <artifactId>openwebbeans-jsf</artifactId> >> > <version>${owb.version}</version> >> > <scope>${owb.scoped}</scope> >> > </dependency> >> > >> > <!-- SPI (Service Provider Interface). --> >> > <dependency> >> > <groupId>org.apache.openwebbeans</groupId> >> > <artifactId>openwebbeans-spi</artifactId> >> > <version>${owb.version}</version> >> > <scope>${owb.scoped}</scope> >> > </dependency> >> > >> > >> > <!-- Add-on tomcat7 plugin --> >> > <dependency> >> > <groupId>org.apache.openwebbeans</groupId> >> > <artifactId>openwebbeans-tomcat7</artifactId> >> > <version>${owb.version}</version> >> > <scope>${owb.scoped}</scope> >> > </dependency> >> > >> > <!-- XBean Finder helps to find annotations in classes - [openwebbeans-impl,openwebbeans-web] dependency --> >> > <dependency> >> > <groupId>org.apache.xbean</groupId> >> > <artifactId>xbean-finder-shaded</artifactId> >> > <version>3.14</version> >> > <scope>${owb.scoped}</scope> >> > </dependency> >> > <!-- Others indirect specifications --> >> > <dependency> >> > <groupId>org.apache.geronimo.bundles</groupId> >> > <artifactId>scannotation</artifactId> >> > <version>1.0.2_1</version> >> > <scope>${owb.scoped}</scope> >> > </dependency> >> > <dependency> >> > <groupId>asm</groupId> >> > <artifactId>asm</artifactId> >> > <version>3.3.1</version> >> > <scope>${owb.scoped}</scope> >> > </dependency> >> > >> > <dependency> >> > <groupId>javax.inject</groupId> >> > <artifactId>javax.inject</artifactId> >> > <version>1</version> >> > <scope>${owb.scoped}</scope> >> > </dependency> >> > >> > >> > 2014-06-14 15:21 GMT-03:00 Romain Manni-Bucau <[email protected]>: >> >> >> >> Hi >> >> with tomee you can save more memory than with OpenWebBeans using a scan.xml file really limiting scanning. >> >> BTW OWB has a tomcat plugin to get what you want >> >> >> >> >> >> Romain Manni-Bucau >> >> Twitter: @rmannibucau >> >> Blog: http://rmannibucau.wordpress.com/ >> >> LinkedIn: http://fr.linkedin.com/in/rmannibucau >> >> Github: https://github.com/rmannibucau >> >> >> >> >> >> 2014-06-14 16:33 GMT+02:00 Felipe Pina <[email protected]>: >> >>> >> >>> Mark i used the TomEE, but i need to save memory, so when i customize the normal tomcat with owb libs, i realized a little memory economy. I really only need the injection. >> >>> >> >>> 1- My project is set with openwebbeans-tomcat7 module, but I wonder if it is equivalent to configuration of the listener below in web.xml instead server.xml file ? it makes no difference? >> >>> web.xml -> Can i setup this way ? This works too ? >> >>> <!-- OpenWebbeans tomcat plugin --> >> >>> <listener> >> >>> <listener-class>org.apache.webbeans.web.tomcat.ContextLifecycleListener</listener-class> >> >>> </listener> >> >>> or >> >>> setup.xml >> >>> <Listener className="org.apache.webbeans.web.tomcat.ContextLifecycleListener"/> >> >>> >> >>> 2- There is another configuration i need to do ? >> >>> >> >>> 2014-06-14 7:48 GMT-03:00 Mark Struberg <[email protected]>: >> >>>> >> >>>> it should if you use our openwebbeans-tomcat7 module. >> >>>> Or if you use Apache TomEE which comes pre-packaged and perfectly setup with OpenWebBeans as CDI container. In this case you can also leverage multiple other cool EE features like JTA, etc. This is kind of a perfectly integrated setup of MyFaces and OpenWebBeans into tomcat7. >> >>>> It comes with OpenJPA as well in case you need JPA. Of course you can optionally also use Hibernate and EclipseLink with TomEE as well. >> >>>> Might be easier for you than to setup all our internal container modules yourself. Of course you are welcome to do so and report back if you need more help. >> >>>> LieGrue, >> >>>> strub >> >>>> >> >>>> On Saturday, 14 June 2014, 4:49, Felipe Pina <[email protected]> wrote: >> >>>> >> >>>> >> >>>> Why cdi OWB injection do not works only by servlet url ? >> >>>> >> >>>> My java beans below. >> >>>> >> >>>> @WebServlet( urlPatterns = {"/tarifas"}) >> >>>> public class Tarifas extends HttpServlet { >> >>>> /** >> >>>> * Atributo '<code>serialVersionUID</code>' do tipo long >> >>>> */ >> >>>> private static final long serialVersionUID = 1L; >> >>>> @javax.inject.Inject >> >>>> private TarifaBean tarifaBean; -> This injection do not works, when access by servlet url tarifas >> >>>> @Override >> >>>> protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { >> >>>> try { >> >>>> >> >>>> tarifaBean.setSession(request.getSession()); >> >>>> request.setAttribute("valorTarifa", tarifaBean.getValorUnitario()); >> >>>> getServletContext().getRequestDispatcher("/WEB-INF/pages/tarifas.jsp").forward(request, response); >> >>>> } catch (GrowUpException e) { >> >>>> throw new ServletException(e); >> >>>> // getServletContext().getRequestDispatcher("error.jsp").forward(request, response); >> >>>> } >> >>>> } >> >>>> } >> >>>> >> >>>> >> >>>> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- >> >>>> @javax.inject.Named(value="tarifaBean") >> >>>> @javax.enterprise.context.SessionScoped >> >>>> public class TarifaBean implements Serializable { >> >>>> /** >> >>>> * Atributo '<code>serialVersionUID</code>' do tipo long >> >>>> */ >> >>>> private static final long serialVersionUID = 1L; >> >>>> @javax.inject.Inject >> >>>> private GrowUpFacadeAdapter facade; -> This injection works fine, when access by jsf page. >> >>>> private Double valorUnitario; >> >>>> public TarifaBean() {} >> >>>> /** >> >>>> * @return the valorUnitario >> >>>> * @throws GrowUpException >> >>>> */ >> >>>> public Double getValorUnitario() throws Exception { >> >>>> if (valorUnitario==null) >> >>>> valorUnitario = buscarValorPedido(); >> >>>> return valorUnitario; >> >>>> } >> >>>> /** >> >>>> * @return >> >>>> */ >> >>>> private Double buscarValorPedido() throws Exception { >> >>>> VariavelDTO var = (VariavelDTO) facade.executarComando(session, >> >>>> GCS.MAPA_VARIAVEL, >> >>>> GCS.BUSCAR_VALOR_UNITARIO); >> >>>> if (!isCodigoValido(var)) >> >>>> throw new IllegalArgumentException("Não foi possível encontrar o valor Unitário do pedido."); >> >>>> return var.getValorAsDouble(); >> >>>> } >> >>>> } >> >>>> >> >>>> >> >>>> >> >>>> -- >> >>>> Atenciosamente, >> >>>> Felipe Pina >> >>>> >> >>>> >> >>> >> >>> >> >>> >> >>> -- >> >>> Atenciosamente, >> >>> Felipe Pina >> >> >> > >> > >> > >> > -- >> > Atenciosamente, >> > Felipe Pina >> > >> >> -- >> >> >> Romain Manni-Bucau >> Twitter: @rmannibucau >> Blog: http://rmannibucau.wordpress.com/ >> LinkedIn: http://fr.linkedin.com/in/rmannibucau >> Github: https://github.com/rmannibucau >> > > > > -- > Atenciosamente, > Felipe Pina > -- Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau
