play framework 如何关联的java源文件?

_icode 发布于 2014/07/20 12:18
阅读 262
收藏 0
请问,playframework是如何que定java文件目录的?在错误信息里面如何做的关联?只看到从play。classes里面找类,play不是用了一个agent么?从这里找的不是所有的java类?有和用处?
加载中
0
purely
purely
不明白问什么
0
_icode
_icode
我用自己的方法关联了
0
yak
yak
play修改java文件需要重启服务器吗
0
_icode
_icode
貌似不需要,我正在研究怎么做的,现在知道了基于JVM那部分,但是不知道如果修改了方法签名之类的如何热加载的
0
_icode
_icode

引用来自“yak”的评论

play修改java文件需要重启服务器吗
看了play1的热加载,是利用JDK提供的接口进行的,所有类会在applicationClass中进行缓存,当发现更改(play提供了两种发现机制,文件修改时间和hash码),JDT编译该类,然后利用JDK的接口redefineClasses重新加载,这样就出现了一个问题,方法签名和类签名改变了怎么办?捕获UnmodifiableClassException,然后销毁当前classloader(放弃引用,等待GC),然后逻辑就重新开始了,从applicationClass中获取所需类,如此往复
0
_icode
_icode
做事有始有终,说下自己的见解。首先play1是不允许更改约束的,所以这个做起来不难,其次,play是使用ruby方式启动的,可以包含在jvm启动参数中
返回顶部
顶部