我目前正在处理的问题需要将动态Web项目中的类的更改加载到JVM,而无需重新启动应用程序。我已经知道J Rebel,因为我也尝试过使用它(只是没有足够的现金来购买它)。所以我实际上坚持为这个项目创建一个自定义类加载器。自定义类加载问题
我真正的问题在于如何检测类文件中的更改并将更改加载到JVM中。所以如果存在一个工具或API,或者如果有人知道如何去做,或者有任何参考链接来帮助解决这个问题,我会非常感谢同样的。
由于提前
我目前正在处理的问题需要将动态Web项目中的类的更改加载到JVM,而无需重新启动应用程序。我已经知道J Rebel,因为我也尝试过使用它(只是没有足够的现金来购买它)。所以我实际上坚持为这个项目创建一个自定义类加载器。自定义类加载问题
我真正的问题在于如何检测类文件中的更改并将更改加载到JVM中。所以如果存在一个工具或API,或者如果有人知道如何去做,或者有任何参考链接来帮助解决这个问题,我会非常感谢同样的。
由于提前
由于Java 7,您可以使用NIO.7 WatchService
看到这个甲骨文tutorial。
顺便说一句:你不应该创建自己的ClassLoader
。
谢谢,这就是我一直在寻找,是的,我有我自己的类加载器 –
如果您使用Tapestry IOC作为您的IOC container,您可以免费获得实时服务重新加载。
请注意,只有实际的实施可以实时重新加载,如果您想更改界面,则需要重新启动应用程序。
如果您选择使用Tapestry web framework,你也可以重新载入页面和组件类的飞行。
为什么你认为你必须建立自己的ClassLoader?你想达到什么目的? – gregor
如果你的意思是'热部署web应用程序',免费容器(Tomcat,Jetty)支持它很长一段时间。 –
M尝试使用完整的新对象结构重新加载整个类,更改HTML绑定或任何更改。热部署不能实现这个目标,加上它只能在我不感兴趣的调试模式下工作。该应用程序非常庞大,并且正在生产中,只是试图减少升级的停机时间 –