My Oracle Support Banner

RulesExecutor throwing java.lang.ClassCastException Due to Deserialize Process (Doc ID 2803742.1)

Last updated on AUGUST 08, 2023

Applies to:

Oracle Communications Unified Inventory Management - Version 7.4.0.0.0 and later
Information in this document applies to any platform.

Symptoms

Multiple threads seem to be trying to load the PARTY_QUERY, DEVICE_QUERY and the other QUERY rules at the same time

The rules are supposed to be deserialized upon startup. However, an unknown exception is happening at this point and as a result the code attempts to deserialize them through alternate means. In this alternate path, the deserialized object is loaded into cache but points to an incorrect RULE. This is where the ClassCastException is occurring

 

2021-08-12 18:08:59,940 ERROR [satools] [de75b44f-4b22-4ad1-8454-dd26f6d46d31] [[ACTIVE] ExecuteThread: '74' for queue: 'weblogic.kernel.Default (self-tuning)'] [RulesExecutor]
java.lang.ClassCastException: oracle.communications.inventory.api.party.impl.PartySearchCriteriaImpl cannot be cast to oracle.communications.inventory.api.equipment.PhysicalDeviceSearchCriteria
    at com.test.custom.uim.rules.DeviceCriteriaRule.getDeviceSearchCriteria(DeviceCriteriaRule.java:26) ~[Test_Inventory_RulesLib.jar:?]
    at oracle.communications.inventory.rules.Rule_Device_Query_Rule210949754.defaultConsequence(Rule_Device_Query_Rule210949754.java:9) ~[?:?]
    at oracle.communications.inventory.rules.Rule_Device_Query_Rule210949754DefaultConsequenceInvokerGenerated.evaluate(Unknown Source) ~[?:?]
    at oracle.communications.inventory.rules.Rule_Device_Query_Rule210949754DefaultConsequenceInvoker.evaluate(Unknown Source) ~[?:?]
    at org.drools.core.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1052) ~[drools-core-6.5.0.Final.jar:6.5.0.Final]
    at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:121) ~[drools-core-6.5.0.Final.jar:6.5.0.Final]
    at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:74) ~[drools-core-6.5.0.Final.jar:6.5.0.Final]
    at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:970) ~[drools-core-6.5.0.Final.jar:6.5.0.Final]
    at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1312) ~[drools-core-6.5.0.Final.jar:6.5.0.Final]
    at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1251) ~[drools-core-6.5.0.Final.jar:6.5.0.Final]
    at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1359) ~[drools-core-6.5.0.Final.jar:6.5.0.Final]
    at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1350) ~[drools-core-6.5.0.Final.jar:6.5.0.Final]
    at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1331) ~[drools-core-6.5.0.Final.jar:6.5.0.Final]
    at oracle.communications.inventory.extensibility.rules.impl.RulesExecutorImpl.execute(RulesExecutorImpl.java:342) [uim-managers.jar:?]
    at oracle.communications.inventory.extensibility.rules.impl.RulesExecutorImpl.execute(RulesExecutorImpl.java:312) [uim-managers.jar:?]
    at oracle.communications.inventory.extensibility.extension.util.ExtensionRuleMediator.runRule(ExtensionRuleMediator.java:339) [uim-managers.jar:?]
    at oracle.communications.inventory.extensibility.extension.GlobalRuleExtension.ajc$around$oracle_communications_inventory_extensibility_extension_GlobalRuleExtension$1$ddd1a06e(GlobalRuleExtension.aj:79) [uim-managers.jar:?]
    at oracle.communications.inventory.api.party.impl.PartyManagerImpl.findParty(PartyManagerImpl.java:121) [uim-managers.jar:?]
    at com.test.custom.uim.apiutils.PartyUtils.findParty(PartyUtils.java:108) [Test_Inventory_RulesLib.jar:?]
    at com.test.custom.uim.apiutils.PartyUtils.findParty(PartyUtils.java:63) [Test_Inventory_RulesLib.jar:?]
    at com.test.custom.uim.entity.CustomerManager.findCustomer(CustomerManager.java:159) [Test_Inventory_RulesLib.jar:?]
    at com.test.custom.uim.webservice.adapter.ServiceAdapter.getCustomerService(ServiceAdapter.java:114) [_wl_cls_gen.jar:?]
    at com.test.custom.uim.webservice.adapter.common.AdapterRouter.getCustomerService(AdapterRouter.java:111) [_wl_cls_gen.jar:?]
    at com.test.custom.uim.webservice.ws.Test_Uim_V2PortImpl.getCustomerService(Test_Uim_V2PortImpl.java:98) [_wl_cls_gen.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_301]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_301]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_301]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_301]
    at weblogic.wsee.component.pojo.JavaClassComponent.invoke(JavaClassComponent.java:117) [com.oracle.webservices.wls.wls-jaxrpc.jar:?]
    at weblogic.wsee.ws.dispatch.server.ComponentHandler.handleRequest(ComponentHandler.java:83) [com.oracle.webservices.wls.wls-jaxrpc.jar:?]
    at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:142) [com.oracle.webservices.wls.wls-soap-stack-impl.jar:?]
    at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:115) [com.oracle.webservices.wls.wls-jaxrpc.jar:?]
    at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80) [com.oracle.webservices.wls.wls-jaxrpc.jar:?]
    at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66) [com.oracle.webservices.wls.wls-jaxrpc.jar:?]
    at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44) [com.oracle.webservices.wls.wls-jaxrpc.jar:?]
    at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:301) [com.oracle.webservices.wls.wls-jaxrpc.jar:?]
    at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:177) [com.oracle.webservices.wls.wls-jaxrpc.jar:?]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [javax.servlet.javax.servlet-api.jar:3.1.0]
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:286) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at oracle.security.jps.ee.http.JpsAbsFilter$3.run(JpsAbsFilter.java:172) [jps-ee.jar:?]
    at java.security.AccessController.doPrivileged(Native Method) [?:1.8.0_301]
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315) [jps-api.jar:?]
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:650) [jps-ee.jar:?]
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:110) [jps-ee.jar:?]
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilterInternal(JpsAbsFilter.java:273) [jps-ee.jar:?]
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:147) [jps-ee.jar:?]
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:94) [jps-ee.jar:?]
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:248) [dms.jar:12.2.1.3.0]
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3706) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3672) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:344) [com.oracle.weblogic.security.subject.jar:12.2.1.3]
    at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197) [com.oracle.weblogic.security.subject.jar:12.2.1.3]
    at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2443) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2291) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2269) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1705) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1665) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272) [com.oracle.weblogic.servlet.jar:12.2.1.3]
    at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352) [com.bea.core.utils.full.jar:12.2.1.3]
    at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337) [com.bea.core.utils.full.jar:12.2.1.3]
    at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57) [com.oracle.weblogic.work.jar:12.2.1.3]
    at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) [com.bea.core.weblogic.workmanager.jar:12.2.1.3]
    at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:652) [com.bea.core.weblogic.workmanager.jar:12.2.1.3]
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420) [com.bea.core.weblogic.workmanager.jar:12.2.1.3]
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:360) [com.bea.core.weblogic.workmanager.jar:12.2.1.3]

 

 



Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.