今天使用JSONObject.toJavaObject()方法试图将一个JSONObject对象装换为指定class对象,该对象属性如下所示 private Integer ID; private String fertilizerSiteName; private String userName; private Boolean sendOk; 转换后发现ID字段一直为null,然后我们跟踪代码发现,fastjson通过获取set开头的方法,然后通过字符串截取来获取属性(见com.alibaba.fastjson.util.DeserializeBeanInfo的DeserializeBeanInfo computeSetters(Class<?> clazz, Type type)方法),因为正常的命名习惯都是set然后属性首字母大写,正常这么写是没有问题的,不过这里我们的ID都是大写,他这里默认截取后首字母小写ID,就变成了iD再来做映射的时候就找不到字段了,代码如下 if (methodName.startsWith("set")) { char c3 = met..... JSONObject.toJavaObject对首字母大写的属性设置失败 java
1、查看所有端口使用情况 netstat -ano 2、查看指定端口占用情况 netstat -ano|findstr "5037" 3、杀死进程 taskkill -f -pid 22144 windows端口占用 服务器
1、开启通信配置 sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'Ole Automation Procedures', 1; GO RECONFIGURE; GO EXEC sp_configure 'Ole Automation Procedures'; GO 2、创建请求函数 CREATE FUNCTION dbo.HTTP_POST_FUNC( @URL VARCHAR(256), @DATA VARCHAR(2000), @REQ_H_ACCEPT VARCHAR(256), @REQ_H_CONTENT_TYPE VARCHAR(256) ) RETURNS VARCHAR(5000) AS BEGIN DECLARE @object int, @returnStatus int, @returnText varchar(5000), @errMsg varchar(2000), @httpStatus varchar(20); /* 初始化 */ EXEC @return..... SQLServer的HTTP请求功能 SQLServer
1、简介 Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据 更多信息可以参考官网:https://www.elastic.co/cn/what-is/elasticsearch/ 2、JDK 不同版本的Elasticsearch需要不同版本的JDK 支持详情见:https://www.elastic.co/cn/support/matrix#matrix_jvm 3、下载安装 我下载了linux的7.11.0版本,这个版本需要JDK11支持 版本列表见:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 4、解压安装 在opt目录下解压安装直接解压安装即可 5、配置 5.1、访问地址配置 在elasticsearch的config目录下有个elasticsearch.yml文件,将IP配置为本机IP,端口使用默认端口,配置localhost会导致外部无法访问 network.host: 10.116.8.56 5.2、..... elasticsearch基础--linux安装 Elasticsearch
1、基本概念 1.1、服务雪崩 微服务架构中,一个系统被拆分成多个子服务,这些服务之间存在相互调用关系,某个服务不可用之后,导致调用它的服务不可用,最终导致整个服务链崩溃,就出现服务雪崩。 预防服务雪崩有以下几个方案: 服务熔断:某个服务崩溃后,暂停对该服务的调用; 服务降级:对不是很关键的服务来说,当服务负荷过高或响应过慢,则关闭对该服务的访问,返回一个定义好的兜底数据,等服务负荷降低在开放对该服务的访问; 服务限流:不是核心的服务可以使用服务降级来处理,但是核心的服务一定要保证能够正常访问,因此我们对服务进行限流处理,限制他的并发和请求量,保证服务能够正常运行。 2、Sentinel简介 sentinel是一个轻量级的流量控制、熔断降级Java 组件,是分布式系统的流量防卫兵; Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 更多信息可以参考sentinel的github地址 3、下载安装 在sentinel版本列表上下载自己需要的版本的jar包,然后java -jar启动成功就可以访问了,默认端口是8080,用户名密码都是sent.... sentinel nacos
1、简介 AT 模式(参考链接 TBD)基于 支持本地 ACID 事务 的 关系型数据库 : TCC 模式,不依赖于底层数据资源的事务支持。 2、建立项目 TCC模式的maven依赖引入,项目配置和AT模式相同,可以参考seata+nacos实现AT模式分布式事务的第2节,完成代码到git上下载,TCC模式在tcc分支下,脚本在script目录下(和AT模式的数据库脚本一致,选择一个执行即可) https://gitee.com/WylLoveX/seata.git 3、使用 TM端依然使用@GlobalTransactional注解标识 RM端需要单独标识出来 @LocalTCC将资源注册到TC @TwoPhaseBusinessAction 将资源标时为二阶段提交的try阶段,这里需要在指定二阶段对应的Confirm和Cancel @BusinessActionContextParameter标时这个一个二阶段参数,后续可以在BusinessActionContext中获取 /** * @author Mr.Wen * @version 1.0 * @date 2021-10-25.... seata+nacos实现TCC模式分布式事务 java