Support Article
JDBC Connection Pool Config Not Working
SA-24504
Summary
User initially connecting to external database through use JDBC URL option. While using this, user was able to process the case but getting Database Time out Exceptions.
So user migrated from use JDBC URL option to use JDBC Connection Pool to connect to the external database. But when user is using JDBC Connection pool, they were not able to process the cases, Agents are throwing an error that DB Definition not found.
Error Messages
2016-06-09 10:00:00,100 [ PegaRULES-Batch-1] [ STANDARD] [ MRKGO:01.03.01] (ernal.async.BatchRequestorTask) ERROR - Batch activity "<ActivityName>" threw:
com.pega.pegarules.pub.PRRuntimeError: Database Error : Database-BadDBDef-Missing gostaging
at com.pega.pegarules.priv.desktop.reporting.ContentBuilder.getListSelectClause(ContentBuilder.java:1732)
at com.pegarules.generated.getListSelectClause_071001_mDB5lkalzKofRDYM9B_Sog.getListSelectClause07_10_01(getListSelectClause_071001_mDB5lkalzKofRDYM9B_Sog.java:99)
at com.pegarules.generated.getListSelectClause_071001_mDB5lkalzKofRDYM9B_Sog.invoke(getListSelectClause_071001_mDB5lkalzKofRDYM9B_Sog.java:76)
at com.pega.pegarules.generation.internal.library.LibraryRuntime.resolveAndinvokeFunctionViaReflection(LibraryRuntime.java:133)
at com.pega.pegarules.generation.internal.library.LibraryRuntime.invokeLibraryRuntime(LibraryRuntime.java:110)
at com.pega.pegarules.session.internal.mgmt.Executable.invokeLibraryRuntime(Executable.java:8786)
at com.pega.pegarules.priv.generator.LibrarySupport.resolveAndInvokeFunctionViaReflection(LibrarySupport.java:181)
at com.pegarules.generated.pega_wb_reportcontentbuilder.getListSelectClause(pega_wb_reportcontentbuilder.java:577)
at com.pegarules.generated.activity.ra_action_requestload_545230e25dca02f74d3232d540cb8025.step2_circum0(ra_action_requestload_545230e25dca02f74d3232d540cb8025.java:397)
at com.pegarules.generated.activity.ra_action_requestload_545230e25dca02f74d3232d540cb8025.perform(ra_action_requestload_545230e25dca02f74d3232d540cb8025.java:89)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3375)
at com.pega.pegarules.session.internal.async.agent.QueueProcessor.runActivity(QueueProcessor.java:719)
at com.pega.pegarules.session.internal.async.agent.QueueProcessor.execute(QueueProcessor.java:600)
at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:885)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1177)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:926)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:825)
at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:618)
at com.pega.jsr166backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:991)
at com.pega.jsr166backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:532)
at java.lang.Thread.run(Thread.java:619)
Steps to Reproduce
Not Applicable.
Root Cause
A configuration issue in the context.xml file with resource tag connection pool stings causes this issue. Resource tag configured with maxActive 800 connections which database not able to initiate 800 connections at the time creating connection pool.
Resolution
Configure resource tag as below to resolve the issue:
<Resource name="jdbc/ GOSTAGING"
auth="Container"
type="javax.sql.DataSource"
maxActive="200"
maxIdle="100"
maxWait="-1"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@IP Address:1521:databaseName"
username="username"
password="password"
connectionProperties="oracle.jdbc.V8Compatible=true"
validationQuery="select 1 from dual" />
Published July 26, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.