java
文章平均质量分 60
流云一号
2013年参加工作,拥有计算机软考高级证书,熟悉Java后端技术。QQ邮箱:[email protected]
展开
-
记一次问题处理对http请求超时时间的运用
问题突然明朗了一些,这个接口超时时间设置的比较长,如果超时的次数比较多,叠加的请求多了,会逐渐耗尽系统资源,导致本系统所有提供的对外接口响应都非常慢。所幸,经过仔细排查,没有漏掉的交易数据。本系统间接调用银行的接口主要有两类,一个是查询类,一个是交易类,这类接口都是用的同一个http请求公共方法(这个方法的超时时间写死了,120S)。最后果断决定,新写一个http请求公共方法,可以传入超时时间,上述查询社保卡余额的接口调用新的方法,并传入较短的超时时间(比如10S),让有问题的发卡行及时抛出超时错误。原创 2023-01-16 17:01:41 · 1565 阅读 · 1 评论 -
JAVA发送HTTP请求的多种方式总结
程序员日常工作中,发送http请求特别常见。本文以Java为例,总结发送http请求的多种方式。 1. HttpURLConnection 使用JDK原生提供的net,无需其他jar包,代码如下: 2. HttpClient 需要用到commons-httpclient-3.1.jar,maven依赖如下: 代码如下: 3. CloseableHttpClient 需要用原创 2022-06-13 16:58:38 · 31023 阅读 · 1 评论 -
java.net.SocketException: No buffer space available (maximum connections reached?): connect
最近,有项目反馈调用第三方接口失败,查不到数据。现场用soapUI工具试了下,点执行按钮,一闪而过,接口没有任何返回值。一开始以为是第三方服务问题,后来查看日志,发现是自己的问题,报错如下: Caused by: java.net.SocketException: No buffer space available (maximum connections reached?): connect,看样子是连接数太多,耗尽了某种资源。 执行命令:netstat -ano (wi原创 2022-06-13 15:42:38 · 10733 阅读 · 0 评论 -
调用webservice服务方式总结
程序员日常工作中经常涉及到接口的服务调用,其中webservice服务是比较常见的一种服务提供方式。本文以Java为例,总结调用webservice服务的七种方式,希望能对读者提供一定的参考。原创 2022-06-01 16:56:43 · 27269 阅读 · 7 评论 -
ThreadPoolTaskScheduler实现动态管理定时任务
最近,有个项目有需要用到定时任务,所以做了一个动态管理定时任务的模块。本文将从项目背景、需求、选型、思路、具体实现等方面展开介绍。 背景:有个支付类的项目,中间会产生一些中间态的订单,需要有个定时任务轮询确认订单状态。该类项目体量较小,单节点部署,客户比较多,需要简单快速的部署、维护。需求:定时任务能够通过表达式灵活指定执行计划,并支持动态启动、关闭、修改。定时任务模块最好和业务包在一个jar包内,部署简单。 选型:说到定时任务,当下最...原创 2021-12-20 23:10:56 · 6325 阅读 · 2 评论 -
支付平台延时轮询/通知机制
在支付业务中经常会有一些轮询或者异步通知的场景,尤其是做为支付平台,往往接入多种支付渠道,需要轮询渠道交易结果或者为接入方提供标准的交易结果通知机制。有两种比较常见的场景:一、支付平台向渠道方下单成功后,由于不知道用户有没有支付,可能需要主动轮询渠道方获取交易结果。二、支付平台拿到交易结果后,可能需要以某种机制通知接入方,类似于支付宝/微信的通知机制(例如:通过一定的策略定期发起通知,如果接收方返回success,则退出通知,否则一直定期通知直到超过最大通知时效(如:通知频率为15s/15s/30s/3m/原创 2020-12-23 21:45:23 · 2838 阅读 · 0 评论 -
Java调用存储过程的几种情况
项目中用到了Java调用存储过程,趟过了几个坑,现分享一下常用的几种情形。下面的例子用的JdbcTemplate对持久层进行操作,有关JdbcTemplate的配置本文不再做详细说明,如不清楚,可参考本人另一篇博文SpringBoot使用JdbcTemplate多种方式介绍。第一种情况:有普通返回值。存储过程示例:过程定义(获取学生信息):PROCEDURE proc_get_student(sno in VARCHAR2 --学号,name in out VARCHAR2 --原创 2020-06-10 15:25:52 · 498 阅读 · 0 评论 -
map与java对象相互转换
最近,研究map与java对象之间的相互转换,总结了5种方法:第一种:使用org.apache.commons.beanutils转换用到的主要jar包:commons-beanutils-1.9.3.jar//map转java对象public static Object mapToObject(Map<String, Object> map, Class<?&g...原创 2019-01-22 17:01:21 · 31932 阅读 · 4 评论 -
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.Transformer
今天做了一个java对象转Map的例子,执行的时候报错了,如下:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/Transformer at java.lang.ClassLoader.defineClass1(Native Method) at java....原创 2019-01-22 16:25:28 · 5807 阅读 · 2 评论 -
Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type
今天做了一个Map转java对象的例子,用了一种比较简单的方法,就是通过net.sf.cglib.beans.BeanMap类中的方法进行转换。结果在一切准备就绪,执行的时候报错了,如下:Exception in thread "main" java.lang.NoClassDefFoundError: org/objectweb/asm/Type at net.sf.cglib.core...原创 2019-01-22 14:30:42 · 2943 阅读 · 0 评论 -
错误: 编码GBK的不可映射字符
今天在用命令窗口做java练习时,遇到一个情况,javac编译时报错:D:\class>javac GreetingClient.javaGreetingClient.java:17: 错误: 编码GBK的不可映射字符 System.out.println("杩炴帴鍒颁富鏈猴細" + serverName + " 锛岀鍙e彿锛?" ...原创 2019-01-17 14:37:45 · 1237 阅读 · 0 评论