Support Article
'IJ000453: Unable to get managed connection' performance issues
SA-53395
Summary
User is facing environment performance issues with Pega 7.3.1.
Error Messages
java.lang.Exception: Caught exception while creating Connection, javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/eis/PRAdapterConnectionFactory
at com.pega.pegarules.resadap.RAClient.init(RAClient.java:152) ~[prprivcommon.jar:?]
at com.pega.pegarules.resadap.RAClient.<init>(RAClient.java:87) ~[prprivcommon.jar:?]
at com.pega.pegarules.resadap.RAClientContainer.get(RAClientContainer.java:47) ~[prprivcommon.jar:?]
at com.pega.pegarules.session.internal.async.BatchUtils.callRAClient(BatchUtils.java:146) ~[prprivate.jar:?]
at com.pega.pegarules.session.internal.async.Agent.queueBatchAsyncLoad(Agent.java:2325) ~[prprivate.jar:?]
... 187 more
Caused by: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/eis/PRAdapterConnectionFactory
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:421) ~[ironjacamar-core-impl-1.0.31.Final-redhat-1.jar!/:1.0.31.Final-redhat-1]
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:327) ~[ironjacamar-core-impl-1.0.31.Final-redhat-1.jar!/:1.0.31.Final-redhat-1]
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:510) ~[ironjacamar-core-impl-1.0.31.Final-redhat-1.jar!/:1.0.31.Final-redhat-1]
Caused by: javax.resource.ResourceException: IJ000655: No managed connections available within configured blocking timeout (30000 [ms])
at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:427) ~[ironjacamar-core-impl-
Steps to Reproduce
Not Applicable
Root Cause
A defect or configuration issue in the operating environment:
The cause for the error is that connection factory may not return a connection if all the connections are exhausted and there are no connection left.
The connection pool size may be causing issues with agent processing that cannot run when the pool is maxed out.
The limitation of resources is configurable as part of the pradapter.rar contained within the prpc*.ear file.
jboss-pradapter-ds.xml was used with previous JBoss version however, since JBoss 6.x, ironjacamar.xml is being used to configure and activate the resource adapter automatically upon deployment.
The file location is prpc_j2ee14_jboss61JBM.ear/pradapter.rar/META-INF/ironjacamar.xml
Resolution
Perform the following local-change:
In order to increase the pool size, apply the Resolution contained in following Support Article:
https://pdn.pega.com/support-articles/application-becomes-unresponsive-during-load-test
Note that there is not strict need to replace the entire content as recommended in the SA above, it's enough to increase the max-pool-size to a value that suits the application expected load.
The full set of changes reported in the Support Article can be applied in case a more aggressive resource management policy should be required (larger pool, preload CFs)
The following steps can be used to monitor the connection pool usage to inspect the effective load and ensure that size is appropriate
Monitoring
To verify and monitor resource settings and availability at runtime use the jboss-cli command line management tool or a JMX client like JConsole
Find below usage instruction for both cases:
- jboss-cli
Commands executed with OOTB prpc_j2ee14_jboss61JBM.ear
c:\jboss-eap-6.3\bin>jboss-cli.bat
If disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.
[disconnected /] connect
[standalone@localhost:9999 /] /deployment=prpc_j2ee14_jboss61JBM.ear/subdeployment=pradapter.rar/subsystem=resource-adapters/statistics=statistics/connection-definitions=java\:\/eis\/PRAdapterCF/:write-attribute(name=statistics-enabled,value=true)
{"outcome" => "success"}
[standalone@localhost:9999 /] /deployment=prpc_j2ee14_jboss61JBM.ear/subdeployment=pradapter.rar/subsystem=resource-adapters/statistics=statistics/connection-definitions=java\:\/eis\/PRAdapterCF/:read-attribute(name=AvailableCount)
{
"outcome" => "success",
"result" => "10"
}
[standalone@localhost:9999 /] /deployment=prpc_j2ee14_jboss61JBM.ear/subdeployment=pradapter.rar/subsystem=resource-adapters:read-resource(recursive=true)
{
"outcome" => "success",
"result" => {
"ironjacamar" => {"ironjacamar" => {"resource-adapter" => {"prpc_j2ee14_jboss61JBM.ear#pradapter" => {
"archive" => "prpc_j2ee14_jboss61JBM.ear#pradapter",
"beanvalidationgroups" => undefined,
"bootstrap-context" => undefined,
"config-properties" => undefined,
"module" => undefined,
"transaction-support" => "NoTransaction",
"admin-objects" => undefined,
"connection-definitions" => {"eis/PRAdapterCF" => {
"allocation-retry" => undefined,
"allocation-retry-wait-millis" => undefined,
"background-validation" => false,
"background-validation-millis" => undefined,
"blocking-timeout-wait-millis" => undefined,
"class-name" => "com.pega.pegarules.ra.spi.PRManagedConnectionFactoryImpl",
"enabled" => true,
"flush-strategy" => "FAILING_CONNECTION_ONLY",
"idle-timeout-minutes" => undefined,
"interleaving" => false,
"jndi-name" => "eis/PRAdapterCF",
"max-pool-size" => 10,
"min-pool-size" => 0,
"no-recovery" => false,
"no-tx-separate-pool" => false,
"pad-xid" => false,
"pool-prefill" => false,
"pool-use-strict-min" => false,
"recovery-password" => undefined,
"recovery-plugin-class-name" => undefined,
"recovery-plugin-properties" => undefined,
"recovery-security-domain" => undefined,
"recovery-username" => undefined,
"same-rm-override" => undefined,
"security-application" => true,
"security-domain" => undefined,
"security-domain-and-application" => undefined,
"use-ccm" => true,
"use-fast-fail" => false,
"use-java-context" => true,
"use-try-lock" => undefined,
"wrap-xa-resource" => true,
"xa-resource-timeout" => undefined,
"config-properties" => {
"asyncConnectionFactory" => {"value" => "java:comp/env/jms/tcf/Async"},
"asyncQueue" => {"value" => "java:comp/env/jms/topic/AsyncTrigger"}
}
}}
}}}},
"statistics" => {"statistics" => {"connection-definitions" => {"java:/eis/PRAdapterCF" => {}}}}
}
}
[standalone@localhost:9999 /] quit
Press any key to continue . . .
[disconnected /] connect
[standalone@localhost:9999 /] /deployment=prpc_j2ee14_jboss61JBM.ear/subdeployment=pradapter.rar/subsystem=resource-adapters/statistics=statistics/connection-definitions=java\:\/eis\/PRAdapterCF/:write-attribute(name=statistics-enabled,value=true)
{"outcome" => "success"}
[standalone@localhost:9999 /] /deployment=prpc_j2ee14_jboss61JBM.ear/subdeployment=pradapter.rar/subsystem=resource-adapters/statistics=statistics/connection-definitions=java\:\/eis\/PRAdapterCF/:read-attribute(name=AvailableCount)
{
"outcome" => "success",
"result" => "10"
}
[standalone@localhost:9999 /] /deployment=prpc_j2ee14_jboss61JBM.ear/subdeployment=pradapter.rar/subsystem=resource-adapters:read-resource(recursive=true)
{
"outcome" => "success",
"result" => {
"ironjacamar" => {"ironjacamar" => {"resource-adapter" => {"prpc_j2ee14_jboss61JBM.ear#pradapter" => {
"archive" => "prpc_j2ee14_jboss61JBM.ear#pradapter",
"beanvalidationgroups" => undefined,
"bootstrap-context" => undefined,
"config-properties" => undefined,
"module" => undefined,
"transaction-support" => "NoTransaction",
"admin-objects" => undefined,
"connection-definitions" => {"eis/PRAdapterCF" => {
"allocation-retry" => undefined,
"allocation-retry-wait-millis" => undefined,
"background-validation" => false,
"background-validation-millis" => undefined,
"blocking-timeout-wait-millis" => undefined,
"class-name" => "com.pega.pegarules.ra.spi.PRManagedConnectionFactoryImpl",
"enabled" => true,
"flush-strategy" => "FAILING_CONNECTION_ONLY",
"idle-timeout-minutes" => undefined,
"interleaving" => false,
"jndi-name" => "eis/PRAdapterCF",
"max-pool-size" => 10,
"min-pool-size" => 0,
"no-recovery" => false,
"no-tx-separate-pool" => false,
"pad-xid" => false,
"pool-prefill" => false,
"pool-use-strict-min" => false,
"recovery-password" => undefined,
"recovery-plugin-class-name" => undefined,
"recovery-plugin-properties" => undefined,
"recovery-security-domain" => undefined,
"recovery-username" => undefined,
"same-rm-override" => undefined,
"security-application" => true,
"security-domain" => undefined,
"security-domain-and-application" => undefined,
"use-ccm" => true,
"use-fast-fail" => false,
"use-java-context" => true,
"use-try-lock" => undefined,
"wrap-xa-resource" => true,
"xa-resource-timeout" => undefined,
"config-properties" => {
"asyncConnectionFactory" => {"value" => "java:comp/env/jms/tcf/Async"},
"asyncQueue" => {"value" => "java:comp/env/jms/topic/AsyncTrigger"}
}
}}
}}}},
"statistics" => {"statistics" => {"connection-definitions" => {"java:/eis/PRAdapterCF" => {}}}}
}
}
[standalone@localhost:9999 /] quit
Press any key to continue . . .
Commands executed after increasing max-pool-size in ironjacamar.xml
c:\jboss-eap-6.3\bin>jboss-cli.bat
You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.
[disconnected /] connect
[standalone@localhost:9999 /] /deployment=prpc_j2ee14_jboss61JBM.ear/subdeployment=pradapter.rar/subsystem=resource-adapters:read-resource(recursive=true)
{
"outcome" => "success",
"result" => {
"ironjacamar" => {"ironjacamar" => {"resource-adapter" => {"prpc_j2ee14_jboss61JBM.ear#pradapter" => {
"archive" => "prpc_j2ee14_jboss61JBM.ear#pradapter",
"beanvalidationgroups" => undefined,
"bootstrap-context" => undefined,
"config-properties" => undefined,
"module" => undefined,
"transaction-support" => "NoTransaction",
"admin-objects" => undefined,
"connection-definitions" => {"eis/PRAdapterCF" => {
"allocation-retry" => undefined,
"allocation-retry-wait-millis" => undefined,
"background-validation" => false,
"background-validation-millis" => undefined,
"blocking-timeout-wait-millis" => undefined,
"class-name" => "com.pega.pegarules.ra.spi.PRManagedConnectionFactoryImpl",
"enabled" => true,
"flush-strategy" => "FAILING_CONNECTION_ONLY",
"idle-timeout-minutes" => undefined,
"interleaving" => false,
"jndi-name" => "eis/PRAdapterCF",
"max-pool-size" => 100,
"min-pool-size" => 0,
"no-recovery" => false,
"no-tx-separate-pool" => false,
"pad-xid" => false,
"pool-prefill" => false,
"pool-use-strict-min" => false,
"recovery-password" => undefined,
"recovery-plugin-class-name" => undefined,
"recovery-plugin-properties" => undefined,
"recovery-security-domain" => undefined,
"recovery-username" => undefined,
"same-rm-override" => undefined,
"security-application" => true,
"security-domain" => undefined,
"security-domain-and-application" => undefined,
"use-ccm" => true,
"use-fast-fail" => false,
"use-java-context" => true,
"use-try-lock" => undefined,
"wrap-xa-resource" => true,
"xa-resource-timeout" => undefined,
"config-properties" => {
"asyncConnectionFactory" => {"value" => "java:comp/env/jms/tcf/Async"},
"asyncQueue" => {"value" => "java:comp/env/jms/topic/AsyncTrigger"}
}
}}
}}}},
"statistics" => {"statistics" => {"connection-definitions" => {"java:/eis/PRAdapterCF" => {}}}}
}
}
[standalone@localhost:9999 /] /deployment=prpc_j2ee14_jboss61JBM.ear/subdeployment=pradapter.rar/subsystem=resource-adapters/statistics=statistics/connection-definitions=java\:\/eis\/PRAdapterCF/:write-attribute(name=statistics-enabled,value=true)
{"outcome" => "success"}
[standalone@localhost:9999 /] /deployment=prpc_j2ee14_jboss61JBM.ear/subdeployment=pradapter.rar/subsystem=resource-adapters/statistics=statistics/connection-definitions=java\:\/eis\/PRAdapterCF/:read-attribute(name=AvailableCount)
{
"outcome" => "success",
"result" => "100"
}
c:\jboss-eap-6.3\bin>jboss-cli.bat
You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.
[disconnected /] connect
[standalone@localhost:9999 /] /deployment=prpc_j2ee14_jboss61JBM.ear/subdeployment=pradapter.rar/subsystem=resource-adapters:read-resource(recursive=true)
{
"outcome" => "success",
"result" => {
"ironjacamar" => {"ironjacamar" => {"resource-adapter" => {"prpc_j2ee14_jboss61JBM.ear#pradapter" => {
"archive" => "prpc_j2ee14_jboss61JBM.ear#pradapter",
"beanvalidationgroups" => undefined,
"bootstrap-context" => undefined,
"config-properties" => undefined,
"module" => undefined,
"transaction-support" => "NoTransaction",
"admin-objects" => undefined,
"connection-definitions" => {"eis/PRAdapterCF" => {
"allocation-retry" => undefined,
"allocation-retry-wait-millis" => undefined,
"background-validation" => false,
"background-validation-millis" => undefined,
"blocking-timeout-wait-millis" => undefined,
"class-name" => "com.pega.pegarules.ra.spi.PRManagedConnectionFactoryImpl",
"enabled" => true,
"flush-strategy" => "FAILING_CONNECTION_ONLY",
"idle-timeout-minutes" => undefined,
"interleaving" => false,
"jndi-name" => "eis/PRAdapterCF",
"max-pool-size" => 100,
"min-pool-size" => 0,
"no-recovery" => false,
"no-tx-separate-pool" => false,
"pad-xid" => false,
"pool-prefill" => false,
"pool-use-strict-min" => false,
"recovery-password" => undefined,
"recovery-plugin-class-name" => undefined,
"recovery-plugin-properties" => undefined,
"recovery-security-domain" => undefined,
"recovery-username" => undefined,
"same-rm-override" => undefined,
"security-application" => true,
"security-domain" => undefined,
"security-domain-and-application" => undefined,
"use-ccm" => true,
"use-fast-fail" => false,
"use-java-context" => true,
"use-try-lock" => undefined,
"wrap-xa-resource" => true,
"xa-resource-timeout" => undefined,
"config-properties" => {
"asyncConnectionFactory" => {"value" => "java:comp/env/jms/tcf/Async"},
"asyncQueue" => {"value" => "java:comp/env/jms/topic/AsyncTrigger"}
}
}}
}}}},
"statistics" => {"statistics" => {"connection-definitions" => {"java:/eis/PRAdapterCF" => {}}}}
}
}
[standalone@localhost:9999 /] /deployment=prpc_j2ee14_jboss61JBM.ear/subdeployment=pradapter.rar/subsystem=resource-adapters/statistics=statistics/connection-definitions=java\:\/eis\/PRAdapterCF/:write-attribute(name=statistics-enabled,value=true)
{"outcome" => "success"}
[standalone@localhost:9999 /] /deployment=prpc_j2ee14_jboss61JBM.ear/subdeployment=pradapter.rar/subsystem=resource-adapters/statistics=statistics/connection-definitions=java\:\/eis\/PRAdapterCF/:read-attribute(name=AvailableCount)
{
"outcome" => "success",
"result" => "100"
}
- JConsole
Connect with JConsole to the process running the JBoss AS then open the MBeans Tab and expand the following path to inspect the pool size:
jboss.as/prpc_j2ee14_jboss61JBM.ear/pradapter.rar/resource-adapters/ironjacamar/prpc_j2ee14_jboss61JBM.ear#pradapter/eis/PRAdapterCF/attributes
The following screenshot was taken after the ironjacamar.xml was modified
jboss.as/prpc_j2ee14_jboss61JBM.ear/pradapter.rar/resource-adapters/ironjacamar/prpc_j2ee14_jboss61JBM.ear#pradapter/eis/PRAdapterCF/attributes
The following screenshot was taken after the ironjacamar.xml was modified

In JConsole expand the following path to inspect the pool usage statistics:
jboss.as/prpc_j2ee14_jboss61JBM.ear/pradapter.rar/resource-adapters/statistics/attributes
Published July 23, 2018 - 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.