2018-10-18 16:43
@う小橋彎彎╭や殘陽照 原来你说的是这么个问题
这个就是 ehcache 的特点,对象是缓存在内存中的,从缓存中取出数据得到的不是拷贝,而是指向数据本身的指针,改变取出数据的值,就改变了缓存中的值
一般来说,JVM 内存式缓存都是这种工作机制,如果每次从缓存中取数据都要 clone 复制一份出来用的话,性能会急剧下降
2018-10-18 16:29
@jasun 简单一句话, 原来的 jfinal 版本号改为 3.5, 原来的 jetty-server 改为 2018.11
其它不用动,不要加东西
2018-10-18 16:29
@jasun 不能这么升, 你得将原来的 8.1.8 升级为 2018.11 即可,就改个版本号
不要改成 9.4.12.v20180830, 因为 jfinal 的 jetty-server 已经是依赖这个了
2018-10-18 11:11
@MINA搬运工 在 jfinal 俱乐部群里面,看一下通知,有一期通知里放了下载链接
jfinal club 后面会出系列视频详细讲解,这周先做 undertow-server ,然后马上就是俱乐部视频福利录制了
2018-10-18 10:18
@无涯 这周末会着手开发一个 undertow-server 项目,里面会加 websocket 支持,这个项目比 jetty-server 要好用
如果你着急用,可以自建一个类叫 MyServer 继承一下 :
public class MyServer extends com.jfinal.server.jetty.JettyServer {
...
}
然后,覆盖掉里面的 start() 方法,基本照抄父类的代码,然后添加一点 websocket 的支持代码,具体的 websocket 代码大致如此:
ServerContainer container = WebSocketServerContainerInitializer.configureContext(webApp);
// 下面添加 Endpoint 注解修饰过的一些类就好,用一段扫描代码或者在 MySever 中利用 set 方法设置进来也可以
container.addEndpoint(...);
最后启动的时候:
new MyServer("src/main/webapp", 80, "/", 5).start();
也就是说不再用原先的 JFinal.start(...) 了,因为原先的方法本质也是转调的你上面类似的代码