dcevm | Dynamic Code Evolution VM for Java | Continuous Deployment library

 by   dcevm Java Version: light-jdk8u181+2 License: No License

kandi X-RAY | dcevm Summary

kandi X-RAY | dcevm Summary

dcevm is a Java library typically used in Devops, Continuous Deployment, Docker applications. dcevm has no bugs, it has no vulnerabilities, it has build file available and it has high support. You can download it from GitHub.

There is a new distribution channel for DCEVM-11 binaries on - TravaOpenjdk!.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              dcevm has a highly active ecosystem.
              It has 1688 star(s) with 169 fork(s). There are 126 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 57 open issues and 106 have been closed. On average issues are closed in 484 days. There are 1 open pull requests and 0 closed requests.
              OutlinedDot
              It has a negative sentiment in the developer community.
              The latest version of dcevm is light-jdk8u181+2

            kandi-Quality Quality

              dcevm has no bugs reported.

            kandi-Security Security

              dcevm has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              dcevm does not have a standard license declared.
              Check the repository for any license declaration and review the terms closely.
              OutlinedDot
              Without a license, all rights are reserved, and you cannot use the library in your applications.

            kandi-Reuse Reuse

              dcevm releases are available to install and integrate.
              Build file is available. You can build the component from source.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi has reviewed dcevm and discovered the below as its top functions. This is intended to give you an instant insight into dcevm implemented functionality, and help decide if they suit your requirements.
            • Perform the installation
            • Uninstalls DCEVM
            • Displays an exception dialog
            • Checks if the given directory is installed
            • Redefines all inner classes to a specified version
            • Load class
            • Redefinition map
            • Finds all classes with the given version and version
            • Gets the center panel
            • Gets the chooser panel
            • Define the specified classes
            • Refresh all classes
            • Gets the bottom panel
            • Get current configuration information
            • Define classes
            • Gets the splash banner
            • Main entry point
            • User pressed the installation directory
            • Connects to the specified port
            • Set the value to display
            • Compare this installation to another
            Get all kandi verified functions for this library.

            dcevm Key Features

            No Key Features are available at this moment for dcevm.

            dcevm Examples and Code Snippets

            No Code Snippets are available at this moment for dcevm.

            Community Discussions

            QUESTION

            error executing a jar: "no main manifest attribute"
            Asked 2022-Mar-18 at 18:26

            I want to use this Java program. I extracted the zip and changed in the directory and made the jar executable. Then I run following command

            ...

            ANSWER

            Answered 2022-Mar-18 at 17:41

            The classpath separator is only ; (semicolon) on Windows. Since you're on Linux, you need to be using : (colon) to separate classpath entries. Your shell is interpreting the semicolon as something totally unrelated and confusing Java.

            Just replace all of the semicolons with colons in the command you're invoking.

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

            QUESTION

            Jackson deserialize fails with class containing a Map with specific types
            Asked 2022-Feb-09 at 11:55

            I have a class that extends HashMap, and which is referenced in another class that is being serialized into JSON with Jackson (jackson-core 2.10.5). The result of serialization is:

            ...

            ANSWER

            Answered 2022-Feb-09 at 11:55

            I don't know why, but the Class.forName(className) does not resolve to the same Class object that is referenced in object mapper type factory, but seems to create another Class object for the same class. That's why it considers the types equal. Solution for me was to use class from type factory instead.

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

            QUESTION

            How does DCEVM patch the JVM?
            Asked 2021-Feb-08 at 12:04

            How does DCEVM patch the JVM so that it can be started both in the normal mode and in XXaltjvm mode? What does it do to the regular libjvm.so/jvm.dll/libjvm.dylib?

            From Installing DCEVM

            ...

            ANSWER

            Answered 2021-Feb-08 at 12:04

            DCEVM does not patch the original JVM.
            It installs a different version of libjvm.so under $JDK_HOME/lib/dcevm

            -XXaltjvm option is supported by the regular Java launcher out of the box. When specified, the launcher looks for libjvm.so in the alternate directory:

            • if -XXaltjvm value starts with /, it is treated as the absolute path of the alternative JVM;
            • otherwise, the directory is relative to the JDK home: $JDK_HOME/lib/

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

            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

            Hot Reloading on GraalVM
            Asked 2020-Jul-16 at 15:41

            I've recently upgraded from OpenJDK 8 to GraalVM 20.1.0 (OpenJDK 11.0.7). Does anyone have any ideas how to implement hot class reloading (or at least web asset redeployment).

            • Spring-Boot-Devtools doesn't pick up the changes.
            • HotSpotAgent (DCEVM) has a JDK11 versio that you can replace your JVM with, but it's not GraalVM (and won't have the Polyglot features)
            • JRebel (which I have a license for, doesn't support GraalVM)

            Is that it? Surely not...

            ...

            ANSWER

            Answered 2020-Jul-16 at 15:41

            JRebel does support GraalVM, you can see the press release here: https://www.jrebel.com/blog/jrebel-2020-2-adds-support-java-14

            If you are struggling with setting up JRebel with your GraalVM you should email them at support@jrebel.com and they can help you out.

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

            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

            QUESTION

            Why can't gradlew build command compile and build only the things that have changed and make the process faster?
            Asked 2020-Jan-04 at 19:39

            The feature build automatically under the eclipse is much faster than the ./gradlew build.

            My findings after some research is that it compiles and builds only the changed file and replaces it in build folder.

            So why can't ./gradlew build command compiles and builds files that have changed and replace it in build folder and make the whole building process faster.

            I have recently started using build automatically feature with hotswap agent + DCEVM.

            ...

            ANSWER

            Answered 2020-Jan-04 at 19:39

            Why can't gradlew build command compile and build only the things that have changed and make the process faster?

            There's no dependable way how to determine what needs to be recompiled. For example, compile-time constants get inlined and there's no trace of where they come from in the class files (it can be found in the source files, that implies parsing them and losing time; it can be stored in some auxiliary files and some tools do it).

            See the "Limitations" section of this for details.

            The reason maybe is that they don't go through configure step of gradle.

            Sure, but the configure step doesn't usually take that long.

            Eclipse knows which files have changed

            Good point (in a comment by holwgler).

            Some time ago I spent some time trying to make my gradle compilation faster and I gave up. Eclipse is damn fast for many reasons:

            • incremental compilation
            • multithreading using all cores
            • knowing all changed files
            • having the whole compiler code optimized by the JIT
            • probably caching file dependencies
            • ugly highly optimized code

            My "solution" is ignoring the problem. I do everything in Eclipse, except for integration tests (which take way longer than the compilation) and production builds (which are rare enough so I don't care).

            You may want to read these performance tips.

            To find out where the time gets spent, use

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

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

            Vulnerabilities

            No vulnerabilities reported

            Install dcevm

            You can download binaries here.

            Support

            hotspot/.hg/patches/ contains patches for all supported versions. Each patch is named by concatenating prefix full or light with the OpenJDK HotSpot tag. full patches support full redefenition capabilities (including removal of superclasses, for example). light patches are easier to maintain, but they only support limited functionality (generally, additions to class hierarchies are fine, removals are not). HotSpot tag is the name of the tag in the corresponding HotSpot Mercurial repository (Java 8/Java 7).
            Find more information at:

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

            Find more libraries