默认undertow部署的jfinal访问锁死的oracle表会导致站点直接关闭

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


评论区

热门反馈

扫码入社