As part of our quarterly refresh, we have executed one of our javelin flows. The flow completes within secs, but no log files are created in path. We recently upgraded GT DataMaker and Javelin with latest version, does this have any changes related to logs? Can someone please help us to troubleshot why logs are no longer getting created?
TDMWeb-4.11-2013.0
Javelin-4.11.0.79
Inspecting the provided Javelin flow, we don't see any Log Activity configured in the flow. Therefore, the logging is not preformed by Javelin, but rather by the custom jar, which is called by the batch file, executed from the Javelin flow.
Executing the batch file, from a command line, allowed us to verify if the custom jar file was getting executed, and what errors, if any, are thrown by Java or the system. When running the batch file on the TDM 4.11 Portal host, we noticed the following error thrown by Java 17.
"jarFileExecute.bat
Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.sql"
When running the same batch file from a TDM Portal 4.10 host, which runs Java 8, the custom jar file is executed.
A Google search on the Java error provided more information. This error means the Java "code (or dependency) is trying to define a class in the java.sql package, which is illegal. Starting from Java 9, you can no longer define classes in any of the java.* packages, because the Java Platform Module System (JPMS) enforces stronger encapsulation of core Java packages".
A Broadcom Solutions Engineer also noted, "the issue is because they used an Eclipse JAR-in-JAR Loader, a legacy utility (JarRsrcLoader) used to package fat JARs with embedded JARs. This tool dynamically defines classes from embedded JARs using a custom ClassLoader, and some versions of it try to define classes in the java.* namespace — which is strictly prohibited starting from Java 9. This explains why the custom jar works in Java 8 but fails in Java 11 with SecurityException: Prohibited package name: java.sql."
Resolution options are:
@echo off
SET PATH="C:\Program Files\CA\CA Test Data Manager Portal\jre8\bin"
java -jar "C:\\TDM\\Scripts\\ExecutableJarFiles\\CustomExe.jar" S