记录下Tomcat升级9.0.45引起的400问题
升级版本 目前使用版本:Tomcat9.0.37 升级版本:Tomcat9.0.45 升级后现象 IE浏览器下面出现白屏,静态资源(css、js等)全部出现400错误,刷新页面也一样,但是禁用浏览器缓存问题就消失了。 其他浏览器在第一次访问的时候也有类似现象,但是刷新页面就好了。 问题排查 对比请求 IE浏览器下开启和关闭缓存现象不一样,只有在开启…
使用微软CodePush动态更新Cordova APP
使用微软CodePush动态更新Cordova APP code-push是微软提供的一套用于热更新 React Native和 Cordova应用的服务,微软的appcenter提供更新服务,也可以自己搭建服务器code-push-server。 https://microsoft.github.io/code-push/ https://app…
微信公众号平台单点登录开发
微信公众号平台单点登录开发 微信公众号平台地址: https://mp.weixin.qq.com/ 公众平台服务号、订阅号、企业微信以及小程序的相关说明地址(区别): https://kf.qq.com/faq/120911VrYVrA130805byM32u.html 不同类型的微信公众号接口权限: https://developers.wei…
使用Swagger Hub在线生成Java客户端代码
使用Swagger Hub在线生成Java客户端代码 首先本地已经有服务端提供的yaml配置文件,然后可以到swaggerhub网站上在线操作。 注册并登陆 地址:https://app.swaggerhub.com/ 需要先注册账号并登陆 导入yml文件 选择Import and Document API,可以从本地选择文件上传到服务器。 配置客…
记录一下Spring同类异步调用
记录一下Spring同类异步调用 Spring默认情况下对于@Async和@Transactional等方法调用只在代理类的情况下有效,例如A类调用B类的加了注解的xxx方法可以,但是B类的其他方法调用B类的加了注解的xxx方法就不行,不能拦截到并开启事务或者异步。 配置方式 关键代码:@EnableAspectJAutoProxy(exposeP…
@Async开启Spring异步调用
@Async开启Spring异步调用 ​ 在springboot环境可以通过@EnableAsync + @Async两个注解实现异步,必须使用@EnableAsync 开启,否则@Async不会生效。 配置方式 使用JavaConfig简单配置: @Configuration @EnableAsync public class DefaultAs…
使用swagger-codegen生成Java客户端
使用swagger-codegen生成Java客户端 Swagger介绍 Swagger 是一款RESTFUL接口的、基于YAML、JSON语言的文档在线自动生成、代码自动生成的工具。 使用Swagger规范开发的接口,使用swagger的json/yaml格式的定义文件作为接口定义,类似以前的wsdl定义文件,包含接口方法以及一些模型对象定义。 …
Java中的AES加密解密
Java中的AES加密解密 AES介绍 什么是AES 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(N…
Rabbit MQ动态创建多个队列和监听多线程处理
Rabbit MQ动态创建多个队列和监听多线程处理 问题背景 最近公司有个订单同步和处理需求,A系统有新建订单,添加产品等一系列操作,需要同步到B系统,我们使用了Rabbit MQ中间件,A系统中在订单创建、修改等操作完成之后发送消息到Rabbit MQ,然后B系统消费消息,调用接口获取数据并把订单信息保存下来。 消息是有顺序的,要保证消息顺序消费…
记录下Android SDK 版本对应关系
记录下Android SDK 版本对应关系 原文地址: https://developer.android.google.cn/studio/releases/platforms?hl=zh-cn Google Android文档: https://developer.android.google.cn/docs?hl=zh-cn 下面列出的修订版…