- 博客(18)
- 资源 (4)
- 收藏
- 关注
原创 记一次nodejs的https调用问题
记一次nodejs的https调用问题关键字:nodejs、https、ssl,前端、后端【问题描述】:-前端和后端都使用nodejs, -都是httpsserver -前端调用后端,使用axio发起请求,因为请求URL为https路径,结果总是报ERR_CERT_AUTHORITY_INVALID错误.浏览器日志如下:Failedtoloadresource:net::ERR_CERT_AUTHORITY_INVALID问题出现了,发起冲锋...
2020-08-05 21:09:49
1026
1
原创 BPMN2.0的事件与图形表示
BPMN2.0中事件的图形表示由一个圆环和内部图标组成。圆环环数圆环的环数表示是终端事件还是中间事件一环: 表示终端事件(开始、结束)细线表示开始粗线表示结束二环: 中间事件环线实虚实虚表示是否中断。实环线: 可中断 interrupting作为边界事件时,如果被触发,其关联的Activity必须中断。虚环线: 不可终端 non interrupting作为边界事件时,如果被触发,其关联的Activity不用中断。图标图标类型圆环里面的图标为具体的
2020-06-18 15:19:58
1633
原创 flowable工作流源码解析-DB访问
Flowable用了mybatis组件,又实现了自己的command和interceptor机制。具体是怎么实现的呢?我们以Deployment操作为例,来看看它的调用链调用端是Service接口, 它委托自己的commandExecutor去执行具体的Command. Command最终会调用到EntityManager,然后委托给ibatis的sqlsession来完成操作。其中CommandExcutor调用command的地方有些复杂,我们展开看:CommandExecutor会维护一系
2020-05-19 13:32:13
2381
原创 简析flowable流程引擎的创建
Overviewflowable流程引擎支持以下三种方式来进行引擎创建:普通文件加载方式 : 通过代码加载flowable.cfg.xml和flowable.context.xml来创建引擎。Spring方式: 通过容器生命周期LifeCycle回调,加载上述文件来创建引擎。Springboot方式: 通过auto-configure机制自动加载配置,创建引擎。本文主要来解释一下springboot这种方式。流程引擎创建flowable与springboot集成的方式中,配置的核心文件就是
2020-05-16 16:21:51
1540
原创 Spring 中 @Bean修饰的方法中的参数是什么意思?
先看一个例子...public class ProcessEngineAutoConfiguration extends AbstractSpringEngineAutoConfiguration { ... @Bean @ConditionalOnMissingBean public RepositoryService repositoryServiceBean(ProcessEngine processEngine) { return processE
2020-05-16 12:56:43
2289
1
原创 Spring application.properties的注入
Spring application.properties的注入方法OverviewSpring提供了如下几种方式读取application.properties的配置:@Value@ConfigurationProperties@Component + @ConfigurationProperties@EnableConfigurationProperties + @ConfigurationProperties@Value@Value被Spring用来直接注入配置文件的属性值,
2020-05-15 11:12:28
860
原创 Spring的对象实例化
OverviewSpring实例化对象,主要通过三种方式:@ComponentapplicationContext.xml@Configuration + @Bean@Component现在开发最常用的方式, 通过标注声明告诉Spring容器,让其扫描时将其实例化。主要标注为@Component,以及它的别名@Service,@Controller, @Resource, @Repository等。Spring会扫描@ComponentScan(basePackages={
2020-05-14 17:03:30
1388
原创 工作流的应用场景
什么是工作流工作流属于计算机支持的协同工作(Computer Supported Cooperative Work,CSCW)的一部分。Georgakopoulos给出的工作流定义是:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完成。工作流管理联盟(Workflow Management Coalition,WfMC)对工作流给出定义为:工作流是指一类能够完全自动执行的经
2020-05-13 15:04:00
5701
1
原创 flowable工作流初探
安装flowabledocker run -p 8080:8080 flowable/all-in-one或者直接访问这里:用户中心流程开发中心任务中心管理中心用户名密码:admin/testDemo开发教程利用下面的教程开始您的工作流之旅吧!工作流Demo教程All in one with docker...
2020-05-12 15:29:42
516
原创 断路器Hystrix的实现机制
什么是断路器?在分布式服务调用中,为了提高稳定性,通过对调用行为进行监控并提供动态降级、熔断、自动恢复等保护功能的组件被称为断路器。Hystrix断路器是netflix开源的一个组件, 被集成在SpringCloud套件中。Hystrix提供了两种资源隔离方式:线程池、信号量。默认是线程池方式,本文探讨的也是线程池方式的实现。在讨论Hystrix的实现机制之前,您需要熟悉以下3个概念:...
2020-05-05 14:56:50
540
原创 RxJava的线程切换Observable.subscribeOn
什么是subscribeOn?是Observable的一个方法,它通过将数据生成逻辑委托给一个线程调度器来实现数据的异步生成。测试情况一:不切换线程 Observable.just(1).doOnSubscribe(() -> { System.out.println("subscribe in thread:" + " " + Thread.c...
2020-05-05 14:32:06
1096
原创 Java线程池的数据传输
Java线程池ThreadPoolExecutor有两个重要的方法execute和submit.解释如下:execute : 异步运行任务,没有返回值。submit : 异步运行任务,有返回值。既然是异步运行,如何获取返回值呢?submit方法通过FutureTask对象返回任务返回值。ThreadPoolExecutor.submit接口定义如下:public interfa...
2020-05-04 11:13:15
990
原创 如何理解RxJava中的Observable.defer
什么是Observable?Observable是一个对象,代表着被观察的数据方, 数据发布者,数据产生者,它会产生数据供消费者消费。什么是DeferDefer是延迟的意思。Observable.defer是通过延迟创建数据生产者(Observable)的方式延迟数据生产的时间。直到注册的时候才开始生产数据.通过如下代码来测试一下使用了defer之后的效果。import rx.Obs...
2020-04-30 14:34:55
2739
原创 如何理解Java线程池的资源隔离
什么是线程池线程池是一个线程管理器,它通过管理一组工作者线程来达到:线程复用资源限制的目的。线程的资源分配线程自身拥有的资源很少,除了运行中必不可少的资源(寄存器,栈,程序计数器等),其他所用到的大部分资源,都属于进程,与同一个进程的其他线程共享。线程池隔离既然线程本身的资源很少,如何用线程池来隔离资源呢?准确的说,线程池是通过限制线程数,来对资源使用进行限制,而不是隔离...
2020-04-29 15:41:40
2514
原创 简单理解响应式编程RxJava
什么是RxJava?RxJava是一种基于观察者模式的响应式编程框架。举个简单的例子,一般风格:System.out.println(“abc”);RxJava响应式编程风格:Observable.just(“abc”).subscribe(System.out::println);怎么来理解这个东西?我们先来看一下这个一般风格,它包含三部分:+---------+ +--...
2020-04-28 17:03:36
280
原创 为什么使用Base64
##什么是Base64?是一种基于64个可打印字符来表示二进制数据的表示方法。在MIME格式的电子邮件中,使用的字符包括大小写拉丁字母各26个、数字10个、加号+和斜杠/,共64个字符,在日常使用中我们还会看到“=”或“==”号出现在Base64的编码结果中,“=”在此是作为填充字符出现.##为什么要使用Base64?我们都知道计算机系统之间通过二进制字节流传输数据,这就需要双方有对应...
2020-04-24 16:21:53
608
原创 Java随想:如何重载hashCode方法?
hashcode是什么?在Java对象中,hashcode可以看作是每个对象实例的一个整型索引。有三个特点:散列int型一致性默认值是对象实例的内存地址。使用场景hashmap中key的定位为什么需要hashcode?提高查询/定位效率。为什么这么设计hashcode?整型易于定位。散列不易冲突。一致性,同一个实例对象,hashcode需要保持不变。什么场景...
2020-04-23 11:30:17
554
原创 Java探幽:1+1=2是怎么运行的?
本文通过一个简单的Java程序,来学习一下Java程序的执行内部过程。程序功能非常简单,就是计算1=1=2,代码如下:public class JavaGo { public int add(int i1, int i2) { return i1 + i2; } public static void main(String[] args) { ...
2020-04-20 16:15:42
1721
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅