On Aug 22, 2008, at 1:11 PM, devdev wrote:


David thanks again for the quick reply.

regarding #2, I totally agree there is no benefit to use it the jsee way.
When rewriting persistence.xml touse mysql I get
<openjpa-1.0.2-r420667:627158 nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: There were errors
initializing your configuration: <openjpa-1.0.2-r420667:627158 fatal store error> org.apache.openjpa.util.StoreException: com.mysql.jdbc.Driver in classloader org.apache.geronimo.configs/openjpa/2.1.2/car which i believe is because it can't find the driver. I got around it by providing a deploy plan for a mysql connector where the dependency is stated. Thus it's really a bizaree setup, because it use the persistence-unit to write to the DB and
not the DB pool.

If using the pool is the prefered way (to leverage JEE container), it
surprising you are unsure if it would give problem or not. Isn't it a quite
standard use case of access the DB?

yes, for server side apps. The documentation you pointed to is for an a javaee application client. I've never seen a javaee app client of any kind used in a production app, let alone one that used jpa. I have a hard time imagining a reasonable use case for a javaee app client that used direct database access through local jpa -- perhaps for some kind of local backup when you can't connect to the server? Anyway I've never seen such a setup.

For web apps or ejbs, you definitely want to use a db pool. There are some instructions here:

http://cwiki.apache.org/GMOxDOC21/datasource-connectionfactory-mdb-and-jpa.html

For some reason when you search the site for "persistence.xml" it doesn't show up on the first page which is rather unfortunate since I think they are the only instructions that explain this.


regarding #3, according to javax.persistence.* API, the only way to get a EntityTransaction instance is by follow that example and it first start w/ Persistence.createEntityManagerFactory(String persistenceUnitName). If
using the connector, how can I refer to my connector w/in my EJB?

I'm afraid I don't recall the details of when you can use application managed persistence units/contexts. I think you have to specify this in the persistence.xml, and you might have to inject an EntityManagerFactory rather than an EntityManager. In any case, once you have the EntityManager, you can get the EntityTransaction from it and use it.

In the server, however, I strongly recommend using container managed transactions and persistence contexts, and relying on the transaction annotations for the ejb methods.

hope this helps
david jencks



Thank you in advance
JFR



djencks wrote:


On Aug 22, 2008, at 11:36 AM, devdev wrote:


Thank you David.  Could you please clarify the following is correct.

1) I was under the impression that the JDBC is also using a connector
underneath.

I don't understand what you are asking.  Geronimo provides jdbc
database pooling through the j2ca connector framework, and wrapping
jdbc drivers and datasources from db vendors with j2ca adapters from
the tranql project.



2) By JBDC you like like the JPA example from the tutorial at
http://cwiki.apache.org/GMOxDOC21/using-java-persistence-api-in-application-client.html

I don't think I'd write this example this way.  It does not use any
javaee jpa support but only javase support. In particular it does not use and database connection pooling. To get a similar example to work
with mysql you'd need to modify the persistence.xml properties to
point to the mysql database.

If I were to write a jpa app client example I would use injected
entity manager or entity manager factory and deploy a connection pool
on the app client and use it with the jta-datasource and/or non-jta-
datasource.  However I'm not sure anyone has done this and don't know
if there would be problems.


3) If using the connector, how would I get a EntityTransaction to
start and
commit a TXN.

The app client example isn't useing a connector.  However I think
there are methods on EntityManager to control jpa-mediated transactions.

I'm not sure I'm answering the questions you are asking but hopefully
this is of some help
david jencks



Thanks a bunch
JFR
--
View this message in context:
http://www.nabble.com/DB-pool-from-admin-console-looks-wrong-tp19112554s134p19113279.html
Sent from the Apache Geronimo - Users mailing list archive at
Nabble.com.





--
View this message in context: 
http://www.nabble.com/DB-pool-from-admin-console-looks-wrong-tp19112554s134p19114756.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Reply via email to