用默认的undertow方式部署的jfinal系统一直没问题,近期自动停止了,重启以后,不到1小时又自动关闭了。排查原因,发现对应的oracle访问的表被锁死了,理论上应该日志报错,而不应该直接停止网站,但是在日志里面也没发现什么问题。处理掉锁死表问题以后,站点没有在关闭。
<!-- jfinal --> <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal</artifactId> <version>4.8</version> </dependency> <!-- jfinal-undertow 开发、部署一体化 web 服务器 --> <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal-undertow</artifactId> <version>2.0</version> </dependency> <!-- oracle 数据库连接 --> <dependency> <groupId>com.github.noraui</groupId> <artifactId>ojdbc8</artifactId> <version>12.2.0.1</version> </dependency>
配置文件
public void configPlugin(Plugins me) {
DruidPlugin druidPlugin = getDruidPlugin();
wallFilter = new WallFilter();// 加强数据库安全
wallFilter.setDbType("oracle");
druidPlugin.addFilter(wallFilter);
druidPlugin.addFilter(new StatFilter());// 添加 StatFilter 才会有统计数据
me.add(druidPlugin);
// 配置ActiveRecord插件
ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
arp.setTransactionLevel(Connection.TRANSACTION_READ_COMMITTED);
// 配置Oracle方言
arp.setDialect(new OracleDialect());
// 配置属性名(字段名)大小写不敏感容器工厂
arp.setContainerFactory(new CaseInsensitiveContainerFactory());
_MappingKit.mapping(arp);
me.add(arp);
}
项目:JFinal