Hi There,
We are trying out GF v3 for zembly.com and I am seeing following
exception in obtaining EntityManager for EntityManagerFactory (em =
emf.createEntityManager();):
/
Caused by: Exception [EclipseLink-4021] (Eclipse Persistence Services -
1.0.1 (Build 20080905)):
org.eclipse.persistence.exceptions.DatabaseException
Exception Description: Unable to acquire a connection from driver
[null], user [null] and URL [null]. Verify that you have set the
expected driver class and URL. Check your login, persistence.xml or
sessions.xml resource. The jdbc.driver property should be set to a
class that is compatible with your database platform
at
org.eclipse.persistence.exceptions.DatabaseException.unableToAcquireConnectionFromDriverException(DatabaseException.java:365)
at
org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:90)/
Things work perfect with GF V2/2.1 but, V3 does not seem to work. Am I
supposed to do something more than the following?
Any tips would be much appreciated.
Thanks,
=Girish
These are the configuration I have:
*
System servlet has these 2 annotations reg PU:*
/_at_PersistenceUnits(
{
@PersistenceUnit(name = "*webonweb/repositoryEntityManagerFactory*",
unitName =
"*org.webonweb.runtime.impl.repository.db*"),
@PersistenceUnit(name =
"*webonweb/readOnlyRepositoryEntityManagerFactory*",
unitName =
"*org.webonweb.runtime.impl.repository.db.readonly*")
}
)/
*Persistence.xml has (use introspection to discover all entities):*
/ <persistence-unit name="*org.webonweb.runtime.impl.repository.db*"
transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<non-jta-data-source>*jdbc/webonweb/repository*</non-jta-data-source>
<properties>
<!-- <property name="toplink.logging.level" value="FINE"/> -->
<!-- property name="toplink.logging.logger" value="JavaLogger"/ -->
<!-- END JPA cache control properties -->
<property name="eclipselink.cache.shared.default" value="true"/>
<property name="eclipselink.logging.level" value="OFF"/>
</properties>
</persistence-unit>
<persistence-unit
name="*org.webonweb.runtime.impl.repository.db.readonly*"
transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<non-jta-data-source>*jdbc/webonweb/readonlyrepository*</non-jta-data-source>
<properties>
<property name="eclipselink.cache.shared.default" value="true"/>
<property name="eclipselink.logging.level" value="OFF"/>
</properties>
</persistence-unit>
/
*EMF was obtained by (got EMF with out any exception):*
/protected EntityManagerFactory createEntityManagerFactory() throws
RepositoryException {
try {
InitialContext ic = new InitialContext();
return (EntityManagerFactory)
ic.lookup("*java:comp/env/webonweb/repositoryEntityManagerFactory*");
} catch (NamingException ne) {
throw new RepositoryException(ne);
}
}
protected EntityManagerFactory createReadOnlyEntityManagerFactory()
throws RepositoryException {
try {
InitialContext ic = new InitialContext();
return (EntityManagerFactory)
ic.lookup("*java:comp/env/webonweb/readOnlyRepositoryEntityManagerFactory*");
} catch (NamingException ne) {
throw new RepositoryException(ne);
}
}/
*Made sure that the data source is getting looked up correctly by the
following code - hence not a config problem:*
/private Connection getConnection() throws RepositoryException,
SQLException {
try {
InitialContext ic = new InitialContext();
DataSource sd = (DataSource)
ic.lookup("*java:comp/env/jdbc/webonweb/repository*");
return sd.getConnection();
} catch (NamingException ne) {
throw new RepositoryException(ne);
}
}
Version: Eclipse Persistence Services - 1.0.1 (Build 20080905)
GF: GlassFish v3 Prelude (build b28f)
/