- 博客(23)
- 资源 (8)
- 收藏
- 关注
原创 Flink Native Library xxx is being loaded in another classloader
将taos-jdbcdriver-2.0.38.jar及其依赖包,放入到/opt/java/jdk/jre/lib/ext文件夹下,java工程的pom文件中再把该依赖包的scope设置为provided。将tdengine客户端的jar包放到flink所在服务器的java环境的扩展依赖环境中,这样java应用的依赖就直接使用ext加载的类库,不再自己加载,就能保证不再重复加载。
2024-01-31 09:26:33
490
原创 java协变和逆变
java中的协变和逆变理论,在网络上有很多,但是理解起来需要花费点时间。协变和逆变一般都是作为方法的参数存在的,常常看到PECS理论,exends作为用来限制生产者,super用来限制消费者。使用extends产生协变,传入方法的参数,必须是T的类型或者子类型的集合,此时集合不能add,只能get。如果能够add,那么在调用方法内,如果我add了一个T的子类对象,这个对象类型又跟传入的list中的对象类型 不一样,那么就会导致在调用方法外,出现类型错误。这样就产生了限制生产者的作用。..
2021-05-17 18:11:12
1497
原创 hystrix线程池资源隔离的理解
hystrix作为一款熔断、降级、资源隔离的优秀组件,广泛流行。hystrix如何进行隔离,有线程池隔离和信号量两种方式。信号量隔离相对来说容易理解,他就是一个计数器,显示服务的请求数量,起到了限流的作用。如何理解线程池隔离,我刚接触hystrix的时候就走向了误区。这张图是我们在网上常常看到的,描述hystrix的原理的图。但是,其实这张图并不严谨,会把我们带到一个误区。看到这张图以及网上的讲解,我一开始认为,hystrix会在服务消费方,也就是调用者微服务中,将上游来的请求封
2021-03-31 16:00:11
605
原创 k8s修改ingress默认80端口
有时候80端口被其他服务占用,我们想修改ingress的默认端口kubectl edit daemonset nginx-ingress-controller -n ingress-nginxcontainers: - args: - /nginx-ingress-controller - --default-backend-service=$(POD_NAMESPACE)/default-http-backend - --con.
2020-09-24 17:27:29
6893
原创 rancher中启用startup prob
kube-api: always_pull_images: false extra_args: feature-gates: StartupProbe=true pod_security_policy: false service_node_port_range: 30000-32767 kube-controller: {} kubelet: extra_args: feature-ga...
2020-09-08 16:56:29
262
原创 mysql优化,Using temporary; Using filesort
多表关联时,在order by中使用了非驱动表字段进行排序,会出现Using temporary; Using filesort,此时需要优化。mysql会自动将数据量较小的表设置为驱动表,但是我们排序的字段又不是该表的字段,使用left join,可以阻止小表被优化为驱动表,但是这种方式往往无法满足业务需求。此时使用exists子查询刚好满足需求,可以使该表不再被动的置为驱动表,不再出现Using temporary; Using filesort...
2020-08-17 15:56:20
7724
原创 请求超时问题排查
请求超时问题排查微服务调用一个阻塞连接,需要2到3分钟,但是每次到60秒时,后台出现504 getway timeout问题,初步怀疑是ribbon的超时导致的,检查发现不是,排除;再次怀疑nginx默认的60秒超时导致,发现配置了proxy-read-timeout、proxy-connection-timeout等参数依然无效,在这里还以为是nginx配置的不对,做了很多实验,花了不少时间,依然无效,页面仍然包504。查看nginx错误日志,报一下错误:2020/05/28 10:38:50 [i
2020-05-28 13:12:52
5236
1
原创 jstack是个好东西
产品中使用了 ThreadPoolExecutor创建线程池,遇到两个不够熟悉的地方,记录一下1.coresize是线程池的初始化容量,当加入线程池的任务超过coresize时,首先是向等待队列中增加任务,当队列加满后,才会继续新建线程,但是数量不能超过maxpoolsize。2.我们的多线程任务在执行几天之后会出现activecount一直无法降为0的状况,也就是说有几个线程一直处于挂起...
2020-04-16 13:23:49
201
原创 rancher安装k8s集群
resource name may not be empty,一直报这个问题。查看rancher容器日志,都是这个问题,需要到rancher 页面选择k8s的版本,保存后即可
2020-01-02 10:27:02
2439
1
原创 rancher使用kubectl导入不显示
rancher使用kubectl导入不显示,需要在namespace中修改,指定对应的项目,默认未指定,为空
2019-12-19 11:27:23
873
2
原创 json、base64等细节问题
json中name和value不要用单引号,要用双引号;base64编码默认后面加了个换行,使用echo -n xxxxx|base64 去除换行坑啊魔鬼藏在细节之中
2019-12-19 10:54:41
375
原创 基于Vue的前端微服务-页面刷新404问题解决
最近做的数据资产项目中,使用了前端微服务,各个子微服务能够独立运行,注册到父工程后也能够成为父工程的一个模块,集成之后出现刷新页面404的问题,经过两天的研究,对js的加载执行也有了更深入的了解。解决思路:1.js文件加载顺序执行,前面的script标签先加载,后面的后加载2.js文件加载后立即执行或编译,后面的js文件可以调用前面js文件中的对象3、整个过程是同步的,但是当方法中出现...
2019-12-02 09:15:30
1219
原创 seata分布式事务支持oracle
最近用了seata框架实现分布式事务,在mysql上运行正常,但是我们的系统是再oracle中运行的,虽然seata已经支持oracle,但是官方没有提供demo,也没有文档,一切都是摸索着进行。目前遇到以下几个坑:1.undo_log表需要建立一个序列2.框架默认的jackson序列化方式,不支持oracle的timestamp字段序列化,需要改成kryo期望官方能够尽快完...
2019-11-14 18:07:47
2343
5
原创 vue-cli3关闭代码分割
升级到vue-cli3之后,默认编译是对代码进行分割,会生成许多chunk,有利于页面加载速度。但是如果我们编译后的结果需要给第三方使用,比如前端微服务,这个时候,只提供一个js文件和css文件将更加方便也更加合理。关闭方法:vue.config.js文件中 config.optimization.delete('splitChunks') //关闭代码分离,只生成一个j...
2019-06-11 11:18:05
4743
1
原创 基于Vue的前端微服务
1.微服务前端微服务的架构是什么样的?我们可以先来看看后端的微服务实现。一个大的系统被切分成一个个小的模块,而且还可以独立部署,独立对外提供接口服务。大部分返回的数据是json格式。这样的架构的好处是:某个模块的改动,不会影响(或者影响很小)其他系统模块;另一方面返回统一的数据结构,不同的客户端(pc、android、ios、html5)可以共用同一个接口;第三,微服务划分使得分布式扩展,...
2019-06-10 11:25:52
18526
2
原创 docker镜像制作异常standard_init_linux.go:207: exec user process caused "no such file or directory"
异常:standard_init_linux.go:207: exec user process caused "no such file or directory"原因:window下创建shell脚本,copy至docker镜像中,镜像是基于linux系统的,由于windows和linux对换行对应的转移符处理的不同,导致报此异常处理方式:1.RUN tr -d '\r'</us...
2019-02-22 18:25:43
8941
原创 activiti5.21中调用活动(callactivity),在多实例(multi-instance)情况下,子流程无法返回值到主流程
activiti工作流callactivity多实例情况下,activiti:out子流程无法返回值到主流程的问题解决
2016-11-10 16:28:05
14125
3
转载 解决Windows 7下Firefox下载入Localhost网站超慢办法
解决Windows 7下Firefox下载入Localhost网站超慢办法本人喜欢Firefox在调试,默认的调试工具很方便,Firebug更是大名鼎鼎...只是自从用了windows7后用firefox打开localhost下的网站载入超慢,近日终于找到解决办法:-----------------------------------------------------
2015-07-13 11:25:47
382
转载 设置jfreechart时间序列图时间轴间距和格式
设置jfreechart时间序列图时间轴间距和格式 为了使得时间序列图的时间轴按照一定间隔显示,例如12:05 12:10 12:15 12:20 12:25 ......这样每隔5分钟显示一个点 需要如下设置才能做到: SimpleDateFormat frm = new SimpleDateFormat("k:mm");
2015-06-02 11:47:31
1613
原创 Page-encoding specified in XML prolog (UTF-8) is different from that specified in page directive (ut
报这个错的原因千奇百怪,因为Unicode可以采用16位或者32位编码,所以计算机在处理时需要知道其字节顺序,BOM就是用来标识字节流的字节顺序的,但字节顺序这个概念对UTF-8来说是没有意义的,所以BOM对UTF-8同样没有意义。但Unicode标准却BOM在UTF-8编码格式中存在。其存在位置在文件开头,以三个字节0xEF, 0xBB, 0xBF表示。UTF-8编码
2014-11-19 14:01:49
820
原创 oracle9i的sys用户登录
最近在linux上装了一个oracle9i,在使用sqlplus登录的时候,出现了一个迷惑的地方,现在记录下来,好记性不如烂笔头啊。。。一直以来都认为,使用sys用户登录后面应该加一个as dba,就是说应该使用dba的身份登录。但这次发现登录这个linux上面的oracle不加as dba也能登录C:\Documents and Settings\Administrator>sqlplu
2013-05-13 10:10:55
1168
原创 spring中ioc,aop和java代理技术的关系
spring中的核心就是ioc和aop技术了,其中ioc是依赖注入,是个容器。aop是面向切面编程,就是在不改变源代码的情况下,向其中增加一些功能,这主要用到了java的代理技术。同时ioc也是aop的前提,面向接口编程,控制反转,将各个类之间的关系解耦。所以spring容器在运行时将bean对象装配起来,容器可以给它装配一个原生的对象,也可以给它装配一个原生对象的代理对象,这就实现了aop面向切
2013-04-22 11:43:31
566
MultiInstanceActivityBehavior
2016-11-11
ADO.NET高级编程.pdf
2010-01-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人