Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Alexander Bartash
    @AlexanderBartash
    What does tomcat plugin do?
    Vladimir Dvorak
    @skybber
    You can change hotswapagent's code when you debug hotswapagent, it seems creazy but you really do it.
    Tomcat plugin patches the Tomcat's(Tomee, Payara, GlassFish) WebAppClassloader and allow to use extraClassPath+webappDir properties.
    There is some description of extraClassPath & webappDir : http://hotswapagent.org/mydoc_configuration.html
    Vladimir Dvorak
    @skybber
    This settings are really cool for debugging apps in Docker.
    Alexander Bartash
    @AlexanderBartash
    Thank you
    nwsduy
    @nwsduy
    Hi all, i'm using Hotswap in my project.
    However, i found that project lib in web-inf/lib can not be reloaded when i debugged in Wilfly with Eclipse.
    Is there any solution for this problems?
    Vladimir Dvorak
    @skybber
    content of jar is not able to reload but you can use extraClassPath, look at http://hotswapagent.org/mydoc_configuration.html
    nwsduy
    @nwsduy
    Thank for your confirmation.
    I'm wondering that is there any way to config eclipse to move it jar class into web-inf/classes instead of packing it into jar.
    nwsduy
    @nwsduy

    After move class from jar into web-inf/classes I'm facing with some problem:

    1. Update Web services: Get warning about [Multiple resource methods match request]
    2. Update Web services: Sometime ConcurrentModificationException happen
    3. Update statebean: If i try to inject another bean or do something complicated, NullPointerException will happen

    Can some one help me on this case?

    Vladimir Dvorak
    @skybber
    Please create an issue on github with full stacktrace & description
    nwsduy
    @nwsduy
    After a little of debuging i found:
    1. This is our mistake. Developer add Stateless to WebServices class.
    2. May be same cause with 1.
    3. Look like the bean is redefined it still error. I will try to confirm this problem again and create issues if need.
      Thanks.
    Vladimir Dvorak
    @skybber
    Could you create minimalistic non-working example? We have example apps used for testing e.g. https://github.com/HotswapProjects/HotswapAgentExamples/tree/master/deltaspike-hibernate-jsf
    nwsduy
    @nwsduy
    Got it, i will give it a try on example source code.
    Edoardo Luppi
    @lppedd
    Hi guys. Is HA compatible with WebLogic?
    Vladimir Dvorak
    @skybber
    Hi, look at HA WebLogic issues. We didn't do any tests with WebLogic in past, may be you can be much successful with OpenLiberty.
    Sorry for that, liberty is not optin for WebLogic...
    Edoardo Luppi
    @lppedd
    Don't worry, I'll do a couple of test
    Edoardo Luppi
    @lppedd
    Seems it's working fine for simple things. A question, has anyone tried DCEVM and HotswapAgent with EJB 2.x?
    Vladimir Dvorak
    @skybber
    EJB s are not supported
    Edoardo Luppi
    @lppedd
    Any plan on supporting it?
    Vladimir Dvorak
    @skybber
    No plan
    Misha
    @mikeldpl
    It would be nice to have it as default feature for IDEA. Did you have some discussion on this topic?
    Vladimir Dvorak
    @skybber
    No, but there is some plugin for IDEA as I know.
    Alain Tavan
    @alain57
    Hi All, short question : my company switched from java 8 to java 11
    i'm used to use hotswapagent. but as far as I know since java 9 this works differently integrated in an openJDK .
    where can I find the openJDK 11 with preintegrated hotswapagent ? Or does this not exists ?
    Vladimir Dvorak
    @skybber
    Hi, still does not exist. I've checked it today, it shouldn't be such problem like with java8->java9
    Alain Tavan
    @alain57
    I read on a support case that i was planned that DCEVM would be integrated in adoptopenjdk.net
    Is this already integrated with the released openJDK11 or is there still some work to do ?
    sorry for the dumb questions. I'm really used to it and it is painfull to work without it. You guys really did an amazing job with this !!!!
    Vladimir Dvorak
    @skybber
    DCEVM is still not integrated/distributed via AdoptOpenJDK.
    Alain Tavan
    @alain57
    Do you provide any binary for test (win 10 x64 in my case) or is it still not usable ? I saw some commits done these lasts days. This sound encouraging :)
    I really wish your guys good luck :P
    Vladimir Dvorak
    @skybber
    Builds for linux are available at https://github.com/HotswapProjects/dcevm11build-linux
    for win still missing, we didn't find a way how to compile it on travis, adopt is still not agreed. But it is not difficult to do it. cygwin+msvc should be enough! Or you can use https://github.com/AdoptOpenJDK/openjdk-build and change source repository to dcevm11
    Vladimir Dvorak
    @skybber
    Vladislav Tankov
    @TanVD
    Hi everyone! Are there any info on HotSwapAgent compatability with Kotlin? I see that there were problem with AnonymousPatch plugin and it is still relevant, but no other info...
    Vladimir Dvorak
    @skybber
    I've tried Kotlin project in the past and had no problems.
    Vladislav Tankov
    @TanVD
    Well, right now we have disabled AnonymousClassPath plugin due to HotswapProjects/HotswapAgent#263 . As far as I understood -- you've found the bug and it is possible that solution will be included in next releases?
    Vladimir Dvorak
    @skybber
    It is hard to fix it in HotswapAgent, since it should be race condition between HotsawpAgent and IDE synchronization, may be we can increase delay in some way.... But yanonymous class plugin is not necessary if you don't create/remove anonymous classes in hosting class.
    Vladislav Tankov
    @TanVD
    Well, for the Kotlin as far as I understand it is more than likely. There are a lot of anonymous classes supporting, for example, creation of lambdas (which are everywhere)
    But I am not sure that problem is in syncronization in my case. I was sending Reload changed classes signal from IDEA after build is definitely done.
    Vladimir Dvorak
    @skybber
    Modified classes must be saved on classpath before IDEA sends a new bytecode via JVMTI to hotspot (JVM). Redefinition is initialized from JVMTI call (if you do not use extraclasspath), and consequently it calls HotswapAgent intrumentation before classes are actually modified in JVM . I've seen problem when the JVMTI was called before IDE finished saving of classes to classpath - then HotswapAgent does not see new classes on classpath. May be you can try add some sleep (1s) to AnonymousClassPatchPlugin code to check it
    Otherwise we need some good testing example to fix the problem, since Kotlin will be priority for us in next few months.
    Vladislav Tankov
    @TanVD
    Well, as far as I see from debug the problem is with inner classes generated for some functions in Kotlin -- in my case AnonymousClassPatchPlugin triggered for org.company.MyClass$innerFun, while in reality exists only org.company.MyClass$innerFun$1 and etc. This is the case with call of top level extension functions inside of function "innerFun" which overrides "innerFun" from superclass of MyClass
    I've managed to fix it just ignoring non-existance of className in AnonymousClassInfos constructor, but not sure that was the right solution...
    Xiaoliang
    @caitsithx
    Hi Guys, I met this issue starting an Spring project: HOTSWAP AGENT: 13:07:22.792 ERROR (org.hotswap.agent.plugin.spring.scanner.XmlBeanDefinationScannerAgent) - failed to convert filePath /localhost/apps/WEB-INF/RestApi-servlet.xml to classPath path
    Any clue?
    Vladimir Dvorak
    @skybber
    Hi, I'm not author of it, but according https://github.com/HotswapProjects/HotswapAgent/blob/master/plugin/hotswap-agent-spring-plugin/src/main/java/org/hotswap/agent/plugin/spring/scanner/XmlBeanDefinationScannerAgent.java#L114 your config is not at well-known path. Are you able to try to fix the code? I don't have minimal non-working example ...
    Neither am I expert on Spring
    Xiaoliang
    @caitsithx
    Thank you Validimir
    OK. I don't understand how the path get prefixed with '/localhost'..
    Vladimir Dvorak
    @skybber
    Pby it is from URL, you can try to add split :
    paths = filePath.split("WEB-INF/");
    if (paths.length == 2) {
    return paths[1];
    }
    Let's see what happens...
    mkamalov
    @mkamalov
    Hi guys, I met the issue with hotswap agent with private static enum in my code and hotswap throws NPE in org.hotswap.agent.plugin.jvm.ClassInitPlugin.checkOldEnumValues(ClassInitPlugin.java:130). Who could help me with this issue?