自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 收藏
  • 关注

原创 电商订单对接系列-第1章-整体设计

介绍电商如淘宝京东抖音等平台订单的对接流程以及整体设计

2022-12-24 00:12:19 1555 1

原创 京东云鼎服务器系统时间问题-时间戳参与与服务器时间差异大于设定值

电商订单同步场景中京东订单的坑

2022-12-05 11:54:27 3172 4

原创 idea出现Error:Abnormal build process termination

环境jdk 8IDEA 2017maven 3.3.9问题今天突然发现代码跑不起来了,报以下错误Error:Abnormal build process termination排查一开始还以为是编译内存不够大,设置了后还是不行.找了很久, 突然想起昨天在排查电脑网速慢的时候把java的给禁用网络了解决重新打开java的网络使用. 跑代码,就像之前一样跑起来了最后这是对Error:Abnormal build process termination的解决很

2022-02-09 11:39:11 1604

原创 net::ERR_HTTP2_PROTOCOL_ERROR 200错误

场景:web端的环境上某一个请求报这个问题了, 其他的请求正常.打开f12控制台看到异常net::ERR_HTTP2_PROTOCOL_ERROR 200错误排查:查看nginx的error.log 报是某一个临时文件的权限不足.原因是启动nginx的账号, 在前面所报的目录没有操作权限解决方案:1. 把对应的临时目录开放读写权限2. 使用root账号启动nginx...

2021-11-24 16:18:33 14458

原创 Mybatis+mysql json功能

<update id="addAnswerDetail" parameterType="com.chali.facade.chabohui.dto.competition.SemifinalResultAnswerDetailUpdateDto"> UPDATE <include refid="table"/> <set> VERSION = #{version,jdbcType=INTEGER}+.

2021-10-29 11:31:47 426

原创 关于ehcache使用rmi方式实现分布式缓存时遇到的问题

业务场景: 一个架构较老的系统,由于在正式环境中需要搭建集群环境。目前使用echcache来作为缓存,为了减少代码修改。使用了RMI方式来实现集群。使用了被动发现和注册的方式,配置如下<cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" properties="peerDiscovery=automatic,multicastGro.

2020-12-29 15:46:03 634

原创 IDEA找不到或无法加载主类XXX

场景: 在切换版本区别较大的分支或者添加了新的依赖后,发现应用无法跑起来,会报没有找到一些.class文件,或者直接运行某个类中的main方法时会报找不到或无法加载主类XXX,去检查输出路径可以看到没有任何的class文件被编译出来可能是因为依赖包差别太大, 然后IDEA中的配置没有刷新过来。解决: 1. IDEA中的把项目删掉2. 把目录中的.idea文件删掉3.清掉所有index并重启4.重新把项目import进来,选中磁盘中的项目跟路径,然后根据提示进行导入..

2020-11-10 16:33:40 380

原创 在父子页面嵌套的结构中,当父页面完成某个操作后给子页面一个回调函数

企业级系统中有一种常见的页面结构,所有的表单都套在一个父页面里。要求父页面在子页面完成加载后做一些操作,如下这些代码不是本文的重点内容,不做介绍了init_my_iframe:function(iframe){ if (iframe.attachEvent){ iframe.attachEvent("onload", function(){ doWorkA(iframe); //在子页面完成加载后执行 }); } else { iframe.onload = fu

2020-09-22 17:04:24 338

原创 spring事务操作后进行异步操作

开发中有很多需要事务A操作后进行异步B操作, 如发送mq,或者开线程做其他事情. 有一部分的异步操作需要查询当前事务方法的保存/修改数据. 所以, 如果直接在事务方法中调用异步方法的话, 有几率查询不到最新的值.解决方法方案一: 调用异步的方法不要写在A操作的方法中,如下伪代码@RequestMapping("doWork")@ResponseBodypublic String doWork(){ doWorkA();//事务操作 doWorkB(); //异步操作 }.

2020-07-29 15:11:42 2096

原创 sqlserver查看执行计划

方式一:通过Microsoftsqlservermanagementstudio工具栏中的"显示估计的执行计划"按钮, 选中SQL,然后点击该按钮,SQL就会给我们选中SQL的图形执行计划方式二:set showplan_all ongo--具体的查询语句select name from s_student where class_id = 'A'注意用完要执行set showplan_all off ,后面的查询语句才会正常输出查询结果集...

2020-07-24 10:17:10 4214

转载 缓存穿透,缓存击穿,缓存雪崩解决方案分析

转载自https://www.cnblogs.com/raichen/p/7750165.html

2020-07-08 11:22:39 99

原创 工厂设计模式结合Spring开发

本文以简单工厂模式为案例。在上网看的工厂模式的案例讲解中,创建具体实现类一般是简单new一个出来。但是在实际开发中,一般都是结合Spring来管理对象的。下面分享一种结合Spring开发的工厂模式业务场景:一个发送消息的功能模板。有不同的发送方式,如 站内信,短信,邮件等。...

2020-06-03 14:40:06 367

转载 关于适配器模式

在学习适配器模式时,看到一篇文章讲得很易懂,应用场景明确.https://www.ibm.com/developerworks/cn/java/j-lo-adapter-pattern/此处也结合自己的理解,记录一篇文章,1.对象适配器场景:出现了一个新的接口,但又想适配某个旧接口.如:原有写了一个文件类型日志操作接口 FileLogInterface,里面的方法名为 doFileLog();public interface FileLogInterface{ v...

2020-06-02 00:01:44 155

原创 sqlserver的sp_addlinkedserver在存储过程中的使用问题

sp_addlinkedserver是sqlserver中用于跨数据库操作.该函数用于创建一个连接.在开发中遇到业务需求,需要创建一个存储过程,在里面做跨数据库操作.该存储过程创建语句如下--- 创建存储过程beginif object_id('SYNC_MIDDLE') is not null drop proc SYNC_MIDDLEgoCREATE PROCEDURE SYNC_MIDDLE @middleIp NVARCHAR(50), --需要连接的数据库id .

2020-05-28 22:45:50 1244

转载 使用sqlserver manager创建作业时报错c001f011

在使用sqlserver创建作业时,有时会报错,如下 IClassFactory 为 CLSID 为 {17BCA6E8-A95D-497E-B2F9-AF6AA475916F} 的 COM 组件创建实例失败,原因是出现以下错误: c001f011。 (Microsoft.SqlServer.ManagedDTS)------------------------------从 IClassFactory 为 CLSID 为 {17BCA6E8-A95D-497E-B2F9-AF6AA475916

2020-05-28 22:29:16 1218

原创 关于漏洞"这个页面包含一个错误/警告信息,可能会导致敏感信息泄露"

公司开发的软件.在用软件扫描漏洞时,扫出了这么一个漏洞.可以看出有漏洞的地方是登录页面.在登录中,主要逻辑如下: 一些拒绝登录是通过抛异常->然后捕获异常->获取异常信息->跳回到登录页面并展示错误信息.@RequstMapping("login")public String login(LoginForm loginForm){ try{ ...

2020-05-08 15:37:08 2324

原创 html字符串转json

业务场景,后端返回给前端的数据中,有html格式的字符串,如下<font color='red'>我是提示信息</font>后端使用fastjson. data.toJsonString()响应给前端,但是格式不是标准的json格式.如{"msg":"<font color="red">我是提示信息</font>"}很明显,这样...

2020-04-18 17:56:06 2692

原创 jQuery,easyui的dialog在窗口内监听关闭事件

框架 jQuery,easyui.有一种打开窗口的方式是在外层页面触发的, 窗口按钮的[确定]和[关闭]也是在外面监听和处理的.如下//这里的top.sy.iframeDialog是对jquery,easyui的dialog封装了一下var myDialog = top.sy.iframeDialog({ "id": '_myDialog' ,href:...

2020-04-10 20:06:21 2478 2

原创 关于系统之间的单点登陆对接

这里说的单点登陆,不是正规的那种有个中间服务做的,(如CAS).差不多是一种假的单点登陆.但是在工作需求有时候会遇到,尤其是做定制化产品.一个客户买了我们公司一个产品,同时买了另外一个公司的产品.现在想让这两个产品进行单点登陆,一般是这A系统需要打开到B系统做一些操作,或者调用B系统的一些接口等操作.基于开发成本,一般不会集成一个单点登陆中心.而是用两边的sessionId共享来解决....

2020-04-08 22:44:51 4159 7

转载 锁与事务的关系

在并发场景下, 我们往往需要在事务方法中加锁来应对并发.如下.下面以ReentrantLock 为例子.@Transactionalpublic Result startSeckilRedisLock(String busiId) { boolean res=false; try { MY_LOCK.lock(); // 具体的业务逻辑 } catch (Excepti...

2020-03-30 17:42:56 1006

原创 统一处理"将截断字符串或二进制数据"异常

该错误是字段过长的原因, 对应的异常类型是DataTruncation. 因为在实际场景中,没有必要把所有字段都用最长字符, 会造成无畏的资源浪费. 但是通过代码一一去控制长度又不够优雅.我们可以通过在捕获异常时,针对这个异常,进行处理/提示.1.定义一个工具类,用于获取异常public class ExceptionUtils { /** * 从异常的异常链中获取指...

2020-03-27 19:08:30 1918

原创 改变readonly的easyui-combobox框的颜色

默认readonly的easyui-combobox 框是灰色的.直接设置background-color:white;无效.下面给出一种可以改变颜色的方法1.先自定义一个样式, 如 whiteReadonly.打到需要的元素上2.在js中控制其颜色$.each($(".whiteReadonly"),function (index,ele) { //此处将其控制成白色...

2020-03-26 14:37:16 1094

原创 hibernate对象转换成json的时候报错java.lang.reflect.InvocationTargetException

框架: hibernate3转换json类库:net.sf.json在使用以下方法转换json时,报错java.lang.reflect.InvocationTargetExceptionJSONArray.fromObject(list);debug后发现只有list中有的对象是hibernate懒加载对象的时候,就会出该问题。hibernate的懒加载对象,在转换json时,...

2020-03-10 20:47:28 301

原创 在docker中进行redis主从配置相关问题

1.启动docker时,报如下问题Reading the configuration file, at line 103>>> 'logfile /var/log/redis/redis.log'Can't open the log file: No such file or directory我配置的日志文件没有找到,尝试在宿主机创建好文件并授权读写权限未果....

2020-03-07 18:34:09 1209

原创 docker-compose报错信息while parsing a block mapping in "./docker-compose.yml", line 3

while parsing a block mapping in "./docker-compose.yml", line 1这个错误要注意是否输入了全角的符号,在xshell中不好查看的话最好现在editplus和notepad++这些工具中先编写和检查好,在copy进去service 'restart' must be a mapping not a string.这个错误是re...

2020-03-07 15:29:42 981

转载 sqlserver根据某一列某一分隔符分成多行数据

数据库: sqlserver开发中会有场景,一些使用 ","分隔的数据,希望将其分成多行数据进行查询展示.方案:使用 CROSS APPLY来实现.如下 .其中attractStaffId的字段为使用","分隔的字段select v.id,v.name, c.value('.', 'varchar(50)') AS staffIdfrom s_student v ...

2020-02-24 13:48:53 2267

原创 window突然没声音.无法启动window audio.无法播放测试音调

在PowerShell(管理员)里按顺序执行输入下面两个代码net localgroup Administrators /add networkservicenet localgroup Administrators /add localservice进入系统服务services.msc->找到Windows Audio服务->属性->选择此账户->输入 NT AU...

2020-02-23 19:43:48 6039 9

原创 IDEA莫名出现there's not enought memory to perform the requrested operation

在使用idea编码时遇到这个问题.一开始Xmx调的是2048.再提示之后我将其调到4096.但还是会出现,查看idea的内存占用.没有占满就出现这个提示.再后来开始发现到只有在编辑较复杂jsp文件的时候会出现.考虑是不是因为jsp的代码检查影响到.我将jsp的high light设置成none之后就不会出现那个问题了.原因待查.本文结束...

2020-02-19 14:43:49 2944

原创 基于Redis的延时队列

之前有一篇文件讲到延时队列,用的是jdk的DelayQueue实现的。使用jdk的DelayQueue实现的缺点: 1.基于应用内存,重启或宕机后数据会丢失 2. 如果要集群,不好扩展此处基于redis做一个可用性较高的延时队列。Redisson中有延时队列的实现,可以直接拿来用@Controller@RequestMapping("order")public class ...

2020-02-16 18:45:46 256

原创 DelayQueue使用

DelayQueue是一个延迟队列。在指定时间才能获取队列元素,队列头元素是即将过期的元素。元素需要实现 Delayed 接口。该接口有两个抽象方法, getDelay(TimeUnit.NANOSECONDS)返回元素延迟时长. compareTo。返回元素在队列中的排序方式,一般根据getDelay来计算DelayQueue实现了BlockingQueue,是一个...

2020-02-15 18:33:07 1526

原创 npm运行项目的时候报错'cross-env' 不是内部或外部命令,也不是可运行的程序

报错信息'cross-env' 不是内部或外部命令,也不是可运行的程序.是依赖缺失问题.直接执行重新下载依赖npm install如果还是不可以,可以执行npm install -g cross-env...

2020-02-10 20:06:43 26972 2

原创 poi进行word和excel文档导出

业务场景: 根据给定的模板word/excel进行数据填充和输出. 另外对于一些业务, 需要把输出的文件进行文件上传的话.则要先把文件输出到一个临时文件中, 然后再调用系统的文件上传功能.wordword文档需要使用其.xml文档格式.在IDE中方便格式化和编码.主要是写占位符,如 ${student.name!""}. ps: 对于word中所有占位符均不能输出null,否则会报错.下面...

2019-10-18 10:15:41 277

原创 easyui-tree的本地搜索功能

框架: Jquery. Easyui实现一种不需要从服务器中进行查询,直接在前端对tree的折叠,展开,高亮的模糊搜索功能.子节点均不匹配,则收起. 有一个或以上的子节点匹配到,则展开效果如下图直接上代码//高亮的样式.tree-node-searched { background: #feed81; color: #404040;}<ul id="cla...

2019-10-15 15:11:37 963

原创 Spring定时任务执行2次问题解决

在开发定时任务时,发现定时任务每次都会执行2次.后来上网找原因知道是因为bean的重复扫描被创建了2个实例.application.xml主配置文件中如下扫描bean<context:component-scan base-package="com.wing" /> //扫描了所有的类spring-mvc.xml的扫描bean配置如下<context:comp...

2019-10-15 10:14:59 393

原创 pageoffice自动显示所有批注

pageoffice有api可以直接调用, 显示所有批注,但目前只支持word.对于excel.可以使用编写宏,直接调用office的功能.直接上代码//POB打开窗口后事件function AfterDocumentOpened() { document.getElementById("PageOfficeCtrl1").ShowRevisions = true;//word显示...

2019-09-29 15:47:11 957

原创 记录一种做业务数据同步基础数据时的逻辑代码

业务场景: 有一个基础数据,员工考核方案. 有一个岗位实例数据: 岗位考核方案. 岗位的数据可以通过一个按钮从基础数据中进行同步数据过来.如考核项, 考核满分,最低分等,而且考核方案数据是树结构的.用字段parentId标记.在同步逻辑中,就要做区分哪些数据之前是同步过的,就做更新操作.没有同步过的, 就进行新增操作.故示例数据需要用baseDataId字段标记该实例数据是同步自哪条基础数据的...

2019-09-25 14:18:56 305

原创 多线程进行同步数据

开发中会有场景需要对接第三方系统.第三方系统往往会提供一个中间库,然后我们系统读取中间库的数据,然后经过一系列的逻辑,把数据存到自己系统中.在这里分享一种通过生产者,消费者模式进行数据同步,接近实时主要思路:一个生产者线程, 实时去中间库查询没有同步的数据.多个消费者,消费生产者生产的数据 1.一个生产者线程, 实时去中间库查询没有同步的数据 ...

2019-09-09 23:18:24 1181 1

原创 easyui datagrid和treegrid鼠标悬浮提示框

在datagrid和treegird中.实现鼠标悬浮提示框.只要在列中增加属性 tooltip:true 即可.但如果同时使用了formatter.如把列格式化成一个超链接.tooltip属性就没有作用了.function nameFormatter(v,r,i){ return = "<span><a" + " onclick=\"showStuInfo('"...

2019-08-22 15:57:59 1482

原创 jquery代码触发页面元素change事件

前端框架 jQuery在开发页面的时候, 有一些需要js操作去赋值.如$('#valueId').val('123');不通过页面输入的话,即使 id = "valueId" 的元素绑定了change方法. js给其赋值是无法触发onchange事件了.对此可以js代码去调用:$('#valueId').change(); //触发事件同理.如果是onblur事件. 调用 ...

2019-08-20 14:25:04 5008 2

原创 共享到页面的对象.使用el表达式并在js代码中使用

框架. SpringMVC . jQuery如下,我们通过把一个集合list共享到前端model.addAttribute("list",list);var listJson = JSON.parse('${list}');//转成json如果前端通过el表达式获取到,然后将其转成json对象.会报错:Uncaught SyntaxError: Invalid or unex...

2019-08-16 09:26:54 351

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除