Troubleshooting
Problem
Invalid pool name 'null' while getting a database connection. Please check for consistency of the properties files or BPML "com.sterlingcommerce.woodstock.util.frame.jdbc.JDBCConnectionException" error
Symptom
Release: SMCF 8.0
1. When starting the application server, the following error appears in the log.
2. When executing a stand-alone Java program, system displays the error on command prompt or shell
Error Message
[2008-02-01 18:52:48.342] ERROR 2008-02-01 18:52:48,338:ERROR :SoapConnectorThreadPool : 0: Failed to Load the locales
[system]: YFSSystem
[2008-02-01 18:52:48.342] ERROR 2008-02-01 18:52:48,342:ERROR :SoapConnectorThreadPool : 0: [1201909968342]com.yantra.yfc.util.Y
FCException [system]: YFSSystem
[2008-02-01 18:52:48.359] ERRORDTL 2008-02-01 18:52:48,358:ERRORDTL:SoapConnectorThreadPool : 0: [1201909968342] 0" encoding="UTF-8"?>
<Errors>
<Error
ErrorDescription="com.sterlingcommerce.woodstock.util.frame.jdbc.JDBCConnectionE xception" ErrorRelatedMoreInfo="">
<Attribute Name="ErrorCode" Value="com.sterlingcommerce.woodstock.util.frame.jdbc.JDBCConnectionException"/>
<Attribute Name="ErrorDescription" Value="com.sterlingcommerce.woodstock.util.frame.jdbc.JDBCConnectionException"/>
<Error
ErrorDescription="" ErrorRelatedMoreInfo="Invalid pool name 'null' while getting a database connection. Please check
for consistency of the properties files or BPML">
<Stack>com.sterlingcommerce.woodstock.util.frame.jdbc.JDBCConnectionException: Invalid pool name 'null' while getting
a database connection. Please check for consistency of the properties files or BPML
at com.sterlingcommerce.woodstock.util.frame.jdbc.JDBCService.getConnection(JDBCSer vice.java:706)
at com.sterlingcommerce.woodstock.util.frame.jdbc.JDBCService.getConnection(JDBCSer vice.java:592)
at com.yantra.interop.util.TransactionWrapper.getConnection(TransactionWrapper.java :68)
at com.yantra.ycp.core.YCPContext.createConnection(YCPContext.java:805)
at com.yantra.ycp.core.YCPContext.initializeConnection(YCPContext.java:322)
at com.yantra.ycp.core.YCPContext.getConnection(YCPContext.java:151)
at com.yantra.yfc.dblayer.YFCEntityDBHome.createStatement(YFCEntityDBHome.java:1413 )
at com.yantra.yfc.dblayer.YFCEntityDBHome.createStatementForList(YFCEntityDBHome.ja va:1420)
at com.yantra.yfc.dblayer.YFCEntityDBHome.listEntitiesWithSelectPS(YFCEntityDBHome. java:1848)
at com.yantra.yfc.dblayer.YFCEntityDBHome.listEntitiesWithWhereClausePS(YFCEntityDB Home.java:1830)
at com.yantra.yfc.dblayer.YFCEntityDBHome.listEntitiesWithWhereClausePS(YFCEntityDB Home.java:1810)
at com.yantra.yfc.dblayer.YFCEntityDBHome.listEntitiesWithWhereClause(YFCEntityDBHo me.java:1800)
at com.yantra.shared.dbclasses.YFS_LocaleDBHome.listWithWhere(YFS_LocaleDBHome.java :106)
at com.yantra.shared.dbclasses.YFS_LocaleDBHome.listWithWhere(YFS_LocaleDBHome.java :98)
at com.yantra.shared.dbclasses.YFS_LocaleDBHome.listWithWhere(YFS_LocaleDBHome.java :81)
at com.yantra.yfs.core.YFSSystem.loadLocales(YFSSystem.java:150)
at com.yantra.yfs.core.YFSSystem.init(YFSSystem.java:68)
at com.yantra.yfs.core.YFSSystem.<clinit>(YFSSystem.java:47)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:177)
Resolving The Problem
Solution
Cause for the error:System displays this error when it is unable to find the appropriate servers.properties file containing the JDBC connection parameters.
Following JVM options such as the -Dvendor, -DvendorFile, -Dsci.naming.provider.url is not set with the correct value.
Resolution:
JVM options need to be set accordingly.
1. For WebSphere:
Navigate to the IBM WebSphere Console > Server Infrastructure > Java and Process Management > Process Definition > Java Virtual Machine. Add to generic JVM arguments the following:
-Dvendor=shell -DvendorFile=/servers.properties -Dsci.naming.provider.url=corbaloc::host:port
(where host and port are your appropriate host and bootstrap port)
2. For Weblogic:
Add the following to the java command-line options in startWebLogic.sh:
-Dvendor=shell -DvendorFile=/servers.properties -Dsci.naming.provider.url=t3://host:port
(where host and port are your appropriate naming provider host and port)
1. For stand-alone Java program,
Execute with the following command : java <Name of sample java file> -Dvendor=shell -DvendorFile=<C:/MCF80/Foundation/properties>/servers.properties
Incase of using database connection pooling, then "-Dvendor=shell" should be replaced with "-Dvendor=websphere" or "-Dvendor=weblogic" depending on the application server.
The above information about the JVM options are mentioned in Section of Chapter 15 -> Deploying the Sterling Multi-Channel Fulfillment Solution -> 15.1.1 -> point 1 of Installation Guide.pdf for further reference.
Historical Number
TRB2941
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21561880