Share all details related to your problem, including any error messages you may have received.
I am using Windows 11, Eclipse Version: 2021-09 (4.21.0), IIQDeploymentAccelerator-4 + previous version tsted too, Java Openjdk 11 and 8.2p5 and/or 8.3p3+Java8 (didnt work either), Tomcat 9.0.54 and 9.0.60
I am trying to hot deploy java classes during my development, but failing to make it work. In the beginning it through null pointer exception - missing settings. After I fixed that, it does not say any message (no error or success), whether it was hot deployed or not. The code does not seem to be changed when i re-run test case (using again the hot deployed class).
Can anybody please confirm it works that i can investigate further on what wrong with my setup?
Thank you, much appreciated if there is any update.
As far as i understand IIQ Deployment Accelerator you can use to deploy XML Artifacts from your Eclipse, how ever for java files you should consider doing deployment directly in you tomcat webap/identityiq and restart the service.
Java class file i believe you can deploy directly through IIQDA.
Hi @ismaelmoreno1@dheerajk27 , were you succesfully using the “hot deploy” feature or referencing the guide?
XML imports work. I am specifically asking about this section below as I cannot make that work. Therefore asking if anybody was successful to right-click and “hot deploy”.
JPDA enabled, iiq properties are in place. There is no error, no message, no confirmation when i do hot deploy.
Suggested path with copy file and restart tomcat ofcourse works, but is slow. Thanks
Hot deploy
Classes can now be ‘Hot Deployed’. This is where the class inside a running IdentityIQ is replaced with a new version. This feature is very useful if you have to develop custom Java code for a project. Whereas this used to necessitate a rebuild and redeploy of the WAR file, and a potentially a restart of the application server, now we can temporarily replace the binary file on the server to test if a fix or change is working before going through the expensive redeploy options.
There are a few caveats for this method, though:
The application server (currently only tested with Tomcat) must be started with the ‘jpda’ option, so that it will be listening for debug connections.
The class has to be loaded into memory (i.e. it must have been instantiated at least once in the running server)
Classes that have a private ‘inner class’ cannot be hot deployed correctly. This is currently being investigated.
Once the server is restarted, these hot changes will be lost and the classes will go back to the versions deployed to the server
Aside from the caveats, you can right-click on a .java file in your project and select ‘Hot Deploy Class’ then select a target. Make sure that you have debugTransport and debugPort set in your .target.properties file (defaults are dt_socket and 8000)
(2) Is the port on tomcat that is used for remote debugging accessible (i.e. no local firewall blocking the port?)
A great way to test (1) is to remote attach from your eclipse environment to your tomcat instance. If this connection works, then you should have the appropriate configuration to hot deploy as well.