Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Zakaria Amine
    @zak905
    Hello everybody
    I am using Hotswap successfully on my web apps running on Tomcat
    but failing to use it on a simple java main class
    public class JavaEcho {
      public static void main(String[] args) {   
          String input = "";
          while(!"quit".equals(input)) {   
             System.out.print("Say : ");
              Scanner scan= new Scanner(System.in);
              input =  scan.nextLine();
              System.out.println("Echo: " + input);
              } 
      }
    }
    I have the hotswap-agent.propeties in the same directory with the following properties:
    extraClasspath=compile/JavaEcho.class
    autoHotswap=true
    when I run the app , and modifiy something and compile again I see something like:
    Zakaria Amine
    @zak905
    HOTSWAP AGENT: 20:48:40.987 RELOAD (org.hotswap.agent.config.PluginManager) - Reloading classes [JavaEcho] (autoHotswap)
    which means that the agent receives the event
    but the changes are not applied
    am I missing on something here?
    Vladimir Dvorak
    @skybber
    Hi, are you using dcevm?
    Zakaria Amine
    @zak905
    Yes off course
    java -XXaltjvm=dcevm -javaagent:/home/zakaria1/Downloads/hotswap-agent-1.0.jar -cp . JavaEcho
    Jiri Bubnik
    @edudant
    Hi, split your main method into two seperate methods - main with while cycle and reader() with the rest. Change of active method is generally not supported (although in some cases it is possible)
    Zakaria Amine
    @zak905
    @edudant thanks for your suggestion, it still does not work. Maybe static methods are not supported
    Vigneshwaran
    @imvigneshb
    Can anyone guide me to configure Hotswapagent into my STS for Spring Hibernate project with JPA, Hibernate-Validator
    Zakaria Amine
    @zak905
    are you using Spring boot ?
    Vigneshwaran
    @imvigneshb
    Nope..
    Am using Spring WebMVC
    Zakaria Amine
    @zak905
    ok how are you deploying the app ? on Tomcat?
    Vigneshwaran
    @imvigneshb
    Yes in tomcat
    Zakaria Amine
    @zak905
    so you have to create a hotswap-agent.properties in src/main/resources
    Vigneshwaran
    @imvigneshb
    ok in that properties what i need to mention
    Zakaria Amine
    @zak905
    extraClasspath=WEB-INF/classes
    autoHotswap=true
    and add the HotSwap JVM args to Tomcat
    and then when you need to reload your project, you can recompile it and redirect the compilation out put to your webapps/yourapp/WEB-INF/classes
    Vigneshwaran
    @imvigneshb
    Thanks for the help @zak905 . I will try with my project
    Vigneshwaran
    @imvigneshb
    It's always throwing Error refreshing BeanMetaDataManagerCache/AnnotatedMetaDataProvider cache.
    vikrantch-hk
    @vikrantch-hk
    Hi team does this project supports reloading of Spring beans also say I am using spring boot and creating some controller or service beans will they be loaded without application restart
    vikrantch-hk
    @vikrantch-hk
    @zak905 please let me know answer for my query above
    Zakaria Amine
    @zak905
    @vikrantch-hk Yes it works wit spring boot, here is a blog post I wrote recently about it: http://www.zakariaamine.com/2018-01-06/using-hotswap-agent-to-reload-code
    vikrantch-hk
    @vikrantch-hk
    @zak905 thanks a lot I am able to hot swap Spring components, but seems like hibernate entities aren't getting hot swapped.
    Vladimir Dvorak
    @skybber
    @zakaria : nice written article !
    Zakaria Amine
    @zak905
    thanks! I appreciate
    vikrantch-hk
    @vikrantch-hk
    @zak905 is there any additional changes for hotswapping new hibernate entities. I am getting unknown entity exception for hotswapped entities
    I have never tried with hibernate
    vikrantch-hk
    @vikrantch-hk
    @zak905 thanks
    vikrantch-hk
    @vikrantch-hk
    I am getting 'failed to create java virtual machine' error in eclipse while switching workspace , has anybody faced same issue
    Vladimir Dvorak
    @skybber
    I don't have this problem. I'm using more separated workspaces and choose one of them on eclipse start, even I don't know that it is possible to switch workspaces when working in another one.
    vikrantch-hk
    @vikrantch-hk
    @skybber i removed -vm and -vmargs from eclipse.ini and it worked
    vikrantch-hk
    @vikrantch-hk
    can we enable hot swapping while debugging also, as of now my application restarts on adding new classes
    vikrantch-hk
    @vikrantch-hk
    @skybber please help
    Vladimir Dvorak
    @skybber
    You should disable auto realoding on Modules page in Sever Setup
    vikrantch-hk
    @vikrantch-hk
    @skybber hot to disable auto reload if using spring boot's embedded tomcat
    vikrantch-hk
    @vikrantch-hk
    @skybber is there any way to hotswap while doing remote debugging
    Vladimir Dvorak
    @skybber
    There is no problem to do hotswap when remote debugging. But only the modification of class is allowed, creating a new class is not supported. You should copy new classes to destination beforehand hotswap to support this kind of change.
    vikrantch-hk
    @vikrantch-hk
    @skybber is there any way to configure this in intellij (copying new classes to destination) using maven
    Vladimir Dvorak
    @skybber
    I'm not expert on Intellij, but you can definitely use some external tool to synchronize it. New class must be copied to destination before it is used (loaded) by JVM