Question

4
Replies
238
Views
Close popover
David Lopes (DavidL22)
Dynatrace

Dynatrace
BR
DavidL22 Member since 2019 5 posts
Dynatrace
Posted: April 3, 2019
Last activity: April 11, 2019
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,
Close popover This thread is closed to future replies. Content and links will no longer be updated. If you have the same/similar Question, please write a new Question.