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