2023-05-20 18:58

Mark. 多租户必须用到~

2023-03-26 17:43

实用,比我一顿转简洁多了。

2022-09-01 18:59

感谢分享,这个需求其实还是蛮正常的,尤其是对url有执着要求的时候。

2022-07-21 09:31

应该是写文件时没有正确close掉流。导致一直占用。

2022-05-11 17:07


1,遍历所有attr属性,可以得到所有。



2,如果是HtmlRender,可以自己继承一个Render,重写render逻辑,把里面的text拿出来过滤。再塞回去。JsonRender同理。

2022-03-15 11:00

貌似不需要这么麻烦,把他的这个SystemOutWriter控制台内容收起来就是你想要的了。看看海哥写的启动脚本。function start()
{
# 运行为后台进程,并在控制台输出信息
java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} &

# 运行为后台进程,并且不在控制台输出信息
# nohup java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} >/dev/null 2>&1 &

# 运行为后台进程,并且将信息输出到 output.log 文件
# nohup java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} > output.log &

# 运行为非后台进程,多用于开发阶段,快捷键 ctrl + c 可停止服务
# java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS}
}

2021-06-25 16:20

解决办法估计得重新生成model

2021-06-25 16:19

mysql-connector-java 8.0.22==>8.0.23+版本后,会出现这问题

2021-05-23 21:04

最近项目需要优化一下性能,原有项目代码写得较为粗放(一直放任程序员自由实现,只要求程序员用Jfinal把功能实现),现在终于要还账了。说回代码,原有代码基于Jfinal,缓存加入了Redis,session共享也基于undertow扩展了一个类实现了,但用redis缓存那块代码太多的重复代码,if 缓存没有else加入缓存之类的代码,看着这样的代码,脑袋嗡嗡响。

因为前期用jboot实现过一个小的程序,发现Jboot现在文档较为完善,找不到或不太懂的,直接看看源码就明了,更重要的是,Jboot对于Jfinal的扩展做得非常好,完全兼容。@海哥 对于Jboot倾注的心血和勤奋从版本更新的频率就能表现,在此真心赞一个。

因此,这次决定直接集成Jboot进来,有如下几个好处:1,完全兼容原有Jfinal项目,除了增加一个启动类implements JbootAppListener,代码几乎0修改;2,jboot版本更新及时,后续再也不用手动去升级jfinal版本了,特别是其它相关依赖包,且集成功能已经比较完善了;3,缓存等组件的使用更便捷,完全干掉原有使用缓存代码的if else之类的,省掉大量的代码,清爽; 后续会逐步把session共享等功能用起来,干掉现有的同类代码就OK了。

目前还在集成过程中。。。

2021-03-07 00:37

如果是有 body 体的指令,必须覆写 hasEnd 方法并返回 true; 这个太狠了,没注意指令一直报空指针,死活看不出哪里异常了。终于搞定了。❤

2021-03-05 00:56

👍👍👍👍`.` 必须得带上这前后的`

2021-02-26 17:50

@124653847atqq.com 可以自己实现一个RedisSessionManager实现,原代码不用任何修改。启动中增加一名builder.getDeploymentInfo().setSessionManagerFactory(new RedisSessionManagerFactory());即可搞定。

2021-02-26 16:16


1,新建一个SessionManagerFactory实现


public static class YourSessionManagerFactory implements SessionManagerFactory {
@Override
public SessionManager createSessionManager(Deployment deployment) {
return yoursessionManager;
}
}


2,在UndertowServer启动中配置上去.


UndertowServer.create(Xxx.class).configWeb(builder -> {   
builder.getDeploymentInfo().setSessionManagerFactory(new YourSessionManagerFactory());
}).start();






3,可能遇到的问题,如果session中保存有对象, request.getSession().getAttribute("xxx")转换时出现


java.lang.ClassCastException


的异常,请看看是否是由于ClassLoader不一致造成。常见如下:



com.jfinal.server.undertow.hotswap.HotSwapClassLoader@xaxx000



sun.misc.Launcher$AppClassLoader@9x9ssdf



简单粗暴的解决办法是关掉undertow开发模式,undertow.devMode=false

2021-02-26 14:21

@flash866 应用A,新建linux用户usera,应用A启动目录为/home/usera/app1,执行/home/usera/app1/start.sh启动应用;应用B,新建linux用户userb,应用A启动目录为/home/userb/app2,执行/home/userb/app2/start.sh启动应用;