rule-engine-open
发表于|更新于
|浏览量:
朴素是美的必要条件。——列夫·托尔斯泰
分享一个开源规则引擎项目:
https://gitee.com/aizuda/rule-engine-open


相关推荐
2021-07-10
mybatis-plus防止全表更新与删除
宁要好梨一个,不要烂梨一筐。积极肯干和忠心耿耿的人即使只有两三个,也比十个朝气沉沉的人强。——列宁 我们可以如下配置 12345678910111213@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL); // 阻止全表更新与删除 BlockAttackInnerInterceptor blockAttackInnerInterceptor = new BlockAttackInnerInterceptor(); // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false paginatio...
2024-12-21
apache-cassandra
生活的情况越艰难,我越感到自己更坚强,甚而也更聪明。——高尔基 Github: https://github.com/apache/cassandra/ 官方文档: https://cassandra.apache.org/ 最近开始接触Apache Cassandra,这是一款开源的分布式NoSQL数据库,特别适合处理大量结构化数据,具有高可用性和无单点故障的特点。听说它采用了Dynamo和Bigtable的架构设计,存储模型是基于列的,非常适合需要快速写入和查询的场景,比如时间序列数据、物联网应用等等。 先简单说说安装,直接从官网下载二进制文件,解压后进入bin目录,运行cassandra即可启动。第一次运行时需要初始化数据目录,默认情况下配置文件在conf目录下,建议先熟悉一下里面的参数,特别是cassandra.yaml,很多关键配置都在这里。如果是用Docker,也可以直接拉取官方镜像,运行一条简单的命令就可以启动一个容器,非常方便。 使用Docker运行也很简单,拉取官方镜像: 1docker pull cassandra 启动一个Cassandra实例: 1...
2023-03-01
mybatis一对多查询
想认识人,解剖自己就好——杜克罗 官方文档 书接上文:mybatis流式查询 分享mybatis的结果映射配置的一对多查询方式: 123456789101112131415161718<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.ruben.mapper.UserMapper"> <resultMap id="userInfo" type="com.ruben.pojo.po.UserInfo"> <collection property="...
2021-11-19
TransmittableThreadLocal
我们一直寻找的,却是自己原本已经拥有的;我们总是东张西望,唯独漏了自己想要的,这就是我们至今难以如愿以偿的原因——柏拉图 分享一个TransmittableThreadLocal作为InheritableThreadLocal的拓展 出自阿里,github地址: 1https://github.com/alibaba/transmittable-thread-local 部分描述: JDK的InheritableThreadLocal类可以完成父线程到子线程的值传递。但对于使用线程池等会池化复用线程的执行组件的情况,线程由线程池创建好,并且线程是池化起来反复使用的;这时父子线程关系的ThreadLocal值传递已经没有意义,应用需要的实际上是把 任务提交给线程池时的ThreadLocal值传递到 任务执行时。 本库提供的TransmittableThreadLocal类继承并加强InheritableThreadLocal类,解决上述的问题,使用详见User Guide。 整个TransmittableThreadLocal库的核心功能(用户API与框架/中间件...
2022-07-04
reducing和reduce
我的悲伤还来不及出发,就已经到站下车。——《第七天》 在java中,分为Collectors.reducing和Stream#reduce reduce是减少的意思,此处意为聚合 聚合是聚拢、合并的意思 我们来看看这俩函数的区别吧,下方我用了静态导入: 1234567import java.math.BigDecimal;import java.util.*;import java.util.function.BinaryOperator;import java.util.stream.Collector;import java.util.stream.Stream;import static java.util.stream.Collectors.*; 首先是写法差异,对于只有一个参数的,这个参数指定了我们聚合的操作,此处我做一个累加,返回值为Optional证明有可能不存在值,就没有累加 1234Optional<Integer> sumOpt = Stream.iterate(0, i -> ++i).limit(10).collect(reduci...
2020-11-08
建造者模式
外观往往和事物的本身完全不符,世人都容易为表面的装饰所欺骗。——《威尼斯商人》 这两天开发中用到了建造者模式,写起来感觉挺爽的 以前我们创建一个javabean 12345678910111213141516171819202122232425262728293031/** * 自定义pojo */public static class Teacher { private String name; private Integer age; @Override public String toString() { return "Teacher{" + "name='" + name + '\'' + ", age=" + age + '}'; } public Strin...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog