Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 64688 invoked from network); 21 Jan 2010 22:31:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 21 Jan 2010 22:31:48 -0000 Received: (qmail 5224 invoked by uid 500); 21 Jan 2010 22:31:48 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 5142 invoked by uid 500); 21 Jan 2010 22:31:48 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 5134 invoked by uid 99); 21 Jan 2010 22:31:48 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jan 2010 22:31:48 +0000 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL,UNPARSEABLE_RELAY X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [76.13.13.46] (HELO smtp107.prem.mail.ac4.yahoo.com) (76.13.13.46) by apache.org (qpsmtpd/0.29) with SMTP; Thu, 21 Jan 2010 22:31:39 +0000 Received: (qmail 67463 invoked from network); 21 Jan 2010 22:31:18 -0000 Received: from cpe-174-099-058-061.nc.res.rr.com (dwoods@174.99.58.61 with plain) by smtp107.prem.mail.ac4.yahoo.com with SMTP; 21 Jan 2010 14:31:18 -0800 PST X-Yahoo-SMTP: sCI.ryiswBB7FW.DxjU523c87MI- X-YMail-OSG: mVfu_YsVM1lq59cfUnht45Mn8sfuo09RO4qiXZPAVUWZgtqJ_KVoQzqb2x7BQkWNnx.h5ECcFnu5n6fyfQYgKhtkA5azp_KafmfUs3eVL0rldjsYWzaP5hM97cOuGxB4TAFWkS5NFGOYK_GtA0soRaK8FkoA7SKJ2zd..mTjbFhlwJJjLDahHSOrq5gi148VsLAGWCtBMl0jOJ86z0M36zdales9z9jByWWFUn2gZnQdTg.SsQiloUc- X-Yahoo-Newman-Property: ymail-3 Message-ID: <4B58D5B6.4020607@apache.org> Date: Thu, 21 Jan 2010 17:31:18 -0500 From: Donald Woods User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.7) Gecko/20100111 Lightning/1.0b1 Thunderbird/3.0.1 MIME-Version: 1.0 To: dev@geronimo.apache.org Subject: Re: about daytrader-web-jpa References: <432b67431001192310t525fe6c6g297374fec9fc2c88@mail.gmail.com> In-Reply-To: <432b67431001192310t525fe6c6g297374fec9fc2c88@mail.gmail.com> X-Enigmail-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org OK, made the PersistenceContext -> PersistenceUnit change but still no luck running it on a stand-alone Tomcat 6.0.20.... I'm still seeing OpenJPA problems in getting the db connection. org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Failed to start database 'tradedb', see the next exception for details.) -Donald On 1/20/10 2:10 AM, Forrest Xia wrote: > Hi Donald, > > I tried the new assembly of daytrader -- daytrader-web-jpa, and did not > get it work. The console log an error: > > 2010-01-20 14:08:24,774 ERROR [Log] Error: TradeJPADirect:createQuote -- > exception creating Quote > java.lang.NullPointerException > java.lang.NullPointerException > at > org.apache.geronimo.samples.daytrader.core.direct.TradeJPADirect.createQuote(TradeJPADirect.java:418) > at > org.apache.geronimo.samples.daytrader.core.TradeAction.createQuote(TradeAction.java:373) > at > org.apache.geronimo.samples.daytrader.web.TradeBuildDB.(TradeBuildDB.java:196) > at > org.apache.geronimo.samples.daytrader.web.TradeConfigServlet.service(TradeConfigServlet.java:411) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > at > org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:420) > at > org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:47) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:361) > at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214) > at > org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:619) > > Then I had a peek at the code, and think this NPE might be caused by > PersistenceContext not injected in TradeJPADirect. Since TradeJPADirect > is not a web container managed object(not servlet or context listener), > so the annotation @PersistenceContext does not work. > > I guess daytrader-web-jpa assembly is to demo jpa usage in web module > without session EJB involvement. If we want to demo container-managed > entity manager via this assembly, we shall use @PersistenceContext on > servlet or any web container managed object, then use JNDI lookup to get > the entity manager from container. If we want to demo > application-managed entity manager, we can use @PersistenceUnit to > inject an EntityManagerFactory object in any web container managed > object, then use EntityManagerFactory.createEntityManager() to get > entity manager. > > Please kindly let me know your thoughts. > > Thanks! > Forrest