用默认的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