2019-08-26 15:13

@xuxumei 从来没有碰到过这类问题, 建议你升级一下 log4j 版本, 或者使用 jfinal 官网提供的 demo 中的 log4j 这个版本

2019-08-25 11:21

这个是微信服务器在向你的服务器发消息后,发现你并未正确响应,所以微信服务器会重发消息

说白了就是一个重发机制

重发后,你的服务器会多次做日志

2019-08-24 21:57

有很多同学都将 jfinal 的 active record 模块用到 spring boot 中了,并未碰到你的这个问题,应该是好解决的

2019-08-24 21:55

如果是 spring 吃掉的,那就很麻烦,否则你自己的代码要改起来是很容易的

2019-08-24 21:54

@yjjdick1990 在几个 catch 块中设置断点,看异常信息是不是在那里

或许是某个地方吃掉了这些信息,只要找出吃掉的地点,就好解决

这个问题并不难解决

2019-08-24 20:49

出现这个异常,加个配置就好:
UndertowServer.create(MyApp.class)
.addHotSwapClassPrefix("com.jfinal.club.common.bean.")
.start();

文档中有相关说明:
https://www.jfinal.com/doc/1-5

注意看第一小节:《4、类型转换异常、子类对象无法赋值到基类变量》

2019-08-23 22:17

@Mavenjay 不会增加上传压力,只是需要一点存放空间,放完后即可删掉

如果放内存,仍然也是需要资源的,而且放内存更容易爆掉你的 JVM

2019-08-23 18:03

问题是?

2019-08-23 17:41

@playsex 你的 webSocketMap 中已经存放了相关的类,大致这样从服务端发起消息推送:
for (MyWebSocket mws : webSocketMap.values()) {
msw.session.getAsyncRemote().sendText(message);
}

上面的代码是向所有客户端发消息,你也可以通过 id 获取某一个客户端,单独向它来发信息,例如:
webSocketMap.get(sessionId).session.getAsyncRemote().sendText(message);

将上面的代码放在定时器中即可,注意,在定时器中你要有一个对象持有 webSocketMap 这个对象

2019-08-23 17:21

代码很详细,收藏加点击,下次有人问题起 websocket 问题,可以直接发你的分享了

此外,jfinal 建议升级到 4.4, jfinal undertow 建议升级到 1.9

2019-08-23 11:53

可通过 java.io.File 的 renameTo 方法改名:
UploadFile uf = getFile();
uf.getFile().renameTo(new File( 新的文件名));

2019-08-23 11:52

@JPEGIF access_token 是 jfinal weixin 自动缓存的,不用担心超过调用上限

sns_access_token 没有缓存,每次调用都是发起新的请求,这个东东是用于网页授权的,不同的用户给你提供的参数不同,授权完事后短时间内同一账号就不用再授权了,这个不用缓存

2019-08-23 11:47

@Mavenjay 你可以通过配置 me.setBaseUploadPath("/var/temp") 指令默认上传目录,将文件上传到项目之外就可以了

然后用完上传文件,通过 uf.getFile().delete() 删掉就好

2019-08-23 11:45

@思维炮弹 Aop.get(A.class) 能获取 @Inject(A.class) 无法获取,这肯定是你没有从 Controller、Interceptor 这条线一直 @Inject 注入下来