Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] Re : Re : Anyone using EL with newer Tomcat Servlet Environment and JNDI datasource?

Ok, some facts:

1) I do use PostgreSQL 9.3 with latest stable JDBC driver
2) I don't use JDBC driver pool datasource: instead, I do use native Tomcat datasource pool with standard PostgreSQL JDBC Connection driver
3) My code to obtain a connection is plain standard:

  public static DataSource getDataSource() {
    try {
      Context ctx = new InitialContext();
      Context env = (Context) ctx.lookup("java:comp/env");
      DataSource ds = (DataSource) env.lookup("jdbc/myApp");
      return ds;
    } catch (Exception e) {
      Util.debug("******** ERROR ********");
      Util.debug(e);
      return null;
    }
  }




Atenciosamente,

Edson Carlos Ericksson Richter
On 16-10-2014 08:16, edsonrichter@xxxxxxxxxxx wrote:

Hum... I do use PostregreSql.

I''ll share my code to get a connection to the database, as soon as I reach my office this morning..  it would help. 

 

Enviado do meu Telefone LG

------ Mensagem original ------
De: Markus Kolb
Data: 15/10/2014 19h19
Para: edsonrichter@xxxxxxxxxxx;
Cc:EclipseLink User Discussions;
Assunto:Re : [eclipselink-users] Anyone using EL with newer Tomcat Servlet Environment and JNDI datasource?

Am 2014-10-15 16:28, schrieb edsonrichter@xxxxxxxxxxx:
> I've dozens of systems running 2.5.0 and tomcat 7 and 8 this way. Do
> you have a stack trace or similar?
> 

[...]

Do you use MySQL JDBC Connector? 5.1.33?
driverClassName=com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource 
?

I think I've used some months ago EL, Tomcat and H2 Database driver and 
had also no problem.


I've done a debug on the NPE...

Caused by: java.lang.NullPointerException
	at 
org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:123)

Line 123 ist the return statement...
             if ((user == null) || (user.length() == 0)) {
                 return dataSource.getConnection();
             } else {

The dataSource == null.

dataSource ist set around line 100:

if (lookupType == STRING_LOOKUP) {
    dataSource = (DataSource)getContext().lookup(getName());
} else if (lookupType == COMPOSITE_NAME_LOOKUP) {
    dataSource = (DataSource)getContext().lookup(new 
CompositeName(name));
} else {
    dataSource = (DataSource)getContext().lookup(new CompoundName(name, 
new Properties()));
}
this.setDataSource(dataSource);

During debug the lookup calls
dataSource = (DataSource)getContext().lookup(new CompositeName(name));
or with SessionCustomizer
dataSource = (DataSource)getContext().lookup(getName());
return null.


Here the stacktrace...

javax.persistence.PersistenceException: java.lang.NullPointerException
	at 
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:766)
	at 
org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:204)
	at 
org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getDatabaseSession(EntityManagerFactoryDelegate.java:182)
	at 
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getDatabaseSession(EntityManagerFactoryImpl.java:527)
	at 
org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactoryImpl(PersistenceProvider.java:140)
	at 
org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactory(PersistenceProvider.java:177)
	at 
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
	at 
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
	at 
eu.....EntityManagerCacheFactory.createEntityManager(EntityManagerCacheFactory.java:49)

[...]
	at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
	at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
	at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
	at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
	at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)
	at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)
	at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
	at 
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
	at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
	at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
	at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NullPointerException
	at 
org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:123)
	at 
org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
	at 
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.setOrDetectDatasource(DatabaseSessionImpl.java:204)
	at 
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:741)
	at 
org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:239)
	at 
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:685)
	... 58 more



_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/eclipselink-users


Back to the top