While doing a Gen Java application upgrade from Gen 8.5 to Gen 8.6, is it necessary to regenerate all the code in 8.6 or can application be deployed with a mixture of 8.5 & 8.6 generated code?
Release: 8.6
Component: Gen generators and runtime - Java
It is not highly recommended to mix the environment /release with the not supported release.
In Gen 8.5, the Gen runtimes used a Java package name of "ca.gen85.*".
In Gen 8.6, the version number was removed as part of the Ease-of-Upgrade changes, and the Java package name is now "ca.gen.*".
So the Gen 8.5 generated code will be looking for runtimes in the "ca.gen85.*" package and the Gen 8.6 generated code will be looking for runtimes in the "com.ca.gen.*" package.
This was documented in the Gen 8.6 Release (GA) Release Notes - see "Windows Java Runtime"
The delivered Java runtime package names no longer embed the version number.
The version number was removed to prevent the repackaging of generated applications with future releases of Gen. Repackaging of generated applications is required with this release in order to use the modified Java runtime package names.
So, going forward, it is not necessary to regenerate Gen 8.6 generated code in order to use Gen 8.7 (or whatever the next Gen release might be) runtimes because the version number has been removed from the package name. But for now, Gen 8.5 generated code cannot use Gen 8.6 runtimes. If, however, it is possible to isolate parts of the application so that the 8.5 part of the application only used 8.5 runtimes and the 8.6 part of the application only used 8.6 runtimes, then it will work. For example, if the clients have 8.5 and the servers were all 8.6, then this would likely work. However, this is not tested and since Gen 8.5 has reached End Of Service and is therefore out of support, we would highly recommend to upgrade all parts of the application to Gen 8.6 so the application will be running on a supported release.