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:
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