Chapter 33. Recommendations for Transformations Developers

    Add external libraries to app-server classpath

    Connections (JDBC/JMS) may require third-party libraries. We strongly recommend adding these libraries to the app-server classpath.

    CloverDX allows you to specify these libraries directly in a graph definition so that CloverDX can load these libraries dynamically. However, external libraries may cause memory leak, resulting in java.lang.OutOfMemoryError: PermGen space, in this case.

    In addition, app-servers should have the JMS API on their classpath – and the third-party libraries often bundle this API as well. So it may result in classloading conflicts if these libraries are not loaded by the same classloader.

    Another graphs executed by RunGraph component may be executed only in the same JVM instance

    In the server environment, all graphs are executed in the same VM instance. The attribute same instance of the RunGraph component cannot be set to false.