IBM Support

Enabling property yfs.yfs.app.identifyconnection=Y in crashing Appserver

Question & Answer


Question

What could be the reason of of app server crash with yfs.yfs.app.identifyconnection=Y ?
Error Trace :- 
10/16/18 6:46:06:489 EDT] 00000096 ApplicationMg A   WSVR0221I: Application started: ibmasyncrsp
[10/16/18 6:46:06:490 EDT] 00000095 CompositionUn A   WSVR0191I: Composition unit WebSphere:cuname=GBootStrap_war in BLA WebSphere:blaname=GBootStrap_war started.
[10/16/18 6:46:06:490 EDT] 00000096 CompositionUn A   WSVR0191I: Composition unit WebSphere:cuname=ibmasyncrsp in BLA WebSphere:blaname=ibmasyncrsp started.
[10/16/18 6:46:07:053 EDT] 00000097 webapp        I com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: Loading Web Module: smcfs.war.
[10/16/18 6:46:07:073 EDT] 00000097 WASSessionCor I SessionContextRegistry getSessionContext SESN0176I: Will create a new session context for application key default_host/smcfs
[10/16/18 6:46:13:866 EDT] 00000097 webapp        E com.ibm.ws.webcontainer.webapp.WebApp logError SRVE0293E: [Servlet Error]-[Failed to load listener: com.yantra.ycp.ui.backend.YCPSessionListener]: java.lang.AbstractMethodError: java/sql/Wrapper.isWrapperFor(Ljava/lang/Class;)Z
        at com.sterlingcommerce.woodstock.util.frame.jdbc.ConnectionWrapper.isWrapperFor(ConnectionWrapper.java:973)
        at com.yantra.ycp.core.YCPDbStampingInfo.stampApplicationInfoForDB2(YCPDbStampingInfo.java:131)
        at com.yantra.ycp.core.YCPDbStampingInfo.setClientApplicationInformation(YCPDbStampingInfo.java:61)
        at com.yantra.ycp.core.YCPConnHolder.stampConnectionInformation(YCPConnHolder.java:343)
        at com.yantra.ycp.core.YCPConnHolder.getConnection(YCPConnHolder.java:370)
        at com.yantra.ycp.core.YCPMultiConnHolder.getConnection(YCPMultiConnHolder.java:128)
        at com.yantra.ycp.core.YCPMultiConnHolder.getConnection(YCPMultiConnHolder.java:402)
        at com.yantra.ycp.core.YCPContext.getConnection(YCPContext.java:1651)
        at com.yantra.yfc.dblayer.YFCEntityDBHome.createStatement(YFCEntityDBHome.java:1969)
        at com.yantra.yfc.dblayer.YFCEntityDBHome.createStatementForList(YFCEntityDBHome.java:1988)
        at com.yantra.yfc.dblayer.YFCEntityDBHome.__AW_listEntitiesWithSelectPS(YFCEntityDBHome.java:2838)
        at com.yantra.yfc.dblayer.YFCEntityDBHome.listEntitiesWithSelectPS(YFCEntityDBHome.java)
        at com.yantra.yfc.dblayer.YFCEntityDBHome.listEntitiesWithSelectPS(YFCEntityDBHome.java:2808)
        at com.yantra.yfc.dblayer.YFCEntityDBHome.listEntitiesWithWhereClausePS(YFCEntityDBHome.java:2775)
        at com.yantra.yfc.dblayer.YFCEntityDBHome.listEntitiesWithWhereClausePS(YFCEntityDBHome.java:2691)
        at com.yantra.yfc.dblayer.YFCEntityDBHome.listEntitiesWithWhereClause(YFCEntityDBHome.java:2599)
        at com.yantra.shared.dbclasses.YFS_LocaleDBHome.listWithWhere(YFS_LocaleDBHome.java:256)
        at com.yantra.shared.dbclasses.YFS_LocaleDBHome.listWithWhere(YFS_LocaleDBHome.java:230)
        at com.yantra.shared.dbclasses.YFS_LocaleDBHome.listWithWhere(YFS_LocaleDBHome.java:197)
        at com.yantra.yfs.core.YFSSystem.__AW_loadLocales(YFSSystem.java:191)
        at com.yantra.yfs.core.YFSSystem.loadLocales(YFSSystem.java)

Cause

When yfs.yfs.app.identifyconnection is used, OMS tries to call a vendor specific function on the db vendor connection object to stamp more information on the connection about the application info
This issue occurs  with older version of db driver jar or duplicate older driver presence  in the classpath.
In Above stack trace  java.sql.Connection interface got 'isWrapperFor' function in JDK 1.6. OMS 9.3 is compiled with JDK 1.6 and hence the class files expect that the function isWrapperFor() will be present and implemented by the vendor specific connection class.

Looks like the connection class from the vendor (DB2) which is getting used at runtime does not have this function isWrapperFor implemented and hence this error. It may be possible that an older db2 database driver jar  which was applicable for jdk 5 or below is present in the classpath.
 

Answer

Ensure correct version of DB driver is been used refer following link for driver version  :- 
https://www-01.ibm.com/support/docview.wss?uid=swg27041300
And ensure only single jar file present in classpath . 

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SS6PEW","label":"IBM Sterling Order Management"},"Component":"","Platform":[{"code":"PF002","label":"AIX"}],"Version":"All Versions","Edition":"9.3","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Product Synonym

Sterling Order management ;Db2

Document Information

Modified date:
17 May 2022

UID

ibm10872014