As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
I have followed the https://github.com/Alfresco/alfresco-sdk/blob/master/docs/advanced-topics/hot-reloading/hotswap-agent.md for setting up hot reloading using hotswap-agent.
I am using the ACS 6.1 so followed the setup method for JAVA 11.
I have attached the logs.
Looking at your log, it looks like the error is because of : java.lang.ClassNotFoundException: javax.xml.bind.ValidationEventHandler.
From java9 onwards there are some changes for java.xml.bind. Check here, It says deprecated: https://docs.oracle.com/javase/9/docs/api/java.xml.bind-summary.html
javax.xml.bind is sub package of Module java.xml.bind. So Module javax.xml.bind will not be available on classpath by default.
You are trying to use java11 here as i understand. There might be some custom code which could be causing this error : java.lang.ClassNotFoundException: javax.xml.bind.ValidationEventHandler.
See if jaxb-api is part of your classpath or not. Otherwise try to include it as a dependency.
<dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.0</version></dependency>
Thanks, it was helpfull.
But still, hot reloading is not working with hotswapagent.
I am getting the following log.
HOTSWAP AGENT: 12:05:19.758 DEBUG (org.hotswap.agent.command.impl.SchedulerImpl) - Executing executeCommand: initClassLoader(org.mozilla.javascript.DefiningClassLoader@40b307a5)alfresco | HOTSWAP AGENT: 12:05:19.839 DEBUG (org.hotswap.agent.util.classloader.ClassLoaderDefineClassPatcher) - Classloader org.mozilla.javascript.DefiningClassLoader@40b307a5 patched with plugin classes from agent classloader jdk.internal.loader.ClassLoaders$AppClassLoader@2cdf8d8a.alfresco | HOTSWAP AGENT: 12:05:19.839 DEBUG (org.hotswap.agent.config.PluginConfiguration) - Classloader does not contain 'hotswap-agent.properties', using parent file 'jar:file:/usr/java/dcevm-11.0.1+7/lib/hotswap/hotswap-agent.jar!/hotswap-agent.properties'alfresco | HOTSWAP AGENT: 12:05:19.839 DEBUG (org.hotswap.agent.annotation.handler.InitHandler) - Init plugin class org.hotswap.agent.plugin.watchResources.WatchResourcesPlugin at classloader org.mozilla.javascript.DefiningClassLoader@40b307a5.alfresco | HOTSWAP AGENT: 12:05:19.839 DEBUG (org.hotswap.agent.plugin.watchResources.WatchResourcesPlugin) - Init plugin at classLoader org.mozilla.javascript.DefiningClassLoader@40b307a5alfresco | HOTSWAP AGENT: 12:05:19.839 DEBUG (org.hotswap.agent.plugin.watchResources.WatchResourcesPlugin) - ClassLoader org.mozilla.javascript.DefiningClassLoader@40b307a5 does not contain hotswap-agent.properties file, WatchResources skipped.alfresco | HOTSWAP AGENT: 12:05:19.839 DEBUG (org.hotswap.agent.annotation.handler.InitHandler) - Init plugin class org.hotswap.agent.plugin.hotswapper.HotswapperPlugin at classloader org.mozilla.javascript.DefiningClassLoader@40b307a5.alfresco | HOTSWAP AGENT: 12:05:19.839 DEBUG (org.hotswap.agent.plugin.hotswapper.HotswapperPlugin) - Init plugin at classLoader org.mozilla.javascript.DefiningClassLoader@40b307a5alfresco | HOTSWAP AGENT: 12:05:19.840 DEBUG (org.hotswap.agent.plugin.hotswapper.HotswapperPlugin) - ClassLoader org.mozilla.javascript.DefiningClassLoader@40b307a5 does not contain hotswap-agent.properties file, hotswapper skipped.
I have not followed each and every steps as mentioned in the link you have posted, but the debug message says:
Classloader does not contain 'hotswap-agent.properties', using parent file 'jar:file:/usr/java/dcevm-11.0.1+7/lib/hotswap/hotswap-agent.jar!/hotswap-agent.properties'
It seems the hotswap-agent.properties can not be found and that's why its not working. Please check the setup.
On the other hand, i have setup a project using SDK4 which runs ACS6.1. I can make the changes in java classes and it loads properly. Refer the project: https://github.com/abhinavmishra14/acs6.x-aio-demo-community/archive/master.zip
I have downloaded your project. Made changes to hello world webscript class. It didn't reflect even after refreshing webscript.
I have also made changes in the log statement in the same class still didn't reflect in logs.
Before uploading the project to github, i missed to add 'COPY' instructions in DockerFile. I have added it now.
Download the project again, or just add this line into acs6.x-aio-demo-community/acs6-aio-demo-project-platform-docker/src/main/docker/Dockerfile:
See some screenshots below where i tried making the changes and it reflects properly :
Initial Log:
Made changes to the webscript, updated the values and added additional logs:
See updated message:
Updated logs:
Note- Remember to start remote debugging
For remote debugging follow the instructions given here: https://github.com/Alfresco/alfresco-sdk/blob/master/docs/advanced-topics/debugging/debug-eclipse.md