hotswapprojects / hotswapagent Goto Github PK
View Code? Open in Web Editor NEWJava unlimited redefinition of classes at runtime.
License: GNU General Public License v2.0
Java unlimited redefinition of classes at runtime.
License: GNU General Public License v2.0
Create more robust testing framework to launch before every release.
Log level DEBUG writes too much information about hotswapping to output. Info level doesn't write the names of swapped classes. It would be helpful to extend INFO level about short information about hotswapped classes.
I am using embedded tomcat run from the main method. The application uses Spring version 3.1.4
When the application starts, there is the following exception:
II 27, 2014 7:14:35 ODP. org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
II 27, 2014 7:14:35 ODP. org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
II 27, 2014 7:14:35 ODP. org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
2014-02-27 19:14:35.780 [localhost-startStop-1] INFO o.s.web.context.ContextLoader - Root WebApplicationContext: initialization started
2014-02-27 19:14:35.879 [localhost-startStop-1] INFO o.s.w.c.support.XmlWebApplicationContext - Refreshing Root WebApplicationContext: startup date [Thu Feb 27 19:14:35 CET 2014]; root of context hierarchy
HOTSWAP AGENT: 19:14:35.931 ERROR (org.hotswap.agent.annotation.handler.TransformHandler) - InvocationTargetException in transform method on plugin 'class org.hotswap.agent.plugin.spring.SpringPlugin' class 'org/springframework/beans/factory/support/DefaultListableBeanFactory'.
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.hotswap.agent.annotation.handler.TransformHandler.transform(TransformHandler.java:162)
at org.hotswap.agent.annotation.handler.TransformHandler$1.transform(TransformHandler.java:73)
at org.hotswap.agent.util.HotswapTransformer.transform(HotswapTransformer.java:116)
at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:195)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:128)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:530)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:444)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:388)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:293)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
at org.jboss.resteasy.plugins.spring.SpringContextLoaderListener.contextInitialized(SpringContextLoaderListener.java:44)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.hotswap.agent.javassist.CannotCompileException: [source error] no such class: allBeanNamesByType
at org.hotswap.agent.javassist.CtBehavior.insertBefore(CtBehavior.java:743)
at org.hotswap.agent.javassist.CtBehavior.insertBefore(CtBehavior.java:706)
at org.hotswap.agent.plugin.spring.SpringPlugin.register(SpringPlugin.java:145)
... 38 more
Caused by: compile error: no such class: allBeanNamesByType
at org.hotswap.agent.javassist.compiler.MemberResolver.searchImports(MemberResolver.java:451)
at org.hotswap.agent.javassist.compiler.MemberResolver.lookupClass(MemberResolver.java:395)
at org.hotswap.agent.javassist.compiler.MemberResolver.lookupClassByJvmName(MemberResolver.java:306)
at org.hotswap.agent.javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:642)
at org.hotswap.agent.javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:147)
at org.hotswap.agent.javassist.compiler.ast.CallExpr.accept(CallExpr.java:43)
at org.hotswap.agent.javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:241)
at org.hotswap.agent.javassist.compiler.CodeGen.atStmnt(CodeGen.java:333)
at org.hotswap.agent.javassist.compiler.ast.Stmnt.accept(Stmnt.java:51)
at org.hotswap.agent.javassist.compiler.Javac.compileStmnt(Javac.java:533)
at org.hotswap.agent.javassist.CtBehavior.insertBefore(CtBehavior.java:725)
... 40 more
Why is startInternal
used instead of start
?
First one is present since 7.x.
In my eclipse.ini, I have this setting :
-javaagent:E:/eclipse/eclipse/lombok.jar
-Xbootclasspath/a:E:/eclipse/eclipse/lombok.jar
How to put HotswapAgent.jar in such a case ?
I downloaded the project, modified the run-tests.sh
to point to my local Java installation (/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home
). The result is:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
objc[6005]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home/jre/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
HOTSWAP AGENT: 12:0:46.895 INFO (org.hotswap.agent.HotswapAgent) - Loading Hotswap agent {0.2.1-SNAPSHOT} - unlimited runtime class redefinition.
Running org.hotswap.agent.plugin.jetty.ExtraPathResourceClassLoaderTest
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.278 sec <<< FAILURE! - in org.hotswap.agent.plugin.jetty.ExtraPathResourceClassLoaderTest
testGetResource(org.hotswap.agent.plugin.jetty.ExtraPathResourceClassLoaderTest) Time elapsed: 1.225 sec <<< FAILURE!
java.lang.AssertionError: Returned after modification
at org.junit.Assert.fail(Assert.java:88)
The offending line is:
assertNotNull("Returned after modification", classLoader.getResource(tempFile.getName()));
I can provide more information if needed.
When I change a the following method's parameter in the signature with jersey 1.11:
@POST
@Consumes("application/json")
@Produces("application/json")
@Path("/colors")
public List<LightColorView> findAllLigthColorsByType(final RequestCriterias criterias) {
return this.noeudCoordinator.findAllColorsByType(criterias);
}
I get the following error:
A fatal error has been detected by the Java Runtime Environment:
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000000245eb24, pid=692, tid=3664
JRE version: Java(TM) SE Runtime Environment (7.0_71-b14) (build 1.7.0_71-b14)
Java VM: Dynamic Code Evolution 64-Bit Server VM (24.71-b01-dcevmlight-2 mixed mode windows-md64 compressed oops)
Problematic frame:
j om.capgemini.configurator.spaceo.core.dto.request.RequestCriterias.setNodeType(Ljava/lang/String)V+0
Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
An error report file with more information is saved as:
D:\tools\apache-tomcat\7.0.55\bin\hs_err_pid692.log
If you would like to submit a bug report, please visit:
http://ssw.jku.at/dcevm/bugreport/
Basic hotswap properties are now supported by tomcat/jetty plugin (Tomcat/Jetty classloader bytecode enhanecements). This is not robust enough and should be supported on JVM level without any framework or other preconditions.
New approach is to modify any ClassLoader with hotswap-agent.properties directly. The only presumption it is that it is instance of URLClassLoader and it use URLClassPath ucp property internally. This is true for system classloaders as well as Tomcat/Jetty classloaders.
Currently, it may take several seconds for the file change event to be fired after a file is changed on Mac.
Improvement:
http://stackoverflow.com/questions/9588737/is-java-7-watchservice-slow-for-anyone-else
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/com/sun/nio/file/SensitivityWatchEventModifier.java
This code is taken from Agent7:
Modifier get_com_sun_nio_file_SensitivityWatchEventModifier_HIGH() {
try {
Class<?> c = Class.forName("com.sun.nio.file.SensitivityWatchEventModifier");
Field f = c.getField("HIGH");
return (Modifier) f.get(c);
} catch (Exception e) {
return null;
}
}
void register(Path dir) throws IOException {
Modifier high = get_com_sun_nio_file_SensitivityWatchEventModifier_HIGH();
WatchKey key =
(high == null) ?
dir.register(watcher, ENTRY_CREATE, ENTRY_MODIFY) :
dir.register(watcher, new WatchEvent.Kind<?>[]{ENTRY_CREATE, ENTRY_MODIFY}, high);
keys.put(key, dir);
}
I would like to make a recommendation to change the annotations to provide a consistent interface and to make their purposes more clear.
Here are some examples of some different names-- adjustments can be made to the names, but I believe this shows how they can be improved:
@OnClassLoaded = @Transform(define=true)
@OnClassUpdated = @Transform(define=false)
@OnClassFileUpdated = @watcher(filter = ".*.class")
@OnResouceFileUpdated = @watcher()
It looks like releases are done manually, and pom in master still has 0.1-beta3 version, and it should have some snapshot version.
When I add this javaagent and use dcevm, I found it it is very slow to load the JSP page. Is there a way to speed up the loading?
new method:
PluginManager.hotswap(Map<Class<?>, byte[]> reloadMap)
to allow application code to use Instrumentation.redefineClasses() method directly.
HotswapperPlugin should use this access as well.
If you're experienced with DCEVM, HotswapAgent is easy to get running.
My only problem with the default is that the logging is a very verbose. I'm having trouble following my own application's logging.
Most of the logging looks like this:
(-1 / -1) (org/hotswap/agent/plugin/jvm/AnonymousClassInfos$AnonymousClassInfoMatcher/org/hotswap/agent/plugin/jvm/AnonymousClassInfos$AnonymousClassInfoMatcher)
{instance class}
- klass: {other class}
{instance class}
- klass: {other class}
I've tried disabling the logging but it appears my LOGGER=warn
in a hotswap-agent.properties in my classpath doesn't seem to be picked up.
(BTW: Thanks for a pretty great alternative to JRebel :))
Hi,
Here are some of the exceptions thrown when I recompile the classes while in debug mode:
Exception in thread "Thread-17" HOTSWAP AGENT: 9:32:13.911 ERROR (org.hotswap.agent.plugin.spring.scanner.ClassPathBeanRefreshCommand) - Error refreshing class com/company/cts/training/domain/TrainingCertification$22 in classLoader ContextLoader@1349563128
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor109.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.hotswap.agent.plugin.spring.scanner.ClassPathBeanRefreshCommand.executeCommand(ClassPathBeanRefreshCommand.java:73)
at org.hotswap.agent.command.impl.CommandExecutor.run(CommandExecutor.java:25)
Caused by: java.lang.IllegalArgumentException: Illegal arguments method org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.isCandidateComponent([interface org.springframework.core.type.classreading.MetadataReader]) on org.springframework.context.annotation.ClassPathBeanDefinitionScanner@3e281ac9, params [org.springframework.core.type.classreading.SimpleMetadataReader@54c8ce83]
at org.hotswap.agent.util.ReflectionHelper.invoke(ReflectionHelper.java:49)
at org.hotswap.agent.plugin.spring.scanner.ClassPathBeanDefinitionScannerAgent.isCandidateComponent(ClassPathBeanDefinitionScannerAgent.java:306)
at org.hotswap.agent.plugin.spring.scanner.ClassPathBeanDefinitionScannerAgent.resolveBeanDefinition(ClassPathBeanDefinitionScannerAgent.java:224)
at org.hotswap.agent.plugin.spring.scanner.ClassPathBeanDefinitionScannerAgent.refreshClass(ClassPathBeanDefinitionScannerAgent.java:130)
... 5 more
Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException@4d38eed8
at sun.reflect.GeneratedMethodAccessor133.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.hotswap.agent.util.ReflectionHelper.invoke(ReflectionHelper.java:47)
... 8 more
HOTSWAP AGENT: 9:32:13.912 ERROR (org.hotswap.agent.plugin.spring.scanner.ClassPathBeanRefreshCommand) - Error refreshing class com/company/cts/training/controllers/UserTrainingAssignmentController in classLoader ContextLoader@1349563128
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor109.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.hotswap.agent.plugin.spring.scanner.ClassPathBeanRefreshCommand.executeCommand(ClassPathBeanRefreshCommand.java:73)
at org.hotswap.agent.command.impl.CommandExecutor.run(CommandExecutor.java:25)
Caused by: java.lang.IllegalArgumentException: Illegal arguments method org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.isCandidateComponent([interface org.springframework.core.type.classreading.MetadataReader]) on org.springframework.context.annotation.ClassPathBeanDefinitionScanner@3e281ac9, params [org.springframework.core.type.classreading.SimpleMetadataReader@19d71fa8]
at org.hotswap.agent.util.ReflectionHelper.invoke(ReflectionHelper.java:49)
at org.hotswap.agent.plugin.spring.scanner.ClassPathBeanDefinitionScannerAgent.isCandidateComponent(ClassPathBeanDefinitionScannerAgent.java:306)
at org.hotswap.agent.plugin.spring.scanner.ClassPathBeanDefinitionScannerAgent.resolveBeanDefinition(ClassPathBeanDefinitionScannerAgent.java:224)
at org.hotswap.agent.plugin.spring.scanner.ClassPathBeanDefinitionScannerAgent.refreshClass(ClassPathBeanDefinitionScannerAgent.java:130)
... 5 more
Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException@2a21ef14
at sun.reflect.GeneratedMethodAccessor133.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.hotswap.agent.util.ReflectionHelper.invoke(ReflectionHelper.java:47)
... 8 more
HOTSWAP AGENT: 9:32:13.929 ERROR (org.hotswap.agent.plugin.spring.scanner.ClassPathBeanRefreshCommand) - Error refreshing class com/company/cts/site/domain/UserSiteRole_$$_javassist_48 in classLoader ContextLoader@1349563128
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor109.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.hotswap.agent.plugin.spring.scanner.ClassPathBeanRefreshCommand.executeCommand(ClassPathBeanRefreshCommand.java:73)
at org.hotswap.agent.command.impl.CommandExecutor.run(CommandExecutor.java:25)
Caused by: java.lang.IllegalArgumentException: Illegal arguments method org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.isCandidateComponent([interface org.springframework.core.type.classreading.MetadataReader]) on org.springframework.context.annotation.ClassPathBeanDefinitionScanner@3e281ac9, params [org.springframework.core.type.classreading.SimpleMetadataReader@49e3c6d]
at org.hotswap.agent.util.ReflectionHelper.invoke(ReflectionHelper.java:49)
at org.hotswap.agent.plugin.spring.scanner.ClassPathBeanDefinitionScannerAgent.isCandidateComponent(ClassPathBeanDefinitionScannerAgent.java:306)
at org.hotswap.agent.plugin.spring.scanner.ClassPathBeanDefinitionScannerAgent.resolveBeanDefinition(ClassPathBeanDefinitionScannerAgent.java:224)
at org.hotswap.agent.plugin.spring.scanner.ClassPathBeanDefinitionScannerAgent.refreshClass(ClassPathBeanDefinitionScannerAgent.java:130)
... 5 more
Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException@23cb7d87
at sun.reflect.GeneratedMethodAccessor133.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.hotswap.agent.util.ReflectionHelper.invoke(ReflectionHelper.java:47)
... 8 more
I am running this jvm:
HOTSWAP AGENT: 10:29:33.958 INFO (org.hotswap.agent.HotswapAgent) - Loading Hotswap agent {0.1-beta4} - unlimited runtime class redefinition.
HOTSWAP AGENT: 10:29:34.795 INFO (org.hotswap.agent.config.PluginRegistry) - Discovered plugins: [Hotswapper, AnonymousClassPatch, WatchResources, Hibernate, Spring, Jersey2, Jetty, Tomcat, ZK, Logback, JSF, Seam, ELResolver]
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.2) (7u65-2.5.2-3~14.04)
Dynamic Code Evolution 64-Bit Server VM (build 24.51-b03-dcevmfull-3, mixed mode)
Bare in mind that the codebase in this application is big (several mlocs). When I clicked compile in 1 class in debug mode, 450 classes where reloaded. Several had similar exceptions.
I would have to run the test again if you want a full and clean log.
Does this look like something that could be an environment/setup issue or is it a bug in the agent?
Thanks!
I exported the two settings variable like this :
export MAVEN_OPTS='-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -Xms256m -Xmx1048m -XX:MaxPermSize=512m -XX:NewRatio=6 -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled' -XXaltjvm=dcevm -javaagent:e:\HotswapAgent.jar
and maven gave not a valid identifier
error. How to use it in maven webapps ?
mvn tomcat7:run
Glassfish is based on OSGI.
Currently it does not start at all - error java.lang.NoClassDefFoundError: org/hotswap/agent/PluginManager
. This is because of OSGI bundle mechanism, where parent classloader delegation does not work. Look at https://github.com/HotswapProjects/HotswapAgent/blob/master/hotswap-agent-core/src/main/java/org/hotswap/agent/HotswapAgent.java fixJboss7Modules(), this is similar fix for JBoss. On Glassfish, you need to set "org.osgi.framework.bootdelegation" property (see https://blogs.oracle.com/swchan/entry/profiling_glassfish_3_with_jprofiler), but I was unable to do it from HotswapAgent.
Support for hotswap-agent.properties needs to be developed (similar to JettyPlugin, TomcatPlugin).
Test with https://github.com/HotswapProjects/HotswapAgentExamples/blob/master/plain-servlet/run-tests.sh , uncomment Glassfish section.
It would be great if a warning message appear instead of error and start up the application as normal
HOTSWAP AGENT: 16:57:26.997 ERROR (org.hotswap.agent.annotation.handler.OnClassLoadedHandler) - InvocationTargetException in transform method on plugin 'class org.hotswap.agent.plugin.hibernate.HibernatePlugin' class 'org/hibernate/cfg/Configuration'.
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
Hi
when I add a new attribute annotated with Autowired, the value stills null after refresh. The spring plugin is enable because I see outputs when the bean is reloaded.
Did I miss something or this kind of support is not already provided by the agent?
Thanks!
Hi! I'am using Jboss Eap 6.1, Seam 2.3.1 and Hot-Swap Agent 0.2, but i have this stacktrace:
21:43:22,580 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/]] (ServerService Thread Pool -- 69) JBWEB000287: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener: org.jboss.seam.InstantiationException: Could not instantiate Seam component: org.jboss.seam.el.referenceCache
at org.jboss.seam.Component.newInstance(Component.java:2208) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.contexts.Contexts.startup(Contexts.java:343) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.contexts.Contexts.startup(Contexts.java:317) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:143) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.init.Initialization.init(Initialization.java:813) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:36) [jboss-seam.jar:2.3.1.Final]
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_71]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_71]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_71]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.lang.RuntimeException: exception invoking: start
at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:154) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.Component.callComponentMethod(Component.java:2313) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.Component.callCreateMethod(Component.java:2236) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.Component.newInstance(Component.java:2196) [jboss-seam.jar:2.3.1.Final]
... 16 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_71]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_71]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_71]
at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_71]
at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:196) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:114) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.el.JBossELReferenceCache_$$_javassist_seam_19.start(JBossELReferenceCache_$$_javassist_seam_19.java) [jboss-seam.jar:2.3.1.Final]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_71]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_71]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_71]
at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_71]
at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144) [jboss-seam.jar:2.3.1.Final]
... 19 more
Caused by: java.lang.Error: java.lang.IllegalArgumentException: Plugin class org.hotswap.agent.plugin.seam.SeamPlugin is not initialized in classloader ModuleClassLoader for Module "deployment.core-process.ear:main" from Service Module Loader.
at org.jboss.el.util.ReferenceCache.<init>(ReferenceCache.java:193) [jboss-el-1.0_02.CR6.jar:1.0_02.CR6]
at org.jboss.el.util.ReferenceCache.<init>(ReferenceCache.java:184) [jboss-el-1.0_02.CR6.jar:1.0_02.CR6]
at org.jboss.el.util.ReflectionUtil$1.<init>(ReflectionUtil.java:55) [jboss-el-1.0_02.CR6.jar:1.0_02.CR6]
at org.jboss.el.util.ReflectionUtil.<clinit>(ReflectionUtil.java:55) [jboss-el-1.0_02.CR6.jar:1.0_02.CR6]
at org.jboss.am.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:196) [jboss-seam.jar:2.3.1.Final]
at org.jboss.seam.seam.el.JBossELReferenceCache.start(JBossELReferenceCache.java:18) [jboss-seam.jar:2.3.1.Final]
... 40 more
Caused by: java.lang.IllegalArgumentException: Plugin class org.hotswap.agent.plugin.seam.SeamPlugin is not initialized in classloader ModuleClassLoader for Module "deployment.core-process.ear:main" from Service Module Loader.
at org.hotswap.agent.config.PluginRegistry.getPlugin(PluginRegistry.java:195) [hotswap-agent.jar:0.2]
at org.hotswap.agent.config.PluginManager.getPlugin(PluginManager.java:79) [hotswap-agent.jar:0.2]
at org.hotswap.agent.config.PluginManager.getPlugin(PluginManager.java:64) [hotswap-agent.jar:0.2]
... 45 more
Can you help with it?
I get the the following error with spring 3.1.0.M2 (newest hotswap version)
HOTSWAP AGENT: 16:2:42.735 ERROR (org.hotswap.agent.annotation.handler.TransformHandler) - InvocationTargetException in transform method on plugin 'class org.hotswap.agent.plugin.spring.SpringPlugin' class 'org/springframework/beans/factory/support/DefaultListableBeanFactory'.
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.hotswap.agent.annotation.handler.TransformHandler.transform(TransformHandler.java:162)
at org.hotswap.agent.annotation.handler.TransformHandler$1.transform(TransformHandler.java:73)
at org.hotswap.agent.util.HotswapTransformer.transform(HotswapTransformer.java:116)
at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1148)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1643)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:195)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:128)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:522)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:436)
at de.pds.common._internal.support.SpringIOCContainerImpl.(SpringIOCContainerImpl.java:85)
at de.pds.common._internal.support.SpringIOCContainerImpl.(SpringIOCContainerImpl.java:53)
at de.pds.common.support.IOCContainerFactory$ContainerThread.run(IOCContainerFactory.java:303)
Caused by: org.hotswap.agent.javassist.CannotCompileException: [source error] no such class: allBeanNamesByType
at org.hotswap.agent.javassist.CtBehavior.insertBefore(CtBehavior.java:743)
at org.hotswap.agent.javassist.CtBehavior.insertBefore(CtBehavior.java:706)
at org.hotswap.agent.plugin.spring.SpringPlugin.register(SpringPlugin.java:145)
... 23 more
Caused by: compile error: no such class: allBeanNamesByType
at org.hotswap.agent.javassist.compiler.MemberResolver.searchImports(MemberResolver.java:451)
at org.hotswap.agent.javassist.compiler.MemberResolver.lookupClass(MemberResolver.java:395)
at org.hotswap.agent.javassist.compiler.MemberResolver.lookupClassByJvmName(MemberResolver.java:306)
at org.hotswap.agent.javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:642)
at org.hotswap.agent.javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:147)
at org.hotswap.agent.javassist.compiler.ast.CallExpr.accept(CallExpr.java:43)
at org.hotswap.agent.javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:241)
at org.hotswap.agent.javassist.compiler.CodeGen.atStmnt(CodeGen.java:333)
at org.hotswap.agent.javassist.compiler.ast.Stmnt.accept(Stmnt.java:51)
at org.hotswap.agent.javassist.compiler.Javac.compileStmnt(Javac.java:533)
at org.hotswap.agent.javassist.CtBehavior.insertBefore(CtBehavior.java:725)
... 25 more
Was there any reason not to include Hibernate 3 support?
I am using embedded tomcat run from main method and set the logback configuration file as follows:
System.setProperty("logback.configurationFile", "file:./src/test/resources/logback.xml");
When the application starts it outputs:
HOTSWAP AGENT: 19:14:11.960 INFO (org.hotswap.agent.HotswapAgent) - Loading Hotswap agent - unlimited runtime class redefinition.
HOTSWAP AGENT: 19:14:12.361 INFO (org.hotswap.agent.PluginRegistry) - Discovered plugins: [org.hotswap.agent.plugin.hotswapper.HotswapperPlugin, org.hotswap.agent.plugin.jvm.AnonymousClassPatchPlugin, org.hotswap.agent.plugin.hibernate.HibernatePlugin, org.hotswap.agent.plugin.spring.SpringPlugin, org.hotswap.agent.plugin.jetty.JettyPlugin, org.hotswap.agent.plugin.tomcat.TomcatPlugin, org.hotswap.agent.plugin.zk.ZkPlugin, org.hotswap.agent.plugin.logback.LogbackPlugin]
HOTSWAP AGENT: 19:14:13.324 INFO (org.hotswap.agent.PluginRegistry) - Plugin 'org.hotswap.agent.plugin.logback.LogbackPlugin' initialized in ClassLoader 'sun.misc.Launcher$AppClassLoader@3a7f1228'.
HOTSWAP AGENT: 19:14:13.329 ERROR (org.hotswap.agent.watch.nio.WatcherNIO2) - Unable to watch path with prefix 'file:./src/test/resources/logback.xml' for changes.
java.io.IOException: Invalid URI format file:./src/test/resources/logback.xml
at org.hotswap.agent.watch.nio.WatcherNIO2.addDirectory(WatcherNIO2.java:111)
at org.hotswap.agent.watch.nio.WatcherNIO2.addEventListener(WatcherNIO2.java:55)
at org.hotswap.agent.plugin.logback.LogbackPlugin.initLogback(LogbackPlugin.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:72)
at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)
at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:148)
at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:85)
at org.slf4j.impl.StaticLoggerBinder.(StaticLoggerBinder.java:55)
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:279)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:252)
at cz.nisizs.test.StartTomcat.main(StartTomcat.java:17)
Caused by: java.lang.IllegalArgumentException: URI is not hierarchical
at sun.nio.fs.WindowsUriSupport.fromUri(WindowsUriSupport.java:122)
at sun.nio.fs.WindowsFileSystemProvider.getPath(WindowsFileSystemProvider.java:92)
at java.nio.file.Paths.get(Paths.java:138)
at org.hotswap.agent.watch.nio.WatcherNIO2.addDirectory(WatcherNIO2.java:104)
... 16 more
Jetty + Vraptor + HotswapAgent
[STDOUT] HOTSWAP AGENT: 12:51:31.840 ERROR (org.hotswap.agent.plugin.elresolver.ELResolverPlugin) - Error refreshing Jsf BeanELResolver .
[STDOUT] java.lang.NoSuchMethodException: javax.el.BeanELResolver.purgeBeanClasses(java.lang.ClassLoader)
[STDOUT] at java.lang.Class.getDeclaredMethod(Class.java:2004)
[STDOUT] at org.hotswap.agent.plugin.elresolver.ELResolverPlugin$1.executeCommand(ELResolverPlugin.java:40)
[STDOUT] at org.hotswap.agent.command.impl.CommandExecutor.run(CommandExecutor.java:25)
Developing plugin is a pain right now, as I have to build the agent, restart application server, deploy application.
It would be great to have an example showing how to utilize JUnit, even if we'd have to run each test separately.
WatchHandler.registerResources() fails with tomcat 8 (everything works fine with tomcat 7). Seems to be a classpath issue. Here is a stacktrace with a spring config file :
at java.lang.Thread.run(Thread.java:745) [?:1.7.0_71]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'datasyncManagerFactory' defined in URL [jar:file:/D:/tools/apache-tomcat/8.0.3/webapps/arsm-ws/WEB-INF/lib/app-3.2.jar!/spring/app-core-datasource.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455) ~[AbstractAutowireCapableBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) ~[AbstractAutowireCapableBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) ~[AbstractAutowireCapableBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) ~[AbstractBeanFactory$1.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) ~[DefaultSingletonBeanRegistry.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) ~[AbstractBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[AbstractBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:424) ~[DefaultListableBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors(BeanFactoryUtils.java:277) ~[BeanFactoryUtils.class:3.1.2.RELEASE]
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.detectPersistenceExceptionTranslators(PersistenceExceptionTranslationInterceptor.java:139) ~[PersistenceExceptionTranslationInterceptor.class:3.1.2.RELEASE]
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.(PersistenceExceptionTranslationInterceptor.java:79) ~[PersistenceExceptionTranslationInterceptor.class:3.1.2.RELEASE]
at org.springframework.dao.annotation.PersistenceExceptionTranslationAdvisor.(PersistenceExceptionTranslationAdvisor.java:70) ~[PersistenceExceptionTranslationAdvisor.class:3.1.2.RELEASE]
at org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor.setBeanFactory(PersistenceExceptionTranslationPostProcessor.java:103) ~[PersistenceExceptionTranslationPostProcessor.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeAwareMethods(AbstractAutowireCapableBeanFactory.java:1475) ~[AbstractAutowireCapableBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1443) ~[AbstractAutowireCapableBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) ~[AbstractAutowireCapableBeanFactory.class:3.1.2.RELEASE]
... 55 more
Caused by: java.lang.NullPointerException
at org.hotswap.agent.annotation.handler.WatchHandler.registerResources(WatchHandler.java:82) ~[hotswap-agent.jar:0.2]
at org.hotswap.agent.annotation.handler.WatchHandler.initMethod(WatchHandler.java:48) ~[hotswap-agent.jar:0.2]
at org.hotswap.agent.annotation.handler.AnnotationProcessor.processMethodAnnotations(AnnotationProcessor.java:135) ~[hotswap-agent.jar:0.2]
at org.hotswap.agent.annotation.handler.AnnotationProcessor.processAnnotations(AnnotationProcessor.java:102) ~[hotswap-agent.jar:0.2]
at org.hotswap.agent.config.PluginRegistry.initializePlugin(PluginRegistry.java:158) ~[hotswap-agent.jar:0.2]
at org.hotswap.agent.util.PluginManagerInvoker.callInitializePlugin(PluginManagerInvoker.java:26) ~[hotswap-agent.jar:0.2]
at org.hotswap.agent.plugin.hibernate.HibernatePersistenceHelper.initPlugin(HibernatePersistenceHelper.java:77) ~[catalina.jar:0.2]
at org.hotswap.agent.plugin.hibernate.HibernatePersistenceHelper.createContainerEntityManagerFactoryProxy(HibernatePersistenceHelper.java:43) ~[catalina.jar:0.2]
at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java) ~[HibernatePersistenceProvider.class:4.3.7.Final]
at org.hibernate.ejb.HibernatePersistence._createContainerEntityManagerFactoryHibernatePersistence(HibernatePersistence.java:67) ~[HibernatePersistence.class:4.3.7.Final]
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java) ~[HibernatePersistence.class:4.3.7.Final]
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:268) ~[LocalContainerEntityManagerFactoryBean.class:3.1.2.RELEASE]
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:310) ~[AbstractEntityManagerFactoryBean.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514) ~[AbstractAutowireCapableBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452) ~[AbstractAutowireCapableBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) ~[AbstractAutowireCapableBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) ~[AbstractAutowireCapableBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) ~[AbstractBeanFactory$1.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) ~[DefaultSingletonBeanRegistry.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) ~[AbstractBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[AbstractBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:424) ~[DefaultListableBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors(BeanFactoryUtils.java:277) ~[BeanFactoryUtils.class:3.1.2.RELEASE]
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.detectPersistenceExceptionTranslators(PersistenceExceptionTranslationInterceptor.java:139) ~[PersistenceExceptionTranslationInterceptor.class:3.1.2.RELEASE]
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.(PersistenceExceptionTranslationInterceptor.java:79) ~[PersistenceExceptionTranslationInterceptor.class:3.1.2.RELEASE]
at org.springframework.dao.annotation.PersistenceExceptionTranslationAdvisor.(PersistenceExceptionTranslationAdvisor.java:70) ~[PersistenceExceptionTranslationAdvisor.class:3.1.2.RELEASE]
at org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor.setBeanFactory(PersistenceExceptionTranslationPostProcessor.java:103) ~[PersistenceExceptionTranslationPostProcessor.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeAwareMethods(AbstractAutowireCapableBeanFactory.java:1475) ~[AbstractAutowireCapableBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1443) ~[AbstractAutowireCapableBeanFactory.class:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) ~[AbstractAutowireCapableBeanFactory.class:3.1.2.RELEASE]
... 55 more
While trying to build a release, I encountered some test failures.
[INFO] Running org.hotswap.agent.PluginManagerTest
[INFO] HOTSWAP AGENT: 10:28:11.227 INFO (org.hotswap.agent.PluginRegistry) - Discovered plugins: [org.hotswap.agent.testData.SimplePlugin]
[INFO] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.159 sec <<< FAILURE! - in org.hotswap.agent.PluginManagerTest
[INFO] testInit(org.hotswap.agent.PluginManagerTest) Time elapsed: 0.041 sec <<< ERROR!
[INFO] org.jmock.api.ExpectationError: unexpected invocation
[INFO] at org.jmock.api.ExpectationError.unexpected(ExpectationError.java:23)
[INFO] at org.jmock.internal.InvocationDispatcher.dispatch(InvocationDispatcher.java:85)
[INFO] at org.jmock.Mockery.dispatch(Mockery.java:231)
[INFO] at org.jmock.Mockery.access$100(Mockery.java:29)
[INFO] at org.jmock.Mockery$MockObject.invoke(Mockery.java:271)
[INFO] at org.jmock.internal.InvocationDiverter.invoke(InvocationDiverter.java:27)
[INFO] at org.jmock.internal.FakeObjectMethods.invoke(FakeObjectMethods.java:38)
[INFO] at org.jmock.internal.SingleThreadedPolicy$1.invoke(SingleThreadedPolicy.java:21)
[INFO] at org.jmock.lib.legacy.ClassImposteriser$4.invoke(ClassImposteriser.java:129)
[INFO] at org.hotswap.agent.annotation.handler.AnnotationProcessor$$EnhancerByCGLIB$$b45334fc.processAnnotations(<generated>)
[INFO] at org.hotswap.agent.PluginRegistry.scanPlugins(PluginRegistry.java:97)
[INFO] at org.hotswap.agent.PluginManager.init(PluginManager.java:109)
[INFO] at org.hotswap.agent.PluginManagerTest.testInit(PluginManagerTest.java:46)
...
[INFO] Tests in error:
[INFO] PluginManagerTest.testInit:46 ยป Expectation unexpected invocation
My tomcat was failing to start with the files in that location, and I was prompted to change this to "jre\lib\amd64\dcevm". After moving the files to lib/amd64/dcevm
tomcat proceeded to start fine.
Hibernate plugin now uses Ejb3Configuration which was deprecated in 4.2 and removed in 4.3.
I think that parent POM should contain only dependencyManagement
section where versions are defined. Then each module should use only groupId/artifactId in it's dependencies.
Hi, I tried to use HotswapAgent with my project,but I get a lot of errors like this:
HOTSWAP AGENT: 18:25:43.303 ERROR (org.hotswap.agent.annotation.handler.WatchEventCommand) - Unable create CtClass for URI 'file:///Users/mik01aj/code/myProject/someModule/src/main/java/com/example/website/presentation/basepage/dialogs/RegisterVerificationEmailDialog.html'.
java.io.IOException: bad magic number: 3c21444f
at org.hotswap.agent.javassist.bytecode.ClassFile.read(ClassFile.java:759)
at org.hotswap.agent.javassist.bytecode.ClassFile.<init>(ClassFile.java:117)
at org.hotswap.agent.javassist.CtClassType.<init>(CtClassType.java:69)
at org.hotswap.agent.javassist.ClassPool.makeClass(ClassPool.java:714)
at org.hotswap.agent.javassist.ClassPool.makeClass(ClassPool.java:693)
at org.hotswap.agent.annotation.handler.WatchEventCommand.createCtClass(WatchEventCommand.java:191)
at org.hotswap.agent.annotation.handler.WatchEventCommand.onWatchEvent(WatchEventCommand.java:120)
at org.hotswap.agent.annotation.handler.WatchEventCommand.executeCommand(WatchEventCommand.java:51)
at org.hotswap.agent.command.impl.CommandExecutor.run(CommandExecutor.java:25)
The given magic number 3c21444f
is the hex for <!DO
, the first 4 bytes of the HTML file. Basically, HotswapAgent tries to parse this file as Java bytecode, which, obviously, fails.
This might be because we keep our HTML templates (and some other non-Java resources, e.g. *.properties
) in the src/main/java
folder, and they go to WEB-INF/classes
in the WAR file.
I think it's a HotswapAgent bug, because on original JDK it runs without problems.
If the fix is simple, you could point me to the place where this should be corrected so I could fix it myself and make a pull request.
Let's remove *.iml, .ide, etc. files from VCS and add them to .gitignore.
Right now anytime I open my IntelliJ I get all those files as modified in changelist.
After ZkModel annotation is moved from field to a mehtod, the cache is not reloaded. Binding requests original method, which is not correct.
Also test the plugin to support all versions from 4x to 9x (tested by HotswapAgentExamples/plain-servlet with cargo plugin)
Hi,
There are cases (which I can't define completely) in which after reloading a class and trying to use it, a java.lang.reflect.GenericSignatureFormatError exception occurs.
Reloading the application obviously fixes the issue, but what's more is that the class is reload-able and usable.
I'm using HotswapAgent 0.4, tomcat-7.0.54, jdk1.7.0_51
HOTSWAP AGENT: 21:31:22.432 RELOAD (org.hotswap.agent.plugin.spring.scanner.ClassPathBeanDefinitionScannerAgent) - Registering Spring bean 'freeMarkerRestController'
2014-07-30 21:31:39,273 WARN net.sf.ehcache.constructs.web.filter.Filter: - Throwable thrown during doFilter on request with URI: /structures-webapp/rest/freeMarker/previewTemplate/693/9332 and Query: nullHandler processing failed; nested exception is java.lang.reflect.GenericSignatureFormatError
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.reflect.GenericSignatureFormatError
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:972)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.modelity.structures.shared.web.AjaxCallsFilter.doFilter(AjaxCallsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at net.sf.ehcache.constructs.web.filter.GzipFilter.doFilter(GzipFilter.java:95)
at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:86)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.modelity.structures.shared.web.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:39)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.modelity.structures.shared.web.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:39)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.modelity.structures.shared.web.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:39)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.modelity.shared.authentication.ApplicationBlockerFilter.doFilter(ApplicationBlockerFilter.java:71)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.modelity.shared.authentication.HttpsCookieFilter.doFilter(HttpsCookieFilter.java:40)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2442)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2431)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.reflect.GenericSignatureFormatError
at sun.reflect.generics.parser.SignatureParser.error(SignatureParser.java:126)
at sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature(SignatureParser.java:299)
at sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature(SignatureParser.java:285)
at sun.reflect.generics.parser.SignatureParser.parseTypeSignature(SignatureParser.java:487)
at sun.reflect.generics.parser.SignatureParser.parseTypeSig(SignatureParser.java:190)
at sun.reflect.annotation.AnnotationParser.parseSig(AnnotationParser.java:387)
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:200)
at sun.reflect.annotation.AnnotationParser.parseParameterAnnotations2(AnnotationParser.java:152)
at sun.reflect.annotation.AnnotationParser.parseParameterAnnotations(AnnotationParser.java:129)
at java.lang.reflect.Method.getParameterAnnotations(Method.java:772)
at org.springframework.core.MethodParameter.getParameterAnnotations(MethodParameter.java:283)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:257)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
... 84 more
(-1 / -1) (org/hotswap/agent/plugin/jvm/AnonymousClassInfos$AnonymousClassInfoMatcher/org/hotswap/agent/plugin/jvm/AnonymousClassInfos$AnonymousClassInfoMatcher)
{instance class}
Currently each plugin contains fix framework version to which it compiled and tested. We need a way how to run test with all supported versions.
I think HotswapAgent does not support reloading @RequestMapping
routes in beans.
I think all that needs to be done is on a bean change with a @RequestMapping
annotation is look in the ApplicationContext
for all derivations of AbstractUrlHandlerMapping
and call initApplicationContext()
.
You could reload the HandlerMapping beans but you can't just clear the HashMaps in them as the the URLs are only calculated on initialization. You also can't call setApplicationContext
as that will think nothing has changed.
I'll look into trying the above unless others have thoughts?
PluginClass must not contain dependencies to any framework specific classes. If launched in multiple classloader envorinment (servlet container), an error occures:
java.lang.NoClassDefFoundError: net/sf/cglib/proxy/Callback
Framework specific code should be run:
See http://www.hotswapagent.org/how-does-it-work/hotswap-agent-implementation for more information.
There is example project for plain servlet and with spring and hibernate.
"C:\Program Files\Java\jdk1.8.0_05\jre\bin\java" -ea -XXaltjvm=dcevm -javaagent:j:\HotswapAgent\hotswap-agent-core\target\hotswap-agent-core-0.2.1-SNAPSHOT.jar ... org.hotswap.agent.plugin.proxy.test.methods.AddEnhancerMethodProxyTest
HOTSWAP AGENT: 21:45:40.085 INFO (org.hotswap.agent.HotswapAgent) - Loading Hotswap agent {0.2.1-SNAPSHOT} - unlimited runtime class redefinition.
HOTSWAP AGENT: 21:45:40.825 ERROR (org.hotswap.agent.plugin.proxy.cglib.CglibProxyTransformer) - main
HOTSWAP AGENT: 21:45:40.826 ERROR (org.hotswap.agent.plugin.proxy.cglib.CglibProxyTransformer) - main
HOTSWAP AGENT: 21:45:40.827 ERROR (org.hotswap.agent.plugin.proxy.cglib.CglibProxyTransformer) - main
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000000721900d, pid=14836, tid=2184
#
# JRE version: Java(TM) SE Runtime Environment (8.0_05-b13) (build 1.8.0_05-b13)
# Java VM: Dynamic Code Evolution 64-Bit Server VM (25.5-b02-dcevmlight-36 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# V [jvm.dll+0xc900d]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
# https://github.com/Guidewire/DCEVM/issues
#
--------------- T H R E A D ---------------
Current thread (0x000000000266d800): VMThread [stack: 0x0000000004150000,0x0000000004250000] [id=2184]
siginfo: ExceptionCode=0xc0000005, reading address 0x0000000000000010
Registers:
RAX=0x00000000000000ff, RBX=0x0000000000000f00, RCX=0x0000000000000000, RDX=0x0000000000000000
RSP=0x000000000424f270, RBP=0x000000000424f3a0, RSI=0x0000000000000f00, RDI=0x0000000003e5dde0
R8 =0x00000000025fd440, R9 =0x0000000000000003, R10=0x0000000000000003, R11=0x0000000003e5df71
R12=0x000000000424f430, R13=0x000000000424f420, R14=0x0000000000000000, R15=0x0000000000000000
RIP=0x000000000721900d, EFLAGS=0x0000000000010202
Top of Stack: (sp=0x000000000424f270)
0x000000000424f270: 00000000000000b7 000000000424f3a0
0x000000000424f280: 00000000000000b7 0000000002580080
0x000000000424f290: 0000000000000000 00000000072f85b0
0x000000000424f2a0: 0000000000000000 00000000000000b7
0x000000000424f2b0: 0000000000000000 0000000002580080
0x000000000424f2c0: 000000000257c200 0000000002580270
0x000000000424f2d0: 00000000025804a0 0000000000000000
0x000000000424f2e0: 0000000000000030 0000000002570000
0x000000000424f2f0: 0000000000000028 0000000000000028
0x000000000424f300: 0000000077975430 0000000000000000
0x000000000424f310: 0000000000000010 0000000002570000
0x000000000424f320: 0000000000000008 0000000000000008
0x000000000424f330: 0000000002570288 00000000778b3448
0x000000000424f340: 0000000000000000 0000000000000008
0x000000000424f350: 0000079f00250017 0000000002580470
0x000000000424f360: 000000000424f7e8 0000000064c15695
Instructions: (pc=0x000000000721900d)
0x0000000007218fed: 0f b7 d8 48 63 c3 0f b7 44 c7 50 48 8b 44 c7 50
0x0000000007218ffd: 48 89 44 24 30 f6 d0 48 8b 4c 24 30 a8 01 74 0f
0x000000000721900d: 48 8b 41 10 48 8b 5c 24 38 48 83 c4 20 5f c3 48
0x000000000721901d: 8b 5c 24 38 48 83 e1 fe 48 8b c1 48 83 c4 20 5f
Register to memory mapping:
RAX=0x00000000000000ff is an unknown value
RBX=0x0000000000000f00 is an unknown value
RCX=0x0000000000000000 is an unknown value
RDX=0x0000000000000000 is an unknown value
RSP=0x000000000424f270 is an unknown value
RBP=0x000000000424f3a0 is an unknown value
RSI=0x0000000000000f00 is an unknown value
RDI=0x0000000003e5dde0 is an unknown value
R8 =0x00000000025fd440 is an unknown value
R9 =0x0000000000000003 is an unknown value
R10=0x0000000000000003 is an unknown value
R11=0x0000000003e5df71 is an unknown value
R12=0x000000000424f430 is an unknown value
R13=0x000000000424f420 is an unknown value
R14=0x0000000000000000 is an unknown value
R15=0x0000000000000000 is an unknown value
Stack: [0x0000000004150000,0x0000000004250000], sp=0x000000000424f270, free space=1020k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0xc900d]
V [jvm.dll+0x1a85b0]
V [jvm.dll+0x1a9502]
V [jvm.dll+0x19b9f5]
V [jvm.dll+0x1a08df]
V [jvm.dll+0x1a126a]
V [jvm.dll+0x2140f7]
V [jvm.dll+0x213352]
V [jvm.dll+0x2137d1]
V [jvm.dll+0x2139ee]
V [jvm.dll+0x25f82a]
C [msvcr100.dll+0x21d9f]
C [msvcr100.dll+0x21e3b]
C [kernel32.dll+0x159ed]
C [ntdll.dll+0x2c541]
VM_Operation (0x00000000027ddb00): RedefineClasses, mode: safepoint, requested by thread 0x00000000025e8800
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
0x0000000005db9800 JavaThread "Thread-3" [_thread_blocked, id=11292, stack(0x00000000064b0000,0x00000000065b0000)]
0x0000000005a5a000 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=2444, stack(0x0000000006300000,0x0000000006400000)]
0x0000000004932000 JavaThread "Service Thread" daemon [_thread_blocked, id=17380, stack(0x0000000005950000,0x0000000005a50000)]
0x000000000495c000 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=16744, stack(0x0000000005790000,0x0000000005890000)]
0x000000000495b000 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=16256, stack(0x00000000055c0000,0x00000000056c0000)]
0x000000000495a800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=15796, stack(0x0000000005380000,0x0000000005480000)]
0x000000000481d800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=14140, stack(0x00000000050f0000,0x00000000051f0000)]
0x0000000004817800 JavaThread "Thread-2" daemon [_thread_blocked, id=11244, stack(0x0000000004f70000,0x0000000005070000)]
0x0000000004816800 JavaThread "Thread-1" daemon [_thread_blocked, id=13700, stack(0x0000000004da0000,0x0000000004ea0000)]
0x00000000047f8000 JavaThread "Thread-0" daemon [_thread_in_native, id=13928, stack(0x0000000004bf0000,0x0000000004cf0000)]
0x00000000040a1000 JavaThread "Attach Listener" daemon [_thread_blocked, id=6452, stack(0x0000000004570000,0x0000000004670000)]
0x000000000409d800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=14800, stack(0x00000000046c0000,0x00000000047c0000)]
0x000000000267e000 JavaThread "Finalizer" daemon [_thread_blocked, id=1392, stack(0x0000000004300000,0x0000000004400000)]
0x0000000002674800 JavaThread "Reference Handler" daemon [_thread_blocked, id=9420, stack(0x0000000004400000,0x0000000004500000)]
0x00000000025e8800 JavaThread "main" [_thread_blocked, id=2996, stack(0x00000000026e0000,0x00000000027e0000)]
Other Threads:
=>0x000000000266d800 VMThread [stack: 0x0000000004150000,0x0000000004250000] [id=2184]
0x00000000048ec800 WatcherThread [stack: 0x0000000005250000,0x0000000005350000] [id=8844]
VM state:at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
[0x000000000257e6a0] Threads_lock - owner thread: 0x000000000266d800
[0x000000000257eba0] Heap_lock - owner thread: 0x00000000025e8800
Heap:
def new generation total 1152K, used 189K [0x0000000081a00000, 0x0000000081b40000, 0x00000000abc00000)
eden space 1024K, 6% used [0x0000000081a00000, 0x0000000081a0fc80, 0x0000000081b00000)
from space 128K, 98% used [0x0000000081b20000, 0x0000000081b3fa90, 0x0000000081b40000)
to space 128K, 0% used [0x0000000081b00000, 0x0000000081b00000, 0x0000000081b20000)
tenured generation total 129792K, used 3339K [0x00000000abc00000, 0x00000000b3ac0000, 0x0000000100000000)
the space 129792K, 2% used [0x00000000abc00000, 0x00000000abf42cb0, 0x00000000abf42e00, 0x00000000b3ac0000)
Metaspace used 8347K, capacity 8494K, committed 8704K, reserved 1056768K
class space used 959K, capacity 1019K, committed 1024K, reserved 1048576K
Card table byte_map: [0x0000000003070000,0x0000000003470000] byte_map_base: 0x0000000002c63000
Polling page: 0x0000000000130000
CodeCache: size=245760Kb used=2685Kb max_used=2687Kb free=243074Kb
bounds [0x000000000f010000, 0x000000000f2c0000, 0x000000001e010000]
total_blobs=976 nmethods=646 adapters=244
compilation: enabled
Compilation events (10 events):
Event: 0.887 Thread 0x000000000495c000 641 1 java.nio.Buffer::limit (5 bytes)
Event: 0.887 Thread 0x000000000495c000 nmethod 641 0x000000000f2add50 code [0x000000000f2adea0, 0x000000000f2adfb0]
Event: 0.887 Thread 0x000000000495c000 643 3 java.nio.CharBuffer::arrayOffset (35 bytes)
Event: 0.888 Thread 0x000000000495c000 nmethod 643 0x000000000f2ad790 code [0x000000000f2ad920, 0x000000000f2adc18]
Event: 0.888 Thread 0x000000000495c000 644 3 java.io.BufferedOutputStream::flushBuffer (29 bytes)
Event: 0.888 Thread 0x000000000495c000 nmethod 644 0x000000000f2ad310 code [0x000000000f2ad480, 0x000000000f2ad6e8]
Event: 0.888 Thread 0x000000000495c000 645 3 java.io.OutputStream::flush (1 bytes)
Event: 0.888 Thread 0x000000000495c000 nmethod 645 0x000000000f2ad010 code [0x000000000f2ad160, 0x000000000f2ad2b0]
Event: 0.888 Thread 0x000000000495c000 646 ! 3 java.io.PrintStream::flush (35 bytes)
Event: 0.889 Thread 0x000000000495c000 nmethod 646 0x000000000f2ac690 code [0x000000000f2ac820, 0x000000000f2acd78]
GC Heap History (10 events):
Event: 0.816 GC heap before
{Heap before GC invocations=22 (full 0):
def new generation total 1152K, used 1152K [0x0000000081a00000, 0x0000000081b40000, 0x00000000abc00000)
eden space 1024K, 100% used [0x0000000081a00000, 0x0000000081b00000, 0x0000000081b00000)
from space 128K, 100% used [0x0000000081b00000, 0x0000000081b20000, 0x0000000081b20000)
to space 128K, 0% used [0x0000000081b20000, 0x0000000081b20000, 0x0000000081b40000)
tenured generation total 129792K, used 2447K [0x00000000abc00000, 0x00000000b3ac0000, 0x0000000100000000)
the space 129792K, 1% used [0x00000000abc00000, 0x00000000abe63d10, 0x00000000abe63e00, 0x00000000b3ac0000)
Metaspace used 7931K, capacity 8046K, committed 8192K, reserved 1056768K
class space used 905K, capacity 955K, committed 1024K, reserved 1048576K
Event: 0.817 GC heap after
Heap after GC invocations=23 (full 0):
def new generation total 1152K, used 127K [0x0000000081a00000, 0x0000000081b40000, 0x00000000abc00000)
eden space 1024K, 0% used [0x0000000081a00000, 0x0000000081a00000, 0x0000000081b00000)
from space 128K, 99% used [0x0000000081b20000, 0x0000000081b3fff8, 0x0000000081b40000)
to space 128K, 0% used [0x0000000081b00000, 0x0000000081b00000, 0x0000000081b20000)
tenured generation total 129792K, used 2639K [0x00000000abc00000, 0x00000000b3ac0000, 0x0000000100000000)
the space 129792K, 2% used [0x00000000abc00000, 0x00000000abe93f10, 0x00000000abe94000, 0x00000000b3ac0000)
Metaspace used 7931K, capacity 8046K, committed 8192K, reserved 1056768K
class space used 905K, capacity 955K, committed 1024K, reserved 1048576K
}
Event: 0.827 GC heap before
{Heap before GC invocations=23 (full 0):
def new generation total 1152K, used 1151K [0x0000000081a00000, 0x0000000081b40000, 0x00000000abc00000)
eden space 1024K, 100% used [0x0000000081a00000, 0x0000000081b00000, 0x0000000081b00000)
from space 128K, 99% used [0x0000000081b20000, 0x0000000081b3fff8, 0x0000000081b40000)
to space 128K, 0% used [0x0000000081b00000, 0x0000000081b00000, 0x0000000081b20000)
tenured generation total 129792K, used 2639K [0x00000000abc00000, 0x00000000b3ac0000, 0x0000000100000000)
the space 129792K, 2% used [0x00000000abc00000, 0x00000000abe93f10, 0x00000000abe94000, 0x00000000b3ac0000)
Metaspace used 7991K, capacity 8110K, committed 8192K, reserved 1056768K
class space used 914K, capacity 955K, committed 1024K, reserved 1048576K
Event: 0.828 GC heap after
Heap after GC invocations=24 (full 0):
def new generation total 1152K, used 128K [0x0000000081a00000, 0x0000000081b40000, 0x00000000abc00000)
eden space 1024K, 0% used [0x0000000081a00000, 0x0000000081a00000, 0x0000000081b00000)
from space 128K, 100% used [0x0000000081b00000, 0x0000000081b20000, 0x0000000081b20000)
to space 128K, 0% used [0x0000000081b20000, 0x0000000081b20000, 0x0000000081b40000)
tenured generation total 129792K, used 2859K [0x00000000abc00000, 0x00000000b3ac0000, 0x0000000100000000)
the space 129792K, 2% used [0x00000000abc00000, 0x00000000abecafa0, 0x00000000abecb000, 0x00000000b3ac0000)
Metaspace used 7991K, capacity 8110K, committed 8192K, reserved 1056768K
class space used 914K, capacity 955K, committed 1024K, reserved 1048576K
}
Event: 0.841 GC heap before
{Heap before GC invocations=24 (full 0):
def new generation total 1152K, used 1152K [0x0000000081a00000, 0x0000000081b40000, 0x00000000abc00000)
eden space 1024K, 100% used [0x0000000081a00000, 0x0000000081b00000, 0x0000000081b00000)
from space 128K, 100% used [0x0000000081b00000, 0x0000000081b20000, 0x0000000081b20000)
to space 128K, 0% used [0x0000000081b20000, 0x0000000081b20000, 0x0000000081b40000)
tenured generation total 129792K, used 2859K [0x00000000abc00000, 0x00000000b3ac0000, 0x0000000100000000)
the space 129792K, 2% used [0x00000000abc00000, 0x00000000abecafa0, 0x00000000abecb000, 0x00000000b3ac0000)
Metaspace used 8066K, capacity 8206K, committed 8448K, reserved 1056768K
class space used 923K, capacity 987K, committed 1024K, reserved 1048576K
Event: 0.842 GC heap after
Heap after GC invocations=25 (full 0):
def new generation total 1152K, used 127K [0x0000000081a00000, 0x0000000081b40000, 0x00000000abc00000)
eden space 1024K, 0% used [0x0000000081a00000, 0x0000000081a00000, 0x0000000081b00000)
from space 128K, 99% used [0x0000000081b20000, 0x0000000081b3fff8, 0x0000000081b40000)
to space 128K, 0% used [0x0000000081b00000, 0x0000000081b00000, 0x0000000081b20000)
tenured generation total 129792K, used 3064K [0x00000000abc00000, 0x00000000b3ac0000, 0x0000000100000000)
the space 129792K, 2% used [0x00000000abc00000, 0x00000000abefe170, 0x00000000abefe200, 0x00000000b3ac0000)
Metaspace used 8066K, capacity 8206K, committed 8448K, reserved 1056768K
class space used 923K, capacity 987K, committed 1024K, reserved 1048576K
}
Event: 0.863 GC heap before
{Heap before GC invocations=25 (full 0):
def new generation total 1152K, used 1151K [0x0000000081a00000, 0x0000000081b40000, 0x00000000abc00000)
eden space 1024K, 100% used [0x0000000081a00000, 0x0000000081b00000, 0x0000000081b00000)
from space 128K, 99% used [0x0000000081b20000, 0x0000000081b3fff8, 0x0000000081b40000)
to space 128K, 0% used [0x0000000081b00000, 0x0000000081b00000, 0x0000000081b20000)
tenured generation total 129792K, used 3064K [0x00000000abc00000, 0x00000000b3ac0000, 0x0000000100000000)
the space 129792K, 2% used [0x00000000abc00000, 0x00000000abefe170, 0x00000000abefe200, 0x00000000b3ac0000)
Metaspace used 8173K, capacity 8334K, committed 8448K, reserved 1056768K
class space used 937K, capacity 987K, committed 1024K, reserved 1048576K
Event: 0.864 GC heap after
Heap after GC invocations=26 (full 0):
def new generation total 1152K, used 127K [0x0000000081a00000, 0x0000000081b40000, 0x00000000abc00000)
eden space 1024K, 0% used [0x0000000081a00000, 0x0000000081a00000, 0x0000000081b00000)
from space 128K, 99% used [0x0000000081b00000, 0x0000000081b1fff8, 0x0000000081b20000)
to space 128K, 0% used [0x0000000081b20000, 0x0000000081b20000, 0x0000000081b40000)
tenured generation total 129792K, used 3238K [0x00000000abc00000, 0x00000000b3ac0000, 0x0000000100000000)
the space 129792K, 2% used [0x00000000abc00000, 0x00000000abf29a68, 0x00000000abf29c00, 0x00000000b3ac0000)
Metaspace used 8173K, capacity 8334K, committed 8448K, reserved 1056768K
class space used 937K, capacity 987K, committed 1024K, reserved 1048576K
}
Event: 0.890 GC heap before
{Heap before GC invocations=26 (full 0):
def new generation total 1152K, used 1151K [0x0000000081a00000, 0x0000000081b40000, 0x00000000abc00000)
eden space 1024K, 100% used [0x0000000081a00000, 0x0000000081b00000, 0x0000000081b00000)
from space 128K, 99% used [0x0000000081b00000, 0x0000000081b1fff8, 0x0000000081b20000)
to space 128K, 0% used [0x0000000081b20000, 0x0000000081b20000, 0x0000000081b40000)
tenured generation total 129792K, used 3238K [0x00000000abc00000, 0x00000000b3ac0000, 0x0000000100000000)
the space 129792K, 2% used [0x00000000abc00000, 0x00000000abf29a68, 0x00000000abf29c00, 0x00000000b3ac0000)
Metaspace used 8331K, capacity 8494K, committed 8704K, reserved 1056768K
class space used 957K, capacity 1019K, committed 1024K, reserved 1048576K
Event: 0.891 GC heap after
Heap after GC invocations=27 (full 0):
def new generation total 1152K, used 126K [0x0000000081a00000, 0x0000000081b40000, 0x00000000abc00000)
eden space 1024K, 0% used [0x0000000081a00000, 0x0000000081a00000, 0x0000000081b00000)
from space 128K, 98% used [0x0000000081b20000, 0x0000000081b3fa90, 0x0000000081b40000)
to space 128K, 0% used [0x0000000081b00000, 0x0000000081b00000, 0x0000000081b20000)
tenured generation total 129792K, used 3339K [0x00000000abc00000, 0x00000000b3ac0000, 0x0000000100000000)
the space 129792K, 2% used [0x00000000abc00000, 0x00000000abf42cb0, 0x00000000abf42e00, 0x00000000b3ac0000)
Metaspace used 8331K, capacity 8494K, committed 8704K, reserved 1056768K
class space used 957K, capacity 1019K, committed 1024K, reserved 1048576K
}
Deoptimization events (10 events):
Event: 0.646 Thread 0x00000000025e8800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000f13a0dc method=java.util.regex.Pattern$CharProperty.match(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z @ 18
Event: 0.647 Thread 0x00000000025e8800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000f13a0dc method=java.util.regex.Pattern$CharProperty.match(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z @ 18
Event: 0.647 Thread 0x00000000025e8800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000f13a0dc method=java.util.regex.Pattern$CharProperty.match(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z @ 18
Event: 0.647 Thread 0x00000000025e8800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000f13a0dc method=java.util.regex.Pattern$CharProperty.match(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z @ 18
Event: 0.709 Thread 0x00000000025e8800 Uncommon trap: reason=unreached action=reinterpret pc=0x000000000f19fd94 method=sun.misc.URLClassPath$JarLoader.ensureOpen()V @ 4
Event: 0.771 Thread 0x00000000025e8800 Uncommon trap: reason=unloaded action=reinterpret pc=0x000000000f20cbfc method=org.hotswap.agent.javassist.bytecode.ConstPool.readOne(Ljava/io/DataInputStream;)I @ 124
Event: 0.831 Thread 0x00000000025e8800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000f218278 method=java.util.regex.Pattern$Curly.match0(Ljava/util/regex/Matcher;IILjava/lang/CharSequence;)Z @ 77
Event: 0.843 Thread 0x00000000025e8800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000f218278 method=java.util.regex.Pattern$Curly.match0(Ljava/util/regex/Matcher;IILjava/lang/CharSequence;)Z @ 77
Event: 0.844 Thread 0x00000000025e8800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000f218278 method=java.util.regex.Pattern$Curly.match0(Ljava/util/regex/Matcher;IILjava/lang/CharSequence;)Z @ 77
Event: 0.845 Thread 0x00000000025e8800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000f218278 method=java.util.regex.Pattern$Curly.match0(Ljava/util/regex/Matcher;IILjava/lang/CharSequence;)Z @ 77
Internal exceptions (10 events):
Event: 0.881 Thread 0x00000000025e8800 Exception <a 'java/security/PrivilegedActionException'> (0x0000000081a9cae0) thrown at [C:\Jenkins\workspace\DCEVM-light-8u05\jdk\JDK1.8.0_05-x64\k\product\oops\compressed\slave\dcevm-win\hotspot\src\share\vm\prims\jvm.cpp, line 1249]
Event: 0.883 Thread 0x00000000025e8800 Exception <a 'java/security/PrivilegedActionException'> (0x0000000081aaf9c0) thrown at [C:\Jenkins\workspace\DCEVM-light-8u05\jdk\JDK1.8.0_05-x64\k\product\oops\compressed\slave\dcevm-win\hotspot\src\share\vm\prims\jvm.cpp, line 1249]
Event: 0.884 Thread 0x00000000025e8800 Exception <a 'java/security/PrivilegedActionException'> (0x0000000081ab5348) thrown at [C:\Jenkins\workspace\DCEVM-light-8u05\jdk\JDK1.8.0_05-x64\k\product\oops\compressed\slave\dcevm-win\hotspot\src\share\vm\prims\jvm.cpp, line 1249]
Event: 0.884 Thread 0x00000000025e8800 Exception <a 'java/security/PrivilegedActionException'> (0x0000000081abbd88) thrown at [C:\Jenkins\workspace\DCEVM-light-8u05\jdk\JDK1.8.0_05-x64\k\product\oops\compressed\slave\dcevm-win\hotspot\src\share\vm\prims\jvm.cpp, line 1249]
Event: 0.885 Thread 0x00000000025e8800 Exception <a 'java/security/PrivilegedActionException'> (0x0000000081ac4f58) thrown at [C:\Jenkins\workspace\DCEVM-light-8u05\jdk\JDK1.8.0_05-x64\k\product\oops\compressed\slave\dcevm-win\hotspot\src\share\vm\prims\jvm.cpp, line 1249]
Event: 0.886 Thread 0x00000000025e8800 Exception <a 'java/security/PrivilegedActionException'> (0x0000000081aca150) thrown at [C:\Jenkins\workspace\DCEVM-light-8u05\jdk\JDK1.8.0_05-x64\k\product\oops\compressed\slave\dcevm-win\hotspot\src\share\vm\prims\jvm.cpp, line 1249]
Event: 0.888 Thread 0x00000000025e8800 Exception <a 'java/security/PrivilegedActionException'> (0x0000000081af6628) thrown at [C:\Jenkins\workspace\DCEVM-light-8u05\jdk\JDK1.8.0_05-x64\k\product\oops\compressed\slave\dcevm-win\hotspot\src\share\vm\prims\jvm.cpp, line 1249]
Event: 0.889 Thread 0x00000000025e8800 Exception <a 'java/security/PrivilegedActionException'> (0x0000000081afad80) thrown at [C:\Jenkins\workspace\DCEVM-light-8u05\jdk\JDK1.8.0_05-x64\k\product\oops\compressed\slave\dcevm-win\hotspot\src\share\vm\prims\jvm.cpp, line 1249]
Event: 0.890 Thread 0x00000000025e8800 Exception <a 'java/security/PrivilegedActionException'> (0x0000000081aff4d0) thrown at [C:\Jenkins\workspace\DCEVM-light-8u05\jdk\JDK1.8.0_05-x64\k\product\oops\compressed\slave\dcevm-win\hotspot\src\share\vm\prims\jvm.cpp, line 1249]
Event: 0.891 Thread 0x00000000025e8800 Exception <a 'java/security/PrivilegedActionException'> (0x0000000081a047a8) thrown at [C:\Jenkins\workspace\DCEVM-light-8u05\jdk\JDK1.8.0_05-x64\k\product\oops\compressed\slave\dcevm-win\hotspot\src\share\vm\prims\jvm.cpp, line 1249]
Events (10 events):
Event: 0.889 loading class org/hotswap/agent/plugin/proxy/TransformationState
Event: 0.889 loading class org/hotswap/agent/plugin/proxy/TransformationState done
Event: 0.890 loading class org/hotswap/agent/plugin/proxy/signature/JavaClassSignature
Event: 0.890 loading class org/hotswap/agent/plugin/proxy/signature/JavaClassSignature done
Event: 0.890 Executing VM operation: GenCollectForAllocation
Event: 0.891 Executing VM operation: GenCollectForAllocation done
Event: 0.891 loading class org/hotswap/agent/plugin/proxy/cglib/CglibProxyTransformer$1
Event: 0.891 loading class org/hotswap/agent/plugin/proxy/cglib/CglibProxyTransformer$1 done
Event: 0.892 Thread 0x0000000005db9800 Thread added: 0x0000000005db9800
Event: 0.892 Executing VM operation: RedefineClasses
Dynamic libraries:
0x000000013f450000 - 0x000000013f484000 C:\Program Files\Java\jdk1.8.0_05\jre\bin\java.exe
0x0000000077860000 - 0x0000000077a09000 C:\Windows\SYSTEM32\ntdll.dll
0x0000000077740000 - 0x000000007785f000 C:\Windows\system32\kernel32.dll
0x000007fefd9d0000 - 0x000007fefda3c000 C:\Windows\system32\KERNELBASE.dll
0x000007feff620000 - 0x000007feff6fb000 C:\Windows\system32\ADVAPI32.dll
0x000007feff3a0000 - 0x000007feff43f000 C:\Windows\system32\msvcrt.dll
0x000007fefe1d0000 - 0x000007fefe1ef000 C:\Windows\SYSTEM32\sechost.dll
0x000007fefddb0000 - 0x000007fefdedd000 C:\Windows\system32\RPCRT4.dll
0x0000000077640000 - 0x000000007773a000 C:\Windows\system32\USER32.dll
0x000007fefe1f0000 - 0x000007fefe257000 C:\Windows\system32\GDI32.dll
0x000007fefdcf0000 - 0x000007fefdcfe000 C:\Windows\system32\LPK.dll
0x000007feff170000 - 0x000007feff239000 C:\Windows\system32\USP10.dll
0x000007fefbfe0000 - 0x000007fefc1d4000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_fa396087175ac9ac\COMCTL32.dll
0x000007feff320000 - 0x000007feff391000 C:\Windows\system32\SHLWAPI.dll
0x000007feffb40000 - 0x000007feffb6e000 C:\Windows\system32\IMM32.DLL
0x000007fefe260000 - 0x000007fefe369000 C:\Windows\system32\MSCTF.dll
0x000007fefd5d0000 - 0x000007fefd60f000 C:\Windows\system32\nvinitx.dll
0x000000000f000000 - 0x000000000f006000 C:\Program Files\NVIDIA Corporation\CoProcManager\_etoured.dll
0x000007fefa880000 - 0x000007fefa8c5000 C:\Program Files\NVIDIA Corporation\CoProcManager\nvd3d9wrapx.dll
0x000007feff440000 - 0x000007feff617000 C:\Windows\system32\SETUPAPI.dll
0x000007fefd8f0000 - 0x000007fefd926000 C:\Windows\system32\CFGMGR32.dll
0x000007fefdee0000 - 0x000007fefdfb7000 C:\Windows\system32\OLEAUT32.dll
0x000007fefdfc0000 - 0x000007fefe1c3000 C:\Windows\system32\ole32.dll
0x000007fefd9b0000 - 0x000007fefd9ca000 C:\Windows\system32\DEVOBJ.dll
0x000007fefa730000 - 0x000007fefa772000 C:\Program Files\NVIDIA Corporation\CoProcManager\nvdxgiwrapx.dll
0x0000000064bf0000 - 0x0000000064cc2000 C:\Program Files\Java\jdk1.8.0_05\jre\bin\msvcr100.dll
0x0000000007150000 - 0x0000000007945000 C:\Program Files\Java\jdk1.8.0_05\jre\bin\dcevm\jvm.dll
0x000007fef9370000 - 0x000007fef9379000 C:\Windows\system32\WSOCK32.dll
0x000007fefe390000 - 0x000007fefe3dd000 C:\Windows\system32\WS2_32.dll
0x000007fefdda0000 - 0x000007fefdda8000 C:\Windows\system32\NSI.dll
0x000007fefb430000 - 0x000007fefb46b000 C:\Windows\system32\WINMM.dll
0x0000000077a30000 - 0x0000000077a37000 C:\Windows\system32\PSAPI.DLL
0x000000006b820000 - 0x000000006b82f000 C:\Program Files\Java\jdk1.8.0_05\jre\bin\verify.dll
0x000000006b7f0000 - 0x000000006b818000 C:\Program Files\Java\jdk1.8.0_05\jre\bin\java.dll
0x000000006d740000 - 0x000000006d763000 C:\Program Files\Java\jdk1.8.0_05\jre\bin\instrument.dll
0x000000006b7d0000 - 0x000000006b7e6000 C:\Program Files\Java\jdk1.8.0_05\jre\bin\zip.dll
0x000007fefe3e0000 - 0x000007feff168000 C:\Windows\system32\SHELL32.dll
0x000007fefd6a0000 - 0x000007fefd6af000 C:\Windows\system32\profapi.dll
0x000000006b7b0000 - 0x000000006b7ca000 C:\Program Files\Java\jdk1.8.0_05\jre\bin\net.dll
0x000007fefce40000 - 0x000007fefce95000 C:\Windows\system32\mswsock.dll
0x000007fefce30000 - 0x000007fefce37000 C:\Windows\System32\wship6.dll
0x000000006b5a0000 - 0x000000006b5b1000 C:\Program Files\Java\jdk1.8.0_05\jre\bin\nio.dll
0x000007fefaf70000 - 0x000007fefaf80000 C:\Program Files (x86)\JetBrains\IntelliJ IDEA 139.144.2\bin\breakgen64.dll
0x000007fef51e0000 - 0x000007fef5305000 C:\Windows\system32\dbghelp.dll
VM Arguments:
jvm_args: -ea -javaagent:j:\HotswapAgent\hotswap-agent-core\target\hotswap-agent-core-0.2.1-SNAPSHOT.jar -Didea.launcher.port=7532 -Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 139.144.2\bin -Dfile.encoding=UTF-8
java_command: com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 org.hotswap.agent.plugin.proxy.test.methods.AddEnhancerMethodProxyTest
java_class_path (initial): C:\Program Files (x86)\JetBrains\IntelliJ IDEA 139.144.2\lib\idea_rt.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 139.144.2\plugins\junit\lib\junit-rt.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\zipfs.jar;J:\HotswapAgent\plugin\hotswap-agent-proxy-plugin\target\test-classes;J:\HotswapAgent\plugin\hotswap-agent-proxy-plugin\target\classes;J:\HotswapAgent\hotswap-agent-core\target\classes;C:\Users\bubnik\.m2\repository\asm\asm-all\3.3.1\asm-all-3.3.1.jar;C:\Users\bubnik\.m2\repository\org\springframework\spring-core\4.0.5.RELEASE\spring-core-4.0.5.RELEASE.jar;C:\Users\bubnik\.m2\repository\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar;C:\Users\bubnik\.m2\repository\org\springframework\spring
Launcher Type: SUN_STANDARD
Environment Variables:
JAVA_HOME=c:\java\OpenJDK\jdk1.7.0_45
PATH=C:\ProgramData\Oracle\Java\javapath;c:\java\OpenJDK\jdk1.7.0_45\bin;C:\Program Files (x86)\Microsoft DirectX SDK (April 2006)\Utilities\Bin\x86;c:\apache-maven-3.0.4\bin\;C:\Program Files\Mercurial;C:\app\bubnik\product\11.2.0\client_3\bin;C:\Python33\;C:\oraclexe\app\oracle\product\11.2.0\server\bin;c:\app\bubnik\product\11.2.0\client_1\bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\12.0\DLLShared\;C:\Program Files (x86)\Roxio\OEM\AudioCore\;C:\Program Files\TortoiseSVN\bin;C:/Users/bubnik/AppData/Local/GitHub/PortableGit_8810fd5c2c79c73adcc73fd0825f3b32fdb816e7/bin;C:\Program Files (x86)\Bitvise SSH Client;C:\Program Files (x86)\Git\cmd;C:\Program Files (x86)\Git\bin;C:\Program Files\Calibre2\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Google\Google Apps Sync\;C:\Program Files (x86)\Google\Google Apps Migration\;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files\TortoiseHg\;C:\Program Files\TortoiseGit\bin;C:\Python33\
USERNAME=bubnik
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
--------------- S Y S T E M ---------------
OS: Windows 7 , 64 bit Build 7601 Service Pack 1
CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, clmul, ht, tsc, tscinvbit
Memory: 4k page, physical 8280236k(1181480k free), swap 16558608k(4175348k free)
vm_info: Dynamic Code Evolution 64-Bit Server VM (25.5-b02-dcevmlight-36) for windows-amd64 JRE (1.8.0), built on Apr 28 2014 18:38:12 by "" with MS VC++ 10.0 (VS2010)
time: Sun Nov 09 21:45:40 2014
elapsed time: 0 seconds
I'm using Netbeans 8 to write sample application based on Maven and Java FX. I want to set up HotSwap with DCEVM and check if it's working with my project.
Sample application
public class FXMLController implements Initializable {
@FXML
private Label label;
@FXML
private void handleButtonAction(ActionEvent event) {
System.out.println("You clicked me!");
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
I've installed and configured DCEVM and HotSwap agent.This is my running configuration:
runfx.args=-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address} -jar "${project.build.directory}/${project.build.finalName}.jar"
jpda.listen=true
Env.MAVEN_OPTS=-XXaltjvm=dcevm -javaagent:c:\TEST\hotswap-agent.jar=autoHotswap=true
I've also cliked "Compile on save" option in netbeans.
This is log from console during app start.
NetBeans: JPDA Listening Start...
JPDA Address: MC0WKJ3C:50469
Port:50469
cd C:\dev\java\MavenFxHotSwap; "MAVEN_OPTS=-XXaltjvm=dcevm -javaagent:c:\TEST\hotswap-agent.jar=autoHotswap=true" JAVA_HOME=C:\TEST\Java\jdk1.8.0_05 cmd /c """C:\Program Files\NetBeans 8.0.2\java\maven\bin\mvn.bat" -Drunfx.args="-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=50469 -jar \"${project.build.directory}/${project.build.finalName}.jar\" " -Djpda.listen=true -Djpda.address=50469 -Dmaven.ext.class.path="C:\Program Files\NetBeans 8.0.2\java\maven-nblib\netbeans-eventspy.jar" -Dfile.encoding=UTF-8 org.codehaus.mojo:exec-maven-plugin:1.2.1:exec""
Running NetBeans Compile On Save execution. Phase execution is skipped and output directories of dependency projects (with Compile on Save turned on) will be used instead of their jar artifacts.
HOTSWAP AGENT: 11:43:17.728 INFO (org.hotswap.agent.HotswapAgent) - Loading Hotswap agent {0.2} - unlimited runtime class redefinition.
HOTSWAP AGENT: 11:43:18.085 INFO (org.hotswap.agent.config.PluginRegistry) - Plugin 'org.hotswap.agent.plugin.hotswapper.HotswapperPlugin' initialized in ClassLoader 'sun.misc.Launcher$AppClassLoader@58644d46'.
HOTSWAP AGENT: 11:43:18.124 INFO (org.hotswap.agent.config.PluginRegistry) - Discovered plugins: [Hotswapper, AnonymousClassPatch, WatchResources, Hibernate, Spring, Jersey2, Jetty, Tomcat, ZK, Logback, JSF, Seam, ELResolver, OsgiEquinox]
HOTSWAP AGENT: 11:43:19.472 INFO (org.hotswap.agent.config.PluginRegistry) - Plugin 'org.hotswap.agent.plugin.hotswapper.HotswapperPlugin' initialized in ClassLoader 'ClassRealm[plexus.core, parent: null]'.
Scanning for projects...
HOTSWAP AGENT: 11:43:20.164 INFO (org.hotswap.agent.config.PluginRegistry) - Plugin 'org.hotswap.agent.plugin.hotswapper.HotswapperPlugin' initialized in ClassLoader 'ClassRealm[maven.ext, parent: ClassRealm[plexus.core, parent: null]]'.
--- exec-maven-plugin:1.2.1:exec (default-cli) @ MavenFxHotSwap ---
HOTSWAP AGENT: 11:43:21.068 INFO (org.hotswap.agent.config.PluginRegistry) - Plugin 'org.hotswap.agent.plugin.hotswapper.HotswapperPlugin' initialized in ClassLoader 'ClassRealm[maven.ext, parent: ClassRealm[plexus.core, parent: null]]'.
HOTSWAP AGENT: 11:43:21.563 INFO (org.hotswap.agent.config.PluginRegistry) - Plugin 'org.hotswap.agent.plugin.hotswapper.HotswapperPlugin' initialized in ClassLoader 'ClassRealm[plugin>org.codehaus.mojo:exec-maven-plugin:1.2.1, parent: sun.misc.Launcher$AppClassLoader@58644d46]'.
When I'm debuging code and making some changes adding method or something no changes are made. I can apply changes via netbeasn interface but no log from HotswapperPlugin is visible. Is there is any way to make it work? Am I doing something wrong?
It seems there is a problem of initialization order of the PluginManager, causing the INSTANCE not being initialized when the custom plugins are initialized:
java.lang.NullPointerException
at org.hotswap.agent.config.PluginConfiguration.initPluginPackage(PluginConfiguration.java:118)
at org.hotswap.agent.config.PluginConfiguration.init(PluginConfiguration.java:107)
at org.hotswap.agent.config.PluginConfiguration.<init>(PluginConfiguration.java:49)
at org.hotswap.agent.PluginManager.<init>(PluginManager.java:50)
at org.hotswap.agent.PluginManager.getInstance(PluginManager.java:40)
at org.hotswap.agent.config.PluginConfiguration.initPluginPackage(PluginConfiguration.java:118)
at org.hotswap.agent.config.PluginConfiguration.init(PluginConfiguration.java:107)
at org.hotswap.agent.config.PluginConfiguration.<init>(PluginConfiguration.java:49)
at org.hotswap.agent.PluginManager.<init>(PluginManager.java:50)
at org.hotswap.agent.PluginManager.<clinit>(PluginManager.java:34)
at org.hotswap.agent.HotswapAgent.premain(HotswapAgent.java:24)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:382)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:397)
(PluginManager.getInstance() returns null)
Does Hotswap Agent works with Eclipse RAP ?
If yes, how to must i setup Hotswap Agent for my Eclipse RAP Project ?
I don't know how class loaders work. I only have a vague idea. So I'm sorry if I'm not precise with this description. Here I go...
I'm running Wildfly 8.1.0, with JDK 8 Update 05 and HotswapAgent 0.1 Beta 4. I've successfully installed DCEVM 25.5-b02-dcevmlight-58 as an alternative JVM. I've been able to correctly hotswap several classes. However, I've problems when the class that I hotswap is used in a JSP file but has been instantiated from a class stored in WEB-INF/classes/ . Every time that I do that, I got a java.lang.LinkageError.
Testing it is very easy. Create a WAR file with a class that instantiates itself. For example:
package myweb;
public class Test {
private Test () {
}
public static Test create () {
return new Test ();
}
}
Then write a call to myweb.Test.create () in a JSP file and request such JSP from your browser. It's OK. Now edit the class as you want, submit the changes with your IDE and request the JSP again. It will fail and the server will output:
java.lang.LinkageError: loader constraint violation: when resolving method "myweb.Test.create()Lmyapp/Test;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/test_jsp, and the class loader (instance of org/jboss/modules/ModuleClassLoader) for the method's defining class, myapp/Test, have different Class objects for the type myapp/Test used in the signature
It seems that both class loaders, JasperLoader and ModuleClassLoader, keep a different version of the same class. One of them isn't updated properly.
Thank you.
When Wildfly 8.1 app server starts, the following error happens:
15:12:02,003 INFO [stdout] (MSC service thread 1-6) HOTSWAP AGENT: 15:12:2.003 WARNING (org.hotswap.agent.plugin.elresolver.ELResolverPlugin) - Unable to add javax.el.BeanELResolver.purgeBeanClasses() method. Purging will not be available.
15:12:02,003 INFO [stdout] (MSC service thread 1-6) org.hotswap.agent.javassist.NotFoundException: purgeBeanClasses(..) is not found in javax.el.BeanELResolver
15:12:02,003 INFO [stdout] (MSC service thread 1-6) at org.hotswap.agent.javassist.CtClassType.getDeclaredMethod(CtClassType.java:1168)
15:12:02,003 INFO [stdout] (MSC service thread 1-6) at org.hotswap.agent.plugin.elresolver.ELResolverPlugin.beanELResolverRegisterVariable(ELResolverPlugin.java:69)
15:12:02,004 INFO [stdout] (MSC service thread 1-6) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
15:12:02,004 INFO [stdout] (MSC service thread 1-6) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
15:12:02,004 INFO [stdout] (MSC service thread 1-6) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
15:12:02,004 INFO [stdout] (MSC service thread 1-6) at java.lang.reflect.Method.invoke(Method.java:483)
15:12:02,004 INFO [stdout] (MSC service thread 1-6) at org.hotswap.agent.annotation.handler.TransformHandler.transform(TransformHandler.java:162)
15:12:02,004 INFO [stdout] (MSC service thread 1-6) at org.hotswap.agent.annotation.handler.TransformHandler$1.transform(TransformHandler.java:73)
15:12:02,004 INFO [stdout] (MSC service thread 1-6) at org.hotswap.agent.util.HotswapTransformer.transform(HotswapTransformer.java:129)
15:12:02,005 INFO [stdout] (MSC service thread 1-6) at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
15:12:02,005 INFO [stdout] (MSC service thread 1-6) at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
15:12:02,005 INFO [stdout] (MSC service thread 1-6) at java.lang.ClassLoader.defineClass1(Native Method)
15:12:02,005 INFO [stdout] (MSC service thread 1-6) at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
15:12:02,005 INFO [stdout] (MSC service thread 1-6) at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:361)
15:12:02,005 INFO [stdout] (MSC service thread 1-6) at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:482)
15:12:02,005 INFO [stdout] (MSC service thread 1-6) at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:277)
15:12:02,005 INFO [stdout] (MSC service thread 1-6) at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:92)
15:12:02,005 INFO [stdout] (MSC service thread 1-6) at org.jboss.modules.Module.loadModuleClass(Module.java:568)
15:12:02,005 INFO [stdout] (MSC service thread 1-6) at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)
15:12:02,005 INFO [stdout] (MSC service thread 1-6) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)
15:12:02,005 INFO [stdout] (MSC service thread 1-6) at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)
15:12:02,006 INFO [stdout] (MSC service thread 1-6) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)
15:12:02,006 INFO [stdout] (MSC service thread 1-6) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)
15:12:02,006 INFO [stdout] (MSC service thread 1-6) at com.sun.faces.application.ApplicationAssociate.initializeELResolverChains(ApplicationAssociate.java:511)
15:12:02,006 INFO [stdout] (MSC service thread 1-6) at com.sun.faces.application.ApplicationImpl.performOneTimeELInitialization(ApplicationImpl.java:1324)
15:12:02,006 INFO [stdout] (MSC service thread 1-6) at com.sun.faces.application.ApplicationImpl.getELResolver(ApplicationImpl.java:481)
15:12:02,006 INFO [stdout] (MSC service thread 1-6) at org.jboss.as.jsf.injection.weld.ForwardingApplication.getELResolver(ForwardingApplication.java:221)
15:12:02,031 INFO [stdout] (MSC service thread 1-6) at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:233)
15:12:02,031 INFO [stdout] (MSC service thread 1-6) at io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:173)
15:12:02,031 INFO [stdout] (MSC service thread 1-6) at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:190)
15:12:02,031 INFO [stdout] (MSC service thread 1-6) at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:87)
15:12:02,031 INFO [stdout] (MSC service thread 1-6) at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start(UndertowDeploymentService.java:72)
15:12:02,031 INFO [stdout] (MSC service thread 1-6) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
15:12:02,031 INFO [stdout] (MSC service thread 1-6) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
15:12:02,031 INFO [stdout] (MSC service thread 1-6) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
15:12:02,031 INFO [stdout] (MSC service thread 1-6) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
15:12:02,031 INFO [stdout] (MSC service thread 1-6) at java.lang.Thread.run(Thread.java:745)
15:12:02,032 INFO [stdout] (MSC service thread 1-6)
15:12:02,040 INFO [stdout] (MSC service thread 1-6) HOTSWAP AGENT: 15:12:2.039 INFO (org.hotswap.agent.config.PluginRegistry) - Plugin 'org.hotswap.agent.plugin.elresolver.ELResolverPlugin' initialized in ClassLoader 'ModuleClassLoader for Module "javax.el.api:main" from local module loader @6b2fad11 (finder: local module finder @79698539 (roots: J:\java\servers\wildfly\modules,J:\java\servers\wildfly\modules\system\layers\base))'.
When trying to use with Jboss eap 6.1.0:
17:10:52,604 ERROR [stderr](MSC service thread 1-7) Reported exception:
17:10:52,604 ERROR [stderr](MSC service thread 1-7) java.lang.NoClassDefFoundError: org/hotswap/agent/PluginManager
17:10:52,604 ERROR [stderr](MSC service thread 1-7) at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:72)
17:10:52,604 ERROR [stderr](MSC service thread 1-7) at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)
17:10:52,604 ERROR [stderr](MSC service thread 1-7) at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:148)
17:10:52,604 ERROR [stderr](MSC service thread 1-7) at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)
17:10:52,604 ERROR [stderr](MSC service thread 1-7) at org.slf4j.impl.StaticLoggerBinder.(StaticLoggerBinder.java:54)
17:10:52,605 ERROR [stderr](MSC service thread 1-7) at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128)
17:10:52,605 ERROR [stderr](MSC service thread 1-7) at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:107)
17:10:52,605 ERROR [stderr](MSC service thread 1-7) at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:295)
17:10:52,605 ERROR [stderr](MSC service thread 1-7) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:269)
17:10:52,605 ERROR [stderr](MSC service thread 1-7) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:281)
17:10:52,605 ERROR [stderr](MSC service thread 1-7) at cz.csas.knproxy.localservices.heartbeatservice.v01.HeartbeatServiceImpl.(HeartbeatServiceImpl.java:28)
17:10:52,605 ERROR [stderr](MSC service thread 1-7) at java.lang.Class.forName0(Native Method)
17:10:52,605 ERROR [stderr](MSC service thread 1-7) at java.lang.Class.forName(Class.java:270)
17:10:52,605 ERROR [stderr](MSC service thread 1-7) at org.jboss.invocation.proxy.AbstractProxyFactory.afterClassLoad(AbstractProxyFactory.java:94)
17:10:52,605 ERROR [stderr](MSC service thread 1-7) at org.jboss.invocation.proxy.AbstractClassFactory.defineClass(AbstractClassFactory.java:166)
17:10:52,606 ERROR [stderr](MSC service thread 1-7) at org.jboss.invocation.proxy.AbstractProxyFactory.getCachedMethods(AbstractProxyFactory.java:145)
17:10:52,606 ERROR [stderr](MSC service thread 1-7) at org.jboss.as.ee.component.ViewDescription$DefaultConfigurator.configure(ViewDescription.java:193)
17:10:52,606 ERROR [stderr](MSC service thread 1-7) at org.jboss.as.ee.component.ComponentDescription$DefaultComponentConfigurator.configure(ComponentDescription.java:929)
17:10:52,606 ERROR [stderr](MSC service thread 1-7) at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:80)
17:10:52,606 ERROR [stderr](MSC service thread 1-7) at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120)
17:10:52,606 ERROR [stderr](MSC service thread 1-7) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
17:10:52,606 ERROR [stderr](MSC service thread 1-7) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
17:10:52,606 ERROR [stderr](MSC service thread 1-7) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
17:10:52,606 ERROR [stderr](MSC service thread 1-7) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
17:10:52,607 ERROR [stderr](MSC service thread 1-7) at java.lang.Thread.run(Thread.java:744)
17:10:52,607 ERROR [stderr](MSC service thread 1-7) Caused by: java.lang.ClassNotFoundException: org.hotswap.agent.PluginManager from [Module "deployment.knproxy-ear-1.0.0-SNAPSHOT.ear.knproxy-war.war:main" from Service Module Loader]
17:10:52,607 ERROR [stderr](MSC service thread 1-7) at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196)
17:10:52,607 ERROR [stderr](MSC service thread 1-7) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444)
17:10:52,607 ERROR [stderr](MSC service thread 1-7) at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432)
17:10:52,608 ERROR [stderr](MSC service thread 1-7) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374)
17:10:52,608 ERROR [stderr](MSC service thread 1-7) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119)
17:10:52,608 ERROR [stderr](MSC service thread 1-7) ... 25 more
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.