
java
胡撸娃哈哈
码来!
展开
-
java CountDownLatch使用方法
缘起在项目开发中遇到一种场景,需要给多台(100左右)设备下发指令,一台台下发速度太慢,并发下发的话需要下发结果汇总后在前端展示,这里用CountDownLatch解决问题。代码public Object deletePeople(@RequestBody String param){ List<DevicePersonDo> deleteRes = new CopyOnWriteArrayList<>(); try {原创 2021-03-01 13:59:48 · 280 阅读 · 0 评论 -
springboot + swagger2注意点
springboot + swagger2注意点1、如果在配置文件中设置了spring.mvc.converters.preferred-json-mapper:gson会导致swagger失效,换成Jackson就行。或者不在配置文件中写,用代码配置自定义解析器。2、controller的返回值写明参数类型,如:ResultDto;如此在文档中可以清晰看到返回值类型。3、@ApiOperation() 描述接口信息。4、@ApiImplicitParam() 描述接口参数信息。5、@ApiMo原创 2021-01-25 17:07:19 · 242 阅读 · 0 评论 -
Gradle + idea注意点 -- 持续更新
Q1:执行war task不生成war包,显示任务SKIPPED在build.gradel中添加war { enabled = true}Q2:修改war包文件名description = 'appName'war { enabled = true archiveName 'appName.war'}原创 2021-01-23 18:01:38 · 229 阅读 · 0 评论 -
使用HttpServletRequestWrapper后中文乱码解决方案
继承HttpServletRequestWrapper的类:public class MyRequestWrapper extends HttpServletRequestWrapper { private final String body; public MyRequestWrapper(HttpServletRequest request) throws Exception { super(request); this.body = Http原创 2020-11-03 22:33:57 · 1744 阅读 · 0 评论 -
@Async注解函数一次没有执行完会执行下一次么?
缘起springboot项目中使用了@Async注解,并发操作中会多次使用改函数,使用测试了一下改函数是并发执行还是依次执行。异步函数:@Override @Async("asyncTaskExecutor") public void test() { logger.info("---------> test start"); int count = 0; for (int i = 0; i < 10000000; i++)原创 2020-09-25 18:12:55 · 804 阅读 · 0 评论 -
记一次Linux + jvm时区问题
缘起为了方便做项目的时候发布测试,故而在一台win10上面搭建了wsl环境,然后部署了jdk和tomcat8。项目是springboot + gradle(本来是maven项目,想尝一下gradle的味道,就换了),执行gradle命令后,通过ssh连接服务器,一键打包发布。一切仿佛那么美好,直到…有一天突然发现时间见了鬼,数据库中的时间比实际时间早了八个小时!开始怀疑是同事的服务发送的时间格式不对,或者传错了,查看日志后发现并不是。怀疑数据库连接的时区设置错误,网上搜索后,确认不是连接时区原创 2020-09-23 09:40:28 · 204 阅读 · 0 评论 -
idea+Gradle自动构建部署
利用gradle脚本自动编译部署到远程服务器,详细见下:/* * This file was generated by the Gradle 'init' task. */buildscript { repositories { jcenter() } //ssh插件 dependencies { classpath 'org.hidetake:gradle-ssh-plugin:2.9.0' }}plugins {原创 2020-08-31 17:13:46 · 672 阅读 · 0 评论 -
gradle yml中加入git提交版本信息
gradle yml中加入git提交版本信息buid.gradle文件如下import org.yaml.snakeyaml.Yaml/* * This file was generated by the Gradle 'init' task. */buildscript { repositories { jcenter() } dependencies { classpath group: 'org.yaml', name: 'sna原创 2020-08-31 17:11:56 · 606 阅读 · 0 评论 -
iframe带参数重定向到父页面
iframe带参数重定向到父页面缘起用layer.open 弹出iframe,然后在iframe中提交表单数据,并自动关闭iframe,在java代码中重定向到iframe的父页面,并携带参数。解决方案在iframe的表单中,设置target为_parent,这样就相当于是在父页面提交表单,否则无法在代码中重定向到父页面。<form id="form" action="<%=basePath%>accessRecordAction.do?saveFakeAccess" onsub原创 2020-08-13 01:52:05 · 1113 阅读 · 0 评论 -
@Scheduled执行.bat脚本只执行了一次
我是用@Scheduled定时实行.bat脚本备份数据库,总是发现脚本只跑一次,百思不得其解。中午睡了个觉,突然想起来,可能是因为脚本中加了pause的原因,需要“按任意键继续”,删除之后就恢复正常了。...原创 2020-06-15 11:48:50 · 682 阅读 · 0 评论 -
获取jar包所在的路径
获取jar包所在的路径输入比较常用的功能,Mark一下;在window下面路径的最开始可能会是一个斜杠,需要手动去除一下。public String SysPath() { String path=this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath(); if(path.toUpp...原创 2020-04-29 22:39:06 · 1542 阅读 · 0 评论 -
java 向mysql中插入blob数据
public static boolean addMatchReocrd(MatchRecord record){ boolean suc = false; try { Connection connection = DbMysqlConnector.getConnection(); String sql = "{C...原创 2019-11-20 19:05:22 · 670 阅读 · 0 评论 -
js获取checkbox的checked值
document.getElementById("useIris").checked试了很多方法,只有这个方法成功了,mark一下原创 2019-10-16 20:29:56 · 1984 阅读 · 0 评论 -
js给input赋值无效的问题
新手出道,纠结了很久。$("#identifyType").attr("value", identifyType);在网上看到采用上述方法赋值,结果仍然无效。查了半天,原来是我没有给 identifyType 这个input写 id 属性,没有id属性无法赋值!(也可能是因为我是用的表单,然后直接序列化到类里面去才需要如此)...原创 2019-10-16 20:28:30 · 7576 阅读 · 0 评论