Question

4
Replies
183
Views
DavidL22 Member since 2019 5 posts
Dynatrace
Posted: 1 year ago
Last activity: 1 year 5 months ago
Closed

Add classes to the classloader - This operation is not support by NonVersionedJDBCJarR

Hello,

We are trying to get insights into the performance of our solution, as a part of that I need to load custom classes into the JVM. I have everything setup properly on Tomcat, but I keep getting the error:

[Loader@4ed8860e] warning parse definitions failed -- (UnsupportedOperationException) This operation is not support by NonVersionedJDBCJarReader

This operation is not support by NonVersionedJDBCJarReader

java.lang.UnsupportedOperationException: This operation is not support by NonVersionedJDBCJarReader

        at com.pega.pegarules.internal.bootstrap.phase2.jdbc.NonVersionedJdbcJarReader.getAllEntries(NonVersionedJdbcJarReader.java:453)

        at com.pega.pegarules.internal.bootstrap.phase2.jdbc.PegaJdbcURLConnection.getAllEntries(PegaJdbcURLConnection.java:196)

        at com.pega.pegarules.internal.bootstrap.phase2.loaderfs.PRClasspathJDBC.augmentResourceList(PRClasspathJDBC.java:120)

        at com.pega.pegarules.internal.bootstrap.phase2.loaderfs.PRClasspath.augmentResourceList(PRClasspath.java:204)

        at com.pega.pegarules.internal.bootstrap.phase2.loaderfs.PRClasspath.augmentResourceList(PRClasspath.java:192)

        at com.pega.pegarules.exec.internal.util.classloader.PRClassLoaderDB.findResources(PRClassLoaderDB.java:980)

        at java.lang.ClassLoader.getResources(ClassLoader.java:1185)

        at java.lang.ClassLoader.getResources(ClassLoader.java:1181)

        at org.aspectj.weaver.loadtime.DefaultWeavingContext.getResources(DefaultWeavingContext.java:51)

        at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.parseDefinitions(ClassLoaderWeavingAdaptor.java:261)

        at org.aspectj.weaver.loadtime.DefaultWeavingContext.getDefinitions(DefaultWeavingContext.java:130)

        at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:156)

        at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:339)

        at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:344)

        at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:318)

        at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:113)

        at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54)

        at sun.instrument.TransformerManager.transform(TransformerManager.java:188)

        at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)

        at java.lang.ClassLoader.defineClass1(Native Method)

        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)

        at com.pega.pegarules.exec.internal.util.classloader.PRClassLoaderDB$Loader.loadClass(PRClassLoaderDB.java:2226)

        at com.pega.pegarules.exec.internal.util.classloader.PRClassLoaderDB$ClassElement.getClassForEntry(PRClassLoaderDB.java:1807)

        at com.pega.pegarules.exec.internal.util.classloader.PRClassLoaderDB.findClass(PRClassLoaderDB.java:931)

        at com.pega.pegarules.exec.internal.util.classloader.PRClassLoaderDB.loadClass(PRClassLoaderDB.java:1065)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

        at com.pega.pegarules.generation.internal.vtable.asm.VirtualTableAssemblyHandler.load(VirtualTableAssemblyHandler.java:332)

        at com.pega.pegarules.generation.internal.vtable.asm.VirtualTableAssemblyHandler.loadForAspect(VirtualTableAssemblyHandler.java:155)

        at com.pega.pegarules.generation.internal.vtable.containers.ClassNameRuleContainer.upgrade(ClassNameRuleContainer.java:56)

        at com.pega.pegarules.generation.internal.vtable.ruleres.VirtualTableCandidate.upgradeContainerFor(VirtualTableCandidate.java:286)

        at com.pega.pegarules.generation.internal.vtable.ruleres.VirtualTableCandidate.getExecutableContainerFor(VirtualTableCandidate.java:220)

        at com.pega.pegarules.generation.internal.vtable.ruleres.VirtualTableResolver.resolveToContainer(VirtualTableResolver.java:425)

        at com.pega.pegarules.generation.internal.vtable.ruleres.VirtualTableResolver.resolveRule(VirtualTableResolver.java:155)

        at com.pega.pegarules.generation.internal.vtable.VirtualTableImpl.resolveRule(VirtualTableImpl.java:295)

        at com.pega.pegarules.generation.internal.PRGenProviderImpl.get(PRGenProviderImpl.java:474)

        at com.pega.pegarules.session.internal.mgmt.Executable.evaluateWhen(Executable.java:4209)

        at com.pega.pegarules.session.internal.mgmt.Executable.evaluateWhen(Executable.java:4128)

        at com.pega.pegarules.exec.internal.basic.dictionary.AccessInfoConclusion.evaluateConditions(AccessInfoConclusion.java:936)

        at com.pega.pegarules.exec.internal.basic.dictionary.AccessInfoConclusion.evaluate(AccessInfoConclusion.java:808)

        at com.pega.pegarules.session.internal.authorization.access.AccessEvaluator.haveAccess(AccessEvaluator.java:179)

        at com.pega.pegarules.session.internal.authorization.access.AccessEvaluator.haveAccessWithFrame(AccessEvaluator.java:599)

        at com.pega.pegarules.session.internal.authorization.Authorization.haveAccessWithFrame(Authorization.java:1918)

        at com.pega.pegarules.data.internal.access.Saver.checkSecurity(Saver.java:701)

        at com.pega.pegarules.data.internal.access.Saver.save(Saver.java:598)

        at com.pega.pegarules.data.internal.access.DatabaseImpl.save(DatabaseImpl.java:5108)

        at com.pega.pegarules.data.internal.access.DatabaseImpl.save(DatabaseImpl.java:5094)

        at com.pegarules.generated.activity.ra_action_pushlogusagedata_5b19b97cae0347247e60446a7287f691.step26_circum0(ra_action_pushlogusagedata_5b19b97cae0347247e60446a7287f691.java:2071)

        at com.pegarules.generated.activity.ra_action_pushlogusagedata_5b19b97cae0347247e60446a7287f691.perform(ra_action_pushlogusagedata_5b19b97cae0347247e60446a7287f691.java:549)

        at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3505)

        at com.pega.pegarules.session.internal.async.agent.QueueProcessor.runActivity(QueueProcessor.java:721)

        at com.pega.pegarules.session.internal.async.agent.QueueProcessor.execute(QueueProcessor.java:602)

        at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:945)

        at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1259)

        at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1008)

        at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:901)

        at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:670)

        at com.pega.jsr166backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:991)

        at com.pega.jsr166backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:532)

        at java.lang.Thread.run(Thread.java:745)

I believe this is because my custom .jars are not in the Pega Database, and I need them to be.

Is there any way to allow pega to load classes that are not in the Database? Or to insert my classes in the Database so I can use my custom classes?

Thanks

Low-Code App Development Data Integration
Moderation Team has archived post
Share this page LinkedIn