在最近的项目开发中,涉及到了审批人在审批时,需要动态的指定审批人。在目前最通用的方案就是在涉及流程的时候,审批人通过变量的方式指定,然后审批人在审批的时候,动态传入审批人即可。但是这种方式比较大的问题,没办法覆盖所有的场景,当场景比较灵活的时候,对流程的设计有比较高的要求。因此就开始调研能否通过代码的方式动态创建任务节点。

1月 14, 2023 1条评论 34点热度 1人点赞 阅读全文

在最近的项目开发中,有一个需求为获取未审批节点的信息。在我们系统中,流程图没有特别的节点,主要包含了并行网关、排他网关、任务节点这几种类型的节点。因此在获取未审批节点的时候,就没有其他的业务处理逻辑。该问题作为记录,以便日后使用。

12月 9, 2022 1条评论 56点热度 1人点赞 阅读全文

最近在做项目,有个需求为根据订单的详情生成pdf并能够支持pdf的预览功能。为了能够简单的实现功能,就使用了浏览器自带的预览pdf功能实现。

11月 6, 2022 0条评论 370点热度 2人点赞 阅读全文

在 mybatis mapper运行原理 和mybatis Configuration初始化源码分析中,我们学习了在mybatis初始化的过程中以及创建mapper的时候做了些必要的事情,其中作为扩展点主要在于Interceptor拦截器的实现,通过拦截器我们可以对mybatis查件操作扩扩展处理,比如可以通过拦截器实现分页查询信息, 以及其他数据权限相关的配置。今天这篇文章主要介绍拦截器的一些用法,以及拦截器的使用。

10月 16, 2022 0条评论 206点热度 2人点赞 阅读全文

在前面的章节中,我们学习了mapper接口代理对象是如何生成的,知道了mapper使用了jdk的动态代理技术生成,这篇文章将探讨mapper是如何运行的,在运行过程中都做了哪些事情。 MapperProxy 在前面的源码分析中可以知道,这个类是一个InvocationHandler的实现,代理对象执行的时候,最终会执行到该类的invoke()方法,因此我们直接探讨下该类的方法实现。 invoke() public Object invoke(Object proxy, Method method, Object[]…

10月 6, 2022 1条评论 229点热度 1人点赞 阅读全文

在前面的章节中我们探讨了configuration类型的加载过程,过程执行还是很清晰的,今天这篇文章我们主要从源码的角度探讨mapper的工作原理,更深入一次的了解mybatis框架,也为后面我们深入了解在mybatis上扩展的框架打下基础。

10月 5, 2022 1条评论 195点热度 1人点赞 阅读全文

在上一篇文章中,我们记录了[mybatis的基础用法](./mybatis的基础用法.md),这里我们将主要探讨下mybatis mapper的生成原理,主要查看mybatis是如何加载xml配置文件、类与类之间的关系、以及mapper如何创建。因此我们带着好奇心开始探讨mybatis吧。

10月 4, 2022 0条评论 242点热度 1人点赞 阅读全文

mybatis在日常开发中是很常用的功能,mybatis整体在使用上属于半自动的工具,我们可以通过自定义sql的方式满足日常开发需要,同时自定义sql也让我们对sql优化有了更好的把控。今天这篇文章主要记录mybatis的基础使用,为以后对mybatis的原理实现做一个基础铺垫,便于由浅入深。

10月 3, 2022 1条评论 145点热度 1人点赞 阅读全文

今日在公司负责公司支付业务模块,因为银行系统主要采用XML的报文格式,因此在不想做XML拼接的情况下,使用了Jackson作为xml报文与Bean之间的互相转换关系,但是在使用到集合形式的数据转化时,却和我期望的结果有比较大的差异,因此这边文章作为记录,希望可以帮到其他有需要的小伙伴。

9月 24, 2022 1条评论 305点热度 1人点赞 阅读全文

在JAVA开发过程中, 我们经常会使用到ThreadLocal类,该类主要用于存储于线程相关的数据,并且数据只能够通过线程获取。其他线程是无法拿到数据的。但是有这么一个场景,父线程创建了一个子线程,希望子线程能够共享父线程ThreadLocal中的变量数据,这应该怎么做呢? InheritableThreadLocal 在JAVA中,有InheritableThreadLocal这个类,该类根据名称就可以知道,其实就是可继承的ThreadLocal. 下面我们通过实例的方式查看该类应该怎么使用。 public cl…

4月 5, 2022 0条评论 590点热度 2人点赞 阅读全文

最近在做业务开发的时候,线上出现了定时任务实行失败的异常,查看日志,最主要的原因是提示: connection holder is null, 经过代码排查了,是由于druid的连接池导致,所以记录下这个原因排查详细过程。 环境配置 由于之前的项目是比较老的,所以对druid的版本相对要老一点,使用的是1.1.7版本,具体maven如下: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid<…

3月 26, 2022 0条评论 1038点热度 2人点赞 阅读全文