我可以将GAE的dev_appserver设置为在更改.class文件时自动重新加载上下文吗?

时间:2011-03-10 10:03:42

标签: java google-app-engine

我正在使用Google AppEngine及其内置的网络服务器。我的开发以一种简单的方式进行:我对.java源代码或.jsp进行更改并使用ant进行编译,并查看我必须重新启动开发服务器的更改。

我想知道是否有办法可以避免重启我的开发服务器的最后一步 - 以某种方式刷新我的web服务器的缓存类上下文。谷歌在这个开发服务器上提供的选项非常有限,我想知道是否有更好的方法。

我想避免使用像JRebel这样的东西我可以购买,但对于这个简单的项目,我只是想知道我是否可以免除重启我的网络服务器的负担......否则我会忍受它。

2 个答案:

答案 0 :(得分:4)

我意识到你可以触摸 appengine-web.xml强制服务器上下文重新加载。还加载了 /_ah/reloadwebapp下的页面将重新加载服务器上下文 - 即使 它给你一个404,它仍然会重新加载上下文。

答案 1 :(得分:0)

在调试模式下,JVM可以执行一些热插拔 - 我知道并且Intellij IDEA会这样做,我相信其他IDE中的其他调试器也会这样做。

使用调试标志(例如-Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000)启动应用服务器,然后将调试器连接到应用服务器。

然后,更改不是方法签名或类字段更改的源。重新编译,瞧,调试器将类交换到正在调试的jvm中!

这只能半井运作。但这可能就足够了。