HotswapAgent | Java unlimited redefinition of classes at runtime | Continuous Deployment library

 by   HotswapProjects Java Version: 1.4.2-SNAPSHOT License: GPL-2.0

kandi X-RAY | HotswapAgent Summary

kandi X-RAY | HotswapAgent Summary

HotswapAgent is a Java library typically used in Devops, Continuous Deployment, Docker applications. HotswapAgent has no bugs, it has no vulnerabilities, it has build file available, it has a Strong Copyleft License and it has medium support. You can download it from GitHub, Maven.

Java unlimited runtime class and resource redefinition. Originally, the main purpose of this project was to avoid the infamous change code→restart and wait…​→check development lifecycle. Lately, this schema evolved into a new paradigm in the Java world, based on the development of software in running application, that approach can be used even in a closed environment like Docker.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              HotswapAgent has a medium active ecosystem.
              It has 2039 star(s) with 440 fork(s). There are 132 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 111 open issues and 236 have been closed. On average issues are closed in 155 days. There are 4 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of HotswapAgent is 1.4.2-SNAPSHOT

            kandi-Quality Quality

              HotswapAgent has 0 bugs and 0 code smells.

            kandi-Security Security

              HotswapAgent has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              HotswapAgent code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              HotswapAgent is licensed under the GPL-2.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              HotswapAgent releases are available to install and integrate.
              Deployable package is available in Maven.
              Build file is available. You can build the component from source.
              Installation instructions, examples and code snippets are available.
              HotswapAgent saves you 63503 person hours of effort in developing the same functionality from scratch.
              It has 71993 lines of code, 6523 functions and 744 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed HotswapAgent and discovered the below as its top functions. This is intended to give you an instant insight into HotswapAgent implemented functionality, and help decide if they suit your requirements.
            • Equals between two objects .
            • Execute the method instruction at the given index .
            • Overrides the visitor to look for cast to an array type .
            • handles opcodes in the opcode
            • Generate the class file .
            • Adds a multi - dimensional array to the stack .
            • Attempt to match the given pattern
            • Insert a gap into the code .
            • Intersection of two lists
            • Processes a branch of a given branch .
            Get all kandi verified functions for this library.

            HotswapAgent Key Features

            No Key Features are available at this moment for HotswapAgent.

            HotswapAgent Examples and Code Snippets

            No Code Snippets are available at this moment for HotswapAgent.

            Community Discussions

            QUESTION

            TravaOpenJDK new JVM option -XX:HotswapAgent, difference between fatjar and core modes?
            Asked 2021-Jan-02 at 14:47

            TravaOpenJDK introduced a new JVM option -XX:HotswapAgent in version 11.0.9.

            There are three modes to enable HotswapAgent, fatjar, core and external.

            What is the difference between fatjar and core?

            ...

            ANSWER

            Answered 2021-Jan-02 at 14:47

            Because this answer is hidden in a closed issue as @papaya said, i leave it here as reference

            HotswapAgent core has no plugin except core JVM plugins. Then it is faster since less scanning tasks are necessary to be done, less class copying to target classloaders, there is no need to disable plugins. You choose only what you want.

            Loaded plugins are visible in the log, "HOTSWAP AGENT: 15:43:42.059 INFO (org.hotswap.agent.config.PluginRegistry) - Discovered plugins:"

            For core: Hotswapper, WatchResources, AnonymousClassPatch, ClassInitPlugin, JdkPlugin

            For fatjar: dkPlugin, Hotswapper, WatchResources, ClassInitPlugin, AnonymousClassPatch, Hibernate, Hibernate3JPA, Hibernate3, Spring, Jersey1, Jersey2, Jetty, Tomcat, ZK, Logback, Log4j2, MyFaces, Mojarra, Omnifaces, ELResolver, WildFlyELResolver, OsgiEquinox, Owb, Proxy, WebObjects, Weld, JBossModules, ResteasyRegistry, Deltaspike, GlassFish, Vaadin, Wicket, CxfJAXRS, FreeMarker, Undertow, MyBatis

            Source https://stackoverflow.com/questions/65540034

            QUESTION

            proguard: Can't read [C:\Program Files\AdoptOpenJDK\jdk-11.0.6.10-hotspot\lib\rt.jar]
            Asked 2020-Aug-13 at 16:35

            I am building a desktop application. I am using ProGuard with the following config:

            ...

            ANSWER

            Answered 2020-Aug-13 at 16:35

            You have the line ${java.home}/lib/rt.jar in your configuration for proguard. This is no longer valid in JDK11 as it was removed in that version of Java.

            Source https://stackoverflow.com/questions/63398875

            QUESTION

            How can I perform Hot Code Replace in Tomcat web application running outside eclipse?
            Asked 2020-Apr-06 at 08:04

            I am using Hot Code Replace feature when Tomcat is running from eclipse and it works great.

            But, how can I do this manually when Tomcat is running outside eclipse?

            After some searching, I have found that I need to use an agent like HotswapAgent. But, they are using this agent with modified JDK called DCEVM. I don't want to use modified JDK. I want to achieve the same thing with OpenJDK.

            I know that modification will be limited to method body only but, that's not a problem for me. How can I achieve the exact same thing eclipse is doing for Hot Code Replace for an externally running Tomcat without using IDE?

            Edit : Eclipse example is just to clarify what I want to achieve. I do not want to use eclipse at all. I just want to do Hot Code Replace in an application running in Tomcat.

            ...

            ANSWER

            Answered 2020-Apr-05 at 22:19

            Yes, it's possible to perform Hot Code Replace in a running JVM. This involves several steps.

            1. Prepare (compile) the new version of classes you want to replace. Let's say, you want to replace org.pkg.MyClass, and the new version of this class is located at /new/path/org/pkg/MyClass.class
            2. Create a Java Agent that uses Instrumentation API to redefine the given class. Here is how the simplest agent may look like:

            Source https://stackoverflow.com/questions/61024212

            QUESTION

            Is it possible to have a "HotReload" docker based java environment?
            Asked 2020-Feb-06 at 14:40

            I am trying to have a java program that is built with maven to run on a docker-compose scenario and hot reload as I make changes. I added trava-jdk libvm on top of the original libvm and added the hotswapagent lib on the proper place. It gives me what I want when I run java -version

            ...

            ANSWER

            Answered 2020-Feb-04 at 12:57

            I don't have an experience of working with this concrete hotswap agent, but in general to answer your question:

            1. When you build the docker image, you are supposed to run your own application after all (via maven, with java -jar or in any other way) So, When you start the application process, you're supposed to make the application ready for remote debugging:

            Source https://stackoverflow.com/questions/60055279

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install HotswapAgent

            download [latest release of DCEVM Java patch](https://github.com/dcevm/dcevm/releases) and launch the installer (e.g. java -jar installer-light.jar). Currently, you need to select the correct installer for Java major version (7/8). select java installation directory on your disc and press "Install DCEVM as altjvm" button. Java 1.7+ versions are supported. download [latest release of Hotswap agent jar](https://github.com/HotswapProjects/HotswapAgent/releases), unpack hotswap-agent.jar and put it anywhere on your disc. For example: C:\java\hotswap-agent.jar.
            download [latest release of DCEVM Java patch](https://github.com/dcevm/dcevm/releases) and launch the installer (e.g. java -jar installer-light.jar). Currently, you need to select the correct installer for Java major version (7/8).
            select java installation directory on your disc and press "Install DCEVM as altjvm" button. Java 1.7+ versions are supported.
            download [latest release of Hotswap agent jar](https://github.com/HotswapProjects/HotswapAgent/releases), unpack hotswap-agent.jar and put it anywhere on your disc. For example: C:\java\hotswap-agent.jar

            Support

            This project is very complex due to a lot of supported frameworks and various versions. Community contribution is mandatory to keep it alive. You can start by creating a plugin inside your application or by writing an example/integration test. There is always a need for documentation improvement :-). Thank you for any help!. The [sourcespy dashboard](https://sourcespy.com/github/hotswapprojectshotswapagent/) provides a high-level overview of the repository including [module dependencies](https://sourcespy.com/github/hotswapprojectshotswapagent/xx-omodulesc-.html), [module hierarchy](https://sourcespy.com/github/hotswapprojectshotswapagent/xx-omodules-.html), [external libraries](https://sourcespy.com/github/hotswapprojectshotswapagent/xx-ojavalibs-.html), and other components of the system.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/HotswapProjects/HotswapAgent.git

          • CLI

            gh repo clone HotswapProjects/HotswapAgent

          • sshUrl

            git@github.com:HotswapProjects/HotswapAgent.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link