-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
Hi,
As part of migration to jdk11 we are asked to upgrade guice version which supports jdk11.
So in pom.xml I tried to upgrade guice version from 4.0 => 4.2.2 and left other dependency versions as it is but when i started our REST application its unable to get a successful C3p0 connection. However if i revert back to 4.0 version it works fine.
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
**<version>4.2.2</version>**
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-jndi</artifactId>
<version>4.0</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-servlet</artifactId>
<version>4.0</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<!-- END: C3P0 database connection and google guice for inject -->
Java Code:
import javax.sql.DataSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.inject.AbstractModule;
import com.google.inject.Provider;
import com.google.inject.jndi.JndiIntegration;
public class DemoDataSource extends AbstractModule {
private static final String JNDI_ENV = "java:comp/env/jdbc/c3p0DataSource";
@Override
protected void configure() {
bind(javax.naming.Context.class).to(javax.naming.InitialContext.class).asEagerSingleton();
Provider dataSourceProvider = JndiIntegration.fromJndi(DataSource.class, JNDI_ENV);
bind(DataSource.class).toProvider(dataSourceProvider).asEagerSingleton();
bind(DBConnectionPool.class).to(C3P0ConnectionProvider.class).asEagerSingleton();
}
}
}
Any help is much appreciated.