Return-Path: Delivered-To: apmail-incubator-open-jpa-dev-archive@locus.apache.org Received: (qmail 60717 invoked from network); 6 Apr 2007 16:50:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Apr 2007 16:50:13 -0000 Received: (qmail 7335 invoked by uid 500); 6 Apr 2007 16:50:20 -0000 Delivered-To: apmail-incubator-open-jpa-dev-archive@incubator.apache.org Received: (qmail 7204 invoked by uid 500); 6 Apr 2007 16:50:20 -0000 Mailing-List: contact open-jpa-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: open-jpa-dev@incubator.apache.org Delivered-To: mailing list open-jpa-dev@incubator.apache.org Received: (qmail 7195 invoked by uid 99); 6 Apr 2007 16:50:20 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Apr 2007 09:50:20 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of erwan.legoulven@gmail.com designates 64.233.166.182 as permitted sender) Received: from [64.233.166.182] (HELO py-out-1112.google.com) (64.233.166.182) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Apr 2007 09:50:12 -0700 Received: by py-out-1112.google.com with SMTP id p76so480089pyb for ; Fri, 06 Apr 2007 09:49:51 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=WGhaGBT7JrfZGS9DlbpqD6q7Qehbm7u/dEq+B92k+D1Y4KXACoz/rJ/tbJeIKa1nIOYoR5C9W9ElzruhobWaa4//WgBOV+CgiaCYAMyDjH7wTzTyZryDX75q3ztrgdnEHKSDrQMEe4xJHaYVKuVF+9yAoUsdow2lnutXA/c4fxI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=exhyC6Z48XYgbHZSd6Mc8zY6jPzjYF4YXmrPmVlSAadF3koRenkNcpGsDTpcU3gHJ7KH62VhSIm38DLPgQOSGCeU9ZqpR+CbBHqtuE1RjB5SBzjmy5hRz1j/hx0pl8k7sPIiR4f7/SYcCiO82CgtWyDwk1HOaZtzmGmd9pnvgVM= Received: by 10.115.74.1 with SMTP id b1mr1276171wal.1175878191183; Fri, 06 Apr 2007 09:49:51 -0700 (PDT) Received: by 10.114.194.7 with HTTP; Fri, 6 Apr 2007 09:49:51 -0700 (PDT) Message-ID: <7a1e4a010704060949o354a95b3k75d5efac9fe5288f@mail.gmail.com> Date: Fri, 6 Apr 2007 18:49:51 +0200 From: "Erwan Le Goulven" To: open-jpa-dev@incubator.apache.org Subject: Re: Programmatical EntityManagerFactory init In-Reply-To: <7D856CDFE035FF45A0420ACBD71BDD6303D1F3E9@repbex02.amer.bea.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_9522_32910245.1175878191109" References: <7a1e4a010704060446l178262f9m27ab2ae910879f49@mail.gmail.com> <7D856CDFE035FF45A0420ACBD71BDD6303D1F3E9@repbex02.amer.bea.com> X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_9522_32910245.1175878191109 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Thank you for your time Patrik, Actually the persistence.xml used in the META-INF jar in the CP points to another persistence unit name. The thing is -and I may be mistaking about this practice- I want to programmatically my own persistence units, based on different name, at run time, and I dunnot wish do depend on persistence.xml descriptor to configure the persistence units I wish to use, because : -I don't know their number -I don't know their name I thought I could use the Map property provided by the Persistence api in order to proceed, but I'm now questionning about its faisability. I've checked out the source code and noticed the persistence.xml resource is searched, whatever property I put in the configuration map. Could you (or anyone else) confirm this last point? Merci bien Erwan 2007/4/6, Patrick Linskey : > > > Note : > > I'm using a persistence.xml for single persitence unit > > creation, and this > > test works fine. I've had a dive into the source code, and found the > > provider is lookuped and found by the glassfish persistence > > implementation > > class. The exception is raised on the open jpa side, and I > > know I'm missing > > some configuration elements, but I cannot guess what's missing? > > any hint? > > The only exception that I see in the trace you gave us is thrown by the > spec implementation jar. I'm not looking at the source for that code, > but my guess would be that the failure is happening because of a > classpath error, such that OpenJPA is not available in the classloader > that is visible to the Persistence class. > > Could you post your persistence.xml file and any details about how your > classloader structure is set up? > > Thanks, > > -Patrick > > -- > Patrick Linskey > BEA Systems, Inc. > > _______________________________________________________________________ > Notice: This email message, together with any attachments, may contain > information of BEA Systems, Inc., its subsidiaries and affiliated > entities, that may be confidential, proprietary, copyrighted and/or > legally privileged, and is intended solely for the use of the individual > or entity named in this message. If you are not the intended recipient, > and have received this message in error, please immediately return this > by email and then delete it. > > > -----Original Message----- > > From: Erwan Le Goulven [mailto:erwan.legoulven@gmail.com] > > Sent: Friday, April 06, 2007 4:46 AM > > To: open-jpa-dev@incubator.apache.org > > Subject: Programmatical EntityManagerFactory init > > > > Messieurs-dames, > > > > As I could not find much clues about the right way to do it, > > here I come: > > I'm trying to get an EntityManagerFactory properly setup from the > > Persistence class, but I cannot get further than the > > following exception > > > > javax.persistence.PersistenceException: No Persistence provider for > > EntityManager named teamplay_test > > at javax.persistence.Persistence.createEntityManagerFactory( > > Persistence.java:89) > > at > > com.gdteam.teamplay.domain.manager.TeamplayEMFactoryManager.get( > > TeamplayEMFactoryManager.java:60) > > at com.gdteam.teamplay.test.persistence.PersistenceUtilTest.setUp( > > PersistenceUtilTest.java:19) > > at junit.framework.TestCase.runBare(TestCase.java:125) > > at junit.framework.TestResult$1.protect(TestResult.java:106) > > at junit.framework.TestResult.runProtected(TestResult.java:124) > > at junit.framework.TestResult.run(TestResult.java:109) > > at junit.framework.TestCase.run(TestCase.java:118) > > at junit.framework.TestSuite.runTest(TestSuite.java:208) > > at junit.framework.TestSuite.run(TestSuite.java:203) > > > > Here is the code part that leads to the exception: > > > > public class TeamplayEMFactoryManager { > > ... > > private final Map props = new > > HashMap(); > > private final Map map = new > > HashMap(); > > ... > > private TeamplayEMFactoryManager() { > > props.put("openjpa.ConnectionDriverName", > > "org.hsqldb.jdbcDriver"); > > props.put("openjpa.ConnectionUserName", "sa"); > > props.put("openjpa.ConnectionPassword", ""); > > props.put("openjpa.Log", "DefaultLevel=WARN, Tool=INFO"); > > props.put("openjpa.MetaDataFactory", > > "jpa(Types="+buildTypes()+")"); > > } > > > > .. > > > > public EntityManagerFactory get(String url) { > > > > EntityManagerFactory factory = null; > > > > if (null == url || url.length() == 0 ) { > > url = "default"; > > } > > > > factory = this.map.get(url); > > > > if (null == factory) { > > if ( "default".equals(url)) { > > 1- factory = > > Persistence.createEntityManagerFactory(null); > > } else { > > Map map = new HashMap > String>(props); > > map.put("openjpa.ConnectionURL", buildUrl(url)); > > 2- factory = > > Persistence.createEntityManagerFactory(url,map); > > } > > this.map.put(url, factory); > > } > > return factory; > > } > > ... > > } > > > > > > Note : > > I'm using a persistence.xml for single persitence unit > > creation, and this > > test works fine. I've had a dive into the source code, and found the > > provider is lookuped and found by the glassfish persistence > > implementation > > class. The exception is raised on the open jpa side, and I > > know I'm missing > > some configuration elements, but I cannot guess what's missing? > > any hint? > > > > thank you guys > > > > Notice: This email message, together with any attachments, may contain > information of BEA Systems, Inc., its subsidiaries and affiliated > entities, that may be confidential, proprietary, copyrighted and/or > legally privileged, and is intended solely for the use of the individual or > entity named in this message. If you are not the intended recipient, and > have received this message in error, please immediately return this by email > and then delete it. > ------=_Part_9522_32910245.1175878191109--