JNDI connection problem
884364Aug 29 2011 — edited Oct 15 2014Hi,
I am trying to create JNDI based connection pooling. For that I have following configurations:
1. In servel.xml I put following between <GlobalNamingResources> and </GlobalNamingResources>
<Resource name="jdbc/dynic"
auth="Container"
type="oracle.jdbc.pool.OracleDataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
factory="oracle.jdbc.pool.OracleDataSourceFactory"
url="jdbc:oracle:thin:@//localhost:4001/SAIDIT
user="sfed_schema"
password="sfed_schema"
maxActive="20"
maxIdle="10"
maxWait="-1" />
2. In context.xml between <Context> and </Context> I have
<ResourceLink global="jdbc/dynic" name="jdbc/dynic"
type="oracle.jdbc.pool.OracleDataSource"/>
3. After that I am trying to get connection with following code
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
ds = (DataSource) envCtx.lookup("jdbc/dynic");
Connection conn = ds.getConnection();
But I am getting following error
java.lang.NullPointerException
oracle.net.resolver.NameResolverFactory.getNameResolver(Unknown Source)
oracle.net.resolver.AddrResolution.resolveAndExecute(Unknown Source)
oracle.net.ns.NSProtocol.establishConnection(Unknown Source)
oracle.net.ns.NSProtocol.connect(Unknown Source)
oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:843)
oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:267)
oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:413)
oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:164)
oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:752)
oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:296)
oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:220)
oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:164)
I am posting all related code to make my problem clear.
Thanks,
Anjib