
Java
文章平均质量分 78
aduocd
这个作者很懒,什么都没留下…
展开
-
搭建SpringBoot工程时采坑了
每次从零创建一个SpringBoot工程,总是在配置时遭遇各种莫名错误。网上各种搜查,一些能解决一些还是只能求助其他人解决。这里简单记录下遇到的小坑,便于以后查看吧。原创 2022-10-20 17:32:08 · 478 阅读 · 0 评论 -
初始Seata(四)
目录1.背景2.账户服务1)pom.xml2)配置文件3. 测试1)正常场景2)异常场景1.背景书接上回初始Seata(三),继续账户服务模块的代码。2.账户服务目录结构java com.seata.account config controller dao entity service resources mapper(package) application.yml file.conf registr原创 2022-03-14 17:14:42 · 1110 阅读 · 0 评论 -
初始Seata(三)
目录1.背景2.库存服务1)pom.xml2)配置文件1.背景书接上回初识Seata(二),继续库存服务模块的代码。2.库存服务目录结构java com.seata.storage config controller dao entity service resources mapper(package) application.yml file.conf registry.conf 1)pom.xml这部分原创 2022-03-14 15:38:26 · 1288 阅读 · 0 评论 -
初识Seata(二)
目录1.背景2.环境3.业务模型4.数据库准备1)订单库2)库存库3)账户库5.微服务准备1)pom.xml2)注册中心准备3)订单服务1.背景书接上回:初识Seata(一),本文以一个Seata AT模式为例,介绍Seata的使用。2.环境SpringBoot 2.1.2.RELEASE SpringCloud Greenwich.SR1 spring-cloud-alibaba-dependencies 2.1.0.R原创 2022-03-14 11:48:41 · 1738 阅读 · 0 评论 -
初识Seata(一)
目录1.背景2.问题的由来3.术语4.安装5.参考资料1.背景前一阵粗浅地研究了一下Seata,一直没有时间记录,拖了很久还是回想一下,简单记录一个吧。2.问题的由来通常,事务要满足的4个属性:原子性、一致性、隔离性、持久性。在单体应用的时候,数据库和应用都在一处,事务的属性大多由数据库来保证。但自从微服务工程兴起,就出现一个业务可能操作多个数据库,多张表的情况。那么问题来了,此时的事务4属性该如何保证呢。于是,就出现了Seata。Seata是一款开源的分布式事务解决方案原创 2022-02-14 20:01:57 · 492 阅读 · 0 评论 -
一个简单的Dubbo工程样例
目录1.背景2.环境3.步骤1)架构2)安装注册中心3)父工程的pom.xml4)Common工程5)Provider工程6)Consumer工程4.遇到的问题5.参考资料1.背景一直想了解一下Dubbo的应用是怎样的,所以尝试着写了一个简单的Dubbo应用样例。刚起步,一切都还需学习~~2.环境 Springboot 2.1.2.RELEASE Dubbo 2.7.3 Zookeeper 3.6.3 3原创 2022-01-29 17:19:37 · 2216 阅读 · 0 评论 -
Springboot与Kafka的小插曲
目录1.背景2.环境3.应用1)pom.xml2)application.yml3)main方法4)Entity5)ServiceImpl6)controller4.遇到的问题5.参考资料1.背景Kafka是什么,用途是什么,这在度娘那里一问便知。正所谓“实践是检验真理的唯一标准”,于是在应用中增加了Kafka,然后遭遇到一些小怪兽,这里把打怪的过程简单记录了下来~~2.环境springboot 2.1.2.RELEASE spring-原创 2021-12-15 20:28:22 · 1842 阅读 · 1 评论 -
自己挖了个SpringCloud Gateway的坑
目录1.背景2.环境3.坑4.爬坑历程1)第一次爬坑2)第二次爬坑3)第三次爬坑4)第四次爬坑5)出坑5.总结6.参考资料1.背景就是想用一把SpringCloud Gateway~~2.环境SpringBoot 2.1.2.RELEASE SpringCloud Greenwich.SR1 Gateway 2.1.2.RELEASE 3.坑自己模拟的微服务工程,结构是这样的:-- 祖工程 -- 父工程原创 2021-12-03 10:59:06 · 691 阅读 · 0 评论 -
使用IDEA开发SpringBoot工程的问题合集
目录1.背景2.问题合集1)创建的子Module不是java工程2)IDEA中删除的子工程,在右侧Maven导航栏中仍显示3)SpringBoot工程打成jar包后运行,提示没有主清单属性1.背景将SpringBoot工程开发中遇到的一些问题做一个合集版,并持续更新,感谢那些愿意分享的网友们~~2.问题合集1)创建的子Module不是java工程问题:使用IDEA创建子Module时,偶尔会出现Module名称上没有相应的标记,或者java文件夹上没有蓝色图标,或者创原创 2021-10-18 14:32:52 · 317 阅读 · 0 评论 -
AmzoneS3上传文件权限问题
目录1.背景2.环境3.问题和解决方法4.参考文档1.背景项目中遇到一个使用Amzone S3上传文件到对象存储后,权限不满足预期的问题。调试了很久,百度了很久。最终还是综合各种信息,加上自己理解,才搞定这一问题。回头看,问题本身并不难,还是自己需要多修炼。这里简单做个记录吧,也是对“坑”内经验的总结。2.环境JDK:1.8.0_111Springboot:2.1.2.RELEASEAmzoneS3:aws-java-sdk-s3 v1.11.8303.问题和解决原创 2021-10-08 10:17:44 · 1196 阅读 · 0 评论 -
Java代码小片段(三)
1.现象是分别搭建完了master和node,然后在master执行 # kubectl get csr时,返回 No resources found.1)第一次出现这个问题的原因是,在授权kube-bootstrap用户使用证书的地方,copy了错误的.pem文件给两个node节点。这里生成的admin相关的pem不需给node节点。2)实在没招,又不懂去哪里看日志的时候,又百度到一种方法(感谢这位道友分享:https://blog.youkuaiyun.com/qq_39905438/article/det原创 2021-07-14 11:14:44 · 120 阅读 · 0 评论 -
Java代码小片段(二)
1.文件上传上传文件前,需对上传文件的大小进行限制:在application.properties中添加配置项:spring.servlet.multipart.maxFileSize=200MB spring.servlet.multipart.maxRequestSize=200MB/** * 单个文件上传 */@PostMapping("/file/upload")public String UploadFile(@RequestParam("file") Multipar...原创 2020-12-10 19:14:35 · 186 阅读 · 0 评论 -
Java代码小片段(一)
https://www.cnblogs.com/sxdcgaq8080/p/9779375.html -- list在指定位置插入元素的问题首字母大写: //首字母大写 public static String captureName(String name) { char[] cs=name.toCharArray(); cs[0]-=32; return String.valueOf(cs); // 仅返回首字母 ...原创 2020-11-01 14:19:21 · 207 阅读 · 2 评论 -
JMeter插件 -- 测试Redis的插件(二)
背景:接上一篇JMeter对接Redis(一)环境:Win7 + JMeter5.2.1 + Redis5.0集群方法:3.连接Redis集群上面两种方法在对接Redis单机时,是ok的。但当对接Redis集群时,会出现部分key值查询不出来value的情况。这是由于Jedis仅适用于Redis,要对接Redis集群,则需要用JedisCluster。由于没有现成的插件或者j...原创 2020-06-01 09:27:44 · 1383 阅读 · 2 评论 -
Java实现邮件发送实例
目的:利用Java代码实现简单的SMTP协议的邮件发送jar包及版本:1. 版本:javamail-1.4.5 2. jar包:mail.jar, dsn.jar, imap.jar, mailapi.jar, pop3.jar, smtp.jar源码:由于屏幕有限,分两次截图问题:1. 一开始,邮件发送的端口设置不对原创 2016-04-12 14:34:15 · 491 阅读 · 0 评论 -
ArrayList中调用set()方法,没有插入数据的问题
目的:将得到的数据通过list.set(index,string)方法存入目标数组中示意源代码:List orgList = ["张三","李四","王五"];List desList = new ArrayList(orgList.size());for(int i=0; i desList.set(i,orgList.get(i));}System原创 2016-03-31 20:31:10 · 2197 阅读 · 0 评论 -
struts2中动态调用方法报错
背景:在struts2中,当一个Action对应多个方法时,为了不给每一个方法增加action的配置,可以采用动态调用方法。这里实践了动态调用方法中的一种,即在URL中使用method参数调用方法。在这过程中,出现一个错误,解决方法很简单,但却绕了好大的弯~~~所以写文,以帮助遇到同样问题的亲们。源码:1.action文件:package com.web.www.action;原创 2016-03-22 20:11:38 · 591 阅读 · 0 评论 -
Java读取Excel数据
目的:使用jxl.java或者poi.java读取Excel2003/2007中的数据环境:Eclipse(导入包jxl.java,poi.java(包括dom4j.jar, xmlbeans.jar))步骤:1、使用jxl.java读取Excel2003。这种方式相对简单,但是只能读取Excel2003,即便创建Excel2007将后缀名改为.xls也是不行的。 // 使用原创 2015-10-29 16:38:44 · 732 阅读 · 0 评论 -
契约测试(二)-- 代码实现篇(上)
背景:网上有不少介绍这种测试方法的概念和原理的文章,但实现的比较少。本文通过自己的方法从零开始搭建工程,实现了一个例子。在此也感谢朋友的帮助,是参考了TA的代码才能入了这道门。环境:JDK1.8 + Gradle4.6 + Postgres9.6 + pact_broker步骤:一、建立父工程。本工程采用Gradle的父子工程,父工程为Demo,两个子工程分别为Provider和Con...原创 2019-04-04 16:13:32 · 1297 阅读 · 0 评论 -
契约测试(三)-- 代码实现篇(中)
背景:网上有不少介绍这种测试方法的概念和原理的文章,但实现的比较少。本文通过自己的方法从零开始搭建工程,实现了一个例子。在此也感谢朋友的帮助,是参考了TA的代码才能入了这道门。环境:JDK1.8 + Gradle4.6 + Postgres9.6 + pact_broker步骤:这里接上一篇的步骤。契约测试(二)-- 代码实现篇(上)四、建立Consumer。Consumer中包括...原创 2019-04-04 19:23:40 · 1101 阅读 · 4 评论 -
JMeter插件 -- 基于gRPC协议的插件开发(二)
背景:接上一篇JMeter二次开发之gRPC插件开发(一)步骤:1. 创建拦截器package grpc.client;import io.grpc.*;import io.grpc.ForwardingClientCall.SimpleForwardingClientCall;import io.grpc.ForwardingClientCallListener.Simpl...原创 2019-10-07 11:25:34 · 1456 阅读 · 2 评论 -
JMeter插件 -- 基于gRPC协议的插件开发(一)
背景:为了项目需要,需要对基于gRPC协议的模块进行性能测试。当前没有直接的工具可以使用,可以通过代码实现,这里选择了借助JMeter的测试特性,通过对JMeter进行二次开发完成这一需求的工具。环境:Win7(64bit)+ JMeter3.2 + JDK 1.8.0_111 + IntelliJ IDEA步骤:1.gRPC概念GRPC是google开源的一个高性能、跨语言的RP...原创 2019-10-07 11:24:10 · 3145 阅读 · 0 评论 -
JMeter插件 -- 基于gRPC协议的插件开发(三)
背景:接上一篇JMeter二次开发之gRPC插件开发(二)步骤:1.JMeter取样器package grpc.client.jmeter;import com.java.grpc.stub.HelloReply;import grpc.client.GrpcClient;import io.grpc.StatusRuntimeException;import org....原创 2019-10-07 11:27:11 · 2040 阅读 · 0 评论 -
常用排序算法Java代码
目的:总结常用的排序算法,亲测,都是OK的。虽不完善,但应付面试神马的已经足够1. 冒泡排序 public static void main(String[] args) { int[] array = new int[]{8,4,6,3,5,1,2,9,7,0}; for (int i = 0; i原创 2016-06-09 17:50:13 · 526 阅读 · 0 评论