Fraska Portal

Exploring the WebSphere Commerce world

WebSphere Commerce v8, toolkit exception, ClassNotFound db2

Posted by on in Administration
  • Font size: Larger Smaller
  • Hits: 3240
  • 26 Comments
  • Subscribe to this entry
  • Print

During my first experiments with my new toolkit based on WCS v8 mod pack1, I almost instantly faced an exception just after the startup of the test server:

[4/18/16 15:07:06:039 CEST] 00000216 BusinessObjec W com.ibm.commerce.foundation.server.command.bod.BusinessObjectDocumentProcessor static com.ibm.db2.jcc.am.SqlDataException
                                 java.lang.ClassNotFoundException: com.ibm.db2.jcc.am.SqlDataException
	at java.lang.Class.forNameImpl(Native Method)
	at java.lang.Class.forName(Class.java:256)
	at com.ibm.commerce.foundation.server.command.bod.BusinessObjectDocumentProcessor.<clinit>(BusinessObjectDocumentProcessor.java:141)
	at java.lang.J9VMInternals.initializeImpl(Native Method)
	at java.lang.J9VMInternals.initialize(J9VMInternals.java:235)
	at com.ibm.commerce.marketing.facade.server.MarketingFacadeImpl.processMarketingTrigger(MarketingFacadeImpl.java:107)
	at com.ibm.commerce.marketing.facade.server.EJSLocalStatelessMarketing_0e493592.processMarketingTrigger(EJSLocalStatelessMarketing_0e493592.java:233)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
	at java.lang.reflect.Method.invoke(Method.java:620)
	at com.ibm.commerce.foundation.internal.client.services.invocation.impl.LocalEJBInvocationBindingImpl.invoke(LocalEJBInvocationBindingImpl.java:211)
	at com.ibm.commerce.foundation.internal.client.services.invocation.InvocationService.invoke(InvocationService.java:113)
	at com.ibm.commerce.foundation.client.facade.bod.AbstractBusinessObjectDocumentFacadeClient.internalSendBusinessObjectDocument(AbstractBusinessObjectDocumentFacadeClient.java:813)
	at com.ibm.commerce.foundation.client.facade.bod.AbstractBusinessObjectDocumentFacadeClient.sendBusinessObjectDocument(AbstractBusinessObjectDocumentFacadeClient.java:529)
	at com.ibm.commerce.marketing.facade.client.AbstractMarketingFacadeClient.processMarketingTrigger(AbstractMarketingFacadeClient.java:487)
	at com.ibm.commerce.marketing.facade.client.MarketingFacadeClient.processMarketingTrigger(MarketingFacadeClient.java:707)
	at com.ibm.commerce.marketing.facade.client.MarketingFacadeClient.processMarketingTrigger(MarketingFacadeClient.java:811)
	at com.ibm.commerce.marketing.internal.runtime.engine.SaveMarketingStatisticsCmdImpl.performExecute(SaveMarketingStatisticsCmdImpl.java:108)
	at com.ibm.commerce.command.ECCommandTarget.executeCommand(ECCommandTarget.java:157)
	at com.ibm.websphere.command.TargetableCommandImpl.execute(TargetableCommandImpl.java:139)
	at com.ibm.websphere.command.CacheableCommandImpl.execute(CacheableCommandImpl.java:139)
	at com.ibm.commerce.command.MeasuredCacheableCommandImpl.execute(MeasuredCacheableCommandImpl.java:68)
	at com.ibm.commerce.command.AbstractECTargetableCommand.execute(AbstractECTargetableCommand.java:199)
	at com.ibm.commerce.component.BaseComponentImpl.executeCommand(BaseComponentImpl.java:202)
	at com.ibm.commerce.component.WebAdapterComponentImpl.executeCommand(WebAdapterComponentImpl.java:46)
	at com.ibm.commerce.component.objimpl.WebAdapterServiceBeanBase.executeCommand(WebAdapterServiceBeanBase.java:58)
	at com.ibm.commerce.component.objects.EJSLocalStatelessWebAdapterService_ce749a4a.executeCommand(EJSLocalStatelessWebAdapterService_ce749a4a.java:31)
	at com.ibm.commerce.component.objects.WebAdapterServiceAccessBean.executeCommand(WebAdapterServiceAccessBean.java:160)
	at com.ibm.commerce.scheduler.SchedulerJob.process(SchedulerJob.java:562)
	at com.ibm.commerce.scheduler.SchedulerSecurityPriviledgedAction.run(SchedulerSecurityPriviledgedAction.java:59)
	at com.ibm.commerce.scheduler.SchedulerJob.run(SchedulerJob.java:1115)
	at com.ibm.commerce.threadmanagement.internal.BaseWork.run(BaseWork.java:139)
	at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:1178)
	at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:199)
	at com.ibm.ws.asynchbeans.CJWorkItemImpl.run(CJWorkItemImpl.java:236)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)

 Investigating a bit I found a possible solution.

Target:

WebSphere Commerce developers & sys admins

Environment:

  • WebSphere Commerce Developer v 8 Mod Pack 1
  • WebSphere Application Server 8.5.5
  • Derby
  • SOLR 4.10.0 (local)

The exception

The exception seems to derive from the class: com.ibm.commerce.foundation.server.command.bod.BusinessObjectDocumentProcessor

In particular, this class makes a check about the existing masked exceptions; the list of values of the masked exceptions is contained in the following file:
N:\IBM\WCDE80\workspace\WC\xml\config\com.ibm.commerce.foundation\wc-component.xml

<_config:configgrouping name="BusinessObjectDocumentProcessor">
    <_config:property name="maskedExceptionClassList" value="java.sql.SQLException,com.ibm.db2.jcc.am.SqlDataException,com.ibm.commerce.foundation.server.services.dataaccess.exception.QueryServiceSystemException"/>
</_config:configgrouping>

The above code contains- in the maskedExceptionClassList property- the class com.ibm.db2.jcc.am.SqlDataException.
However, the system is not using DB2 but Derby, so it's pretty normal an exception is thrown and the class is not found.

 

To fix the issue

 

1) edit the file
N:\IBM\WCDE80\workspace\WC\xml\config\com.ibm.commerce.foundation\wc-component.xml
and change the property maskedExceptionClassList with the following value:
java.sql.SQLException,com.ibm.commerce.foundation.server.services.dataaccess.exception.QueryServiceSystemException


2) restart the test server

 

Rate this blog entry:
1

Comments

Leave your comment

Guest
Guest Friday, 17 August 2018

Most Popular Post

WebSphere Commerce, the SOLR extension index
Administration
Rate this blog entry:
4
WebSphere Commerce, Data Load and SOLR Delta Index
Data Load
Rate this blog entry:
0
WebSphere Commerce, FEP 7, SOLR index pre-process error
Administration
Rate this blog entry:
0

Latest Blogs

WebSphere Commerce, CommandLevelAuthorizationCache
Cache
Rate this blog entry:
0
WebSphere Commerce v8, toolkit exception, ClassNotFound db2
Administration
Rate this blog entry:
1
WebSphere Commerce, ATP migration
Store
Rate this blog entry:
0
WebSphere Commerce, the curious life of a front-end catalog request
Core
Rate this blog entry:
5
WebSphere Commerce, Performance analysis of few European stores
Performance
Rate this blog entry:
0