Posted: 14 Aug 2018 17:05 EDT Last activity: 16 Aug 2018 12:39 EDT
Unable to recompile or save the library rule
We migrated our application to newer Apache, Tomcat and JDK versions. Apache from 2.2.25 to 2.2.49 ,Tomcat from 7.0.42 to 7.0.82 and JDK 1.6 to 1.7. The java system property Djava.util.Arrays.useLegacyMergeSort is set to true as the guide says PRPC 6.1SP2 has sorting issues while running on JDK 1.7. The deployments are completed and the app is up and running. But when I try to save our library rule or try to compile it, we see a lot of errors around org.jbars package.
You appear to have two distinct problems (at least in the attached error log).
The first one seems to be it can't find org.jbars.Barcode
If you'd imported this into your system (database), then you should be able to find it with:-
select * from pr_engineclasses where pzclass like 'Barcode%'
Otherwise you may want to check in your previous tomcat installation to see whether this included any additional .jar file that contained this class.
I'm not too clear on the other error.
For a library normally I'd expect the java/class to be named as <rulesetname>_<libraryname>.java
All in lower case and converting any dashes to underscores.
But I can't ascertain which is which from the compilation error: -
5. ERROR in com/pegarules/generated/test_cmfw_cmfw.java (at line 459)
int RequiredCAL_Num = Integer.parseInt(com.pegarules.generated.cmfw_cmfw.stripAlphabeticChars(RequiredCAL));
com.pegarules.generated.cmfw_cmfw cannot be resolved to a type
One part appears to this the class is test_cmfw_cmfw and the other just cmfw_cmfw
How are you recompiling the library (directly? SMA?)
Also are you using the same PegaTemp directory? And if so, did you remove the extractmarker along with the system change?
Thanks for your response. Even though we performed an infrastructure tech refresh, we are still connecting to our old database. So, database will remain the same. We re-deployed the working prweb, prsysmgmt and prhelp wars onto the new servers. I compared the jars too and everything looked the same unless if i am missing something. I will run a comparison again.
For the second issue, the PegaTemp directory is changed on the new server and i tried to recompile the library directly and through SMA also. When i run through SMA, i get failed to extract Rule-Utility-Library error. I am still trying to debug where test_cmfw_cmfw stemmed from as it should just be cmfw_cmfw.We have not made any code changes in the new environment.
The errors are resolved by updating the DSS Compiler/defaultpaths fo JBARS and another jar, deleting the markerfile and restarting tomcats. But, since we have two jvms and two Pega deployments on the same server, we should rather set the paths on the respective prconfig.xml files.