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启动应用;

2021-02-25 15:41

@flash866 此类安全问题可以通过多用户进行隔离,即每个用户启动自己的实例。旁注问题主要与部署用户及用户权限设置有关。业界一般都是通过用户隔离解决。

2021-02-22 16:53

是的,速度特别快,特别需要注意的是,填充的文本不要出现一些特殊字符,否则导致doc打不开。doc->xml后,我用Open XML SDK 2.5 Productivity Tool for Microsoft Office,一般人我不告诉他。

2021-02-19 18:32

import org.apache.jasper.deploy.TagLibraryInfo;
import io.undertow.jsp.HackInstanceManager;
import io.undertow.jsp.JspServletBuilder;

UndertowServer.create(AppConfig.class).configWeb(wb -> {
wb.getDeploymentInfo().addServlet(JspServletBuilder.createServlet("Default Jsp Servlet", "*.jsp"));

HashMap tagLibraryInfo = new HashMap();
JspServletBuilder.setupDeployment(wb.getDeploymentInfo(), new HashMap(), tagLibraryInfo,
new HackInstanceManager());
}).start();

2021-02-19 18:29

https://jfinal.com/doc/1-5

2021-02-17 16:28

Caused by: java.lang.ClassNotFoundException: hqzn.common.config.MainConfig

2021-02-08 12:05

攒个大招~ 过年期间好好学习~

2021-01-21 11:48

@zzutligang @lcmkc 还是有意义的,比如我有过类似的应用经历,启动了多个,并且定时一个一个去重启。Nginx会自动识别后端正常在运行的应用。其实也是偷懒的办法,不想解决根本问题,目前此方法线上稳定跑了一年多。 实用就好,

不折腾!

2021-01-21 11:43

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd"
updateCheck="false" monitoring="autodetect"
dynamicConfig="true">


updateCheck="false"



是不是这个有问题?

2021-01-07 19:03

看着Jfinal一路向前走,希望越来越好。