开发者

Can I set GAE's dev_appserver to automatically reload context when I change .class files?

I'm using Google AppEngine with their built in web server. My development goes about i开发者_开发技巧n a simple way: I make changes to my .java sources or .jsp and compile using ant and to see the changes I have to restart the development server.

I'm wondering if there's a way I can avoid this last step of restarting my development server - somehow refresh the cached classes context of my web-server. The options provided by Google on this dev server are quite limited and am wondering if there's a better way.

I would like to avoid using something like JRebel which I could buy, but for this simple project I'm just wondering if I can remove the burden of restarting my web-server... otherwise I'll live with it.


I realized that you can just touch appengine-web.xml to force server context reload. Also loading the page under /_ah/reloadwebapp will reload the servers context - even if it gives you a 404, it will still reload the context.


In debug mode, the JVM can perform some hot swapping - I know and Intellij IDEA does it, i m sure other debuggers in other IDE's does it too.

Start the app server with the debug flag (-Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000 for example), then connect the debugger to the app server.

Then, make a change to the source that is not a method signature or class field change. Recompile, and voila, the debugger hot swapped the class into the jvm being debugged!

This only really works semi-well. But it may just be enough.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜