- 博客(59)
- 收藏
- 关注
原创 基于redis的规则流水号生成(三)
针对上次的流水号生成有几处细节优化的地方1、高并发的时候,在哪个位置加锁?2、加锁的重试机制如何设置?3、加锁的重试次数与间隔时间范围应该如何?4、入队列的优化1、首先获取一次缓存中的序列号,不要直接加分布式锁,毕竟遇到查不到的情况约1000分之一2、流水号大约1秒多生成,建议超时时长设置为2-3秒,重试次数可以多次,每次间隔500ms即可。间隔过大,会导致撞锁。间隔...
2019-01-21 10:50:36 1925
原创 基于redis的规则流水号生成(二)
上文主要包含的最基础的redis自增生成规则流水号。但仔细分析会发现有几个问题:1、流水号规则调整了怎么办?只能去改代码?2、redis切换了怎么办?数据不迁移或者redis挂了从头生成流水号会导致重复怎么办?3、redis异常怎么办?设计方案:1、建立流水号规则配置表:CREATE TABLE `crl_serial_number_rule` ( `id`...
2018-08-03 10:15:43 2666
原创 基于redis的规则流水号生成(一)
设计方案一:使用redis的incr自增,由于redis是单线程的,每次按同一key自增可保证快速生成流水号,且唯一。比如最基础的生成不重复序号:long serilno=cacheClient.incr("CST");incr操作在key为空时初始化为0在实际意义中,客户号没有这种全0的。大部分可以是有部分含义的规则流水号。比如:CST2018080200000可考虑...
2018-08-02 10:36:50 7210
原创 Semaphore介绍
1、概述 信号量,多线程多任务同步,一个线程完成某个动作就通过信号量告诉别的线程,别的线程在进行某些动作。2、上锁 信号量大于0,其他线程就等待,成功后信号量的值-1。值不大于0,则线程阻塞,直到信号量的值+1。 常用的两个主要方法: acquire() release()3、实际中的一个例子:abc三个线程交替打印147、258、369package com.test.abc;import lombok.extern...
2021-03-29 12:48:42 282
原创 线上数据库问题解决
背景:项目在生产环境做压力测试,然后其中的task任务一直在异常状态。截图一:### Error querying database. Cause: java.sql.SQLException: Error### The error may exist in URL [jar:file:/app/xxx-1.0-SNAPSHOT-all.jar!/config/mapper/Repa...
2020-03-19 14:36:58 2166 2
原创 放款(提现、用信)-试算还款计划-JAVA实现
1、等额本金:每期本金相同2、等额本息:每期还款额相同/** * @author wzh * @date 2019-11-20 18:45 * @description 试算还款计划-入参 */@Data@Builderpublic class CalculateRepayPlanReq implements Serializable { /** * 借款...
2019-12-24 10:24:34 1950
原创 基于redis、quartz的可重试的异步通知实现
1、数据库表设计CREATE TABLE `crl_notify_record` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键', `notice_owner` varchar(30) NOT NULL COMMENT '通知发起方的简称', `notice_owner_serial` varchar(80) ...
2018-08-06 17:04:56 1405
原创 dubbo的超时时间设置
背景:该问题源于我的一位同事调用dubbo方法时,在项目组群里咨询我。他调用的方法抛出了超时异常,更为诡异的是过一会(几秒钟),又再次收到了dubbo接口返回值。问题探寻步骤:核实下该方法消费者设置的类级别的timeout配置,然后核实了该方法生产者设置的类级别timeout配置。发现消费者设置的超时时间比较短。dubbo的spring配置建议:生产者与消费者区分开...
2018-08-06 16:16:03 14711
原创 dubbo服务的区分问题
1、背景描述项目组标准产品有独立的一套dubbo接口,分别有dev、beta、product三种配置文件。在以标准产品为基础,创建新仓库的时候发现,标准产品dubbo的dev环境与A项目的dubbo的dev环境是一模一样的。产生的问题就是:A项目的方法调用,调用成了标准项目facade方法。或者是标准项目方法调用,调成了A项目的facade方法。2、分析及方法 <...
2018-08-03 15:47:28 1288
原创 【从本人QQ空间迁移】业务知识通俗理解
质押式回购 书面正式版:质押式回购是交易双方以债券为权利质押所进行的短期资金融通业务。在质押式回购交易中,资金融入方(正回购方)在将债券出质给资金融出方(逆回购方)融入资金的同时,双方约定在将来某一日期由正回购方向逆回购方返还本金和按约定回购利率计算的利息,逆回购方向正回购方返还原出质债券。 通俗理解:我缺钱了,我给你点货物作为抵押(你给我点钱用用),...
2018-03-21 08:32:56 343
原创 【从本人QQ空间迁移】涉及信贷系统的数据库开发注意事项
一、客户和机构问题 一般情况下,一个客户在一个机构开户。 管户机构:一般为客户的开户机构。有些机构开户后,将管户权移交给另一个机构。(修正) 贷款机构:一个客户不止一个贷款机构。 当出现,同一个客户ID,不同的名字,请核实该客户是否更名。 当出现,不同的客户ID,却有着相同的名字...
2018-03-21 08:31:55 371
转载 JMS基本概念
JMS(JAVA Message Service,java消息服务)API是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。这篇博文我们主要介绍J2EE中的一个重要规范JMS,因为这个规范在企业中的应用十分的广泛,也比较重要,我们主要介绍JMS的基本概念和它的模式,消息的消费以及JMS编程步骤。基...
2018-03-21 08:18:47 213
原创 【从本人QQ空间迁移】处理字段精度
处理字段精度(主要针对BigDecimal类型) 方法一: 数据库保存时,精度确定为小数点后第六位 查询一次该记录 方法二: DecimalFormat df=new DecimalFormat("##0.000000"); df.format(xxx); 该方法返回的为String类型 方法三: BigDecimal 的格式化方法,setS...
2018-03-21 08:17:13 205
原创 【从本人QQ空间迁移】java调用webservice接口
import java.net.MalformedURLException; import java.rmi.RemoteException; import org.apache.axis.client.Service; import org.apache.axis.client.Call; import javax.xml.namespace.QName; import javax.x...
2018-03-21 08:15:58 224
原创 【从本人QQ空间迁移】axis2调用cxf出错问题解决
1、org.apache.axis2.AxisFault: Fault occurred while processing. 主要是由于传递参数不正确导致 2、org.d...
2018-03-21 08:14:39 888
原创 【从本人QQ空间迁移】cxf开发webservice
eclipse 6 tomcat 6 apche-cxf 2.X (目前最高版本为3.0.3) 1、接口 和普通接口没什么区别 接口上需要加@WebService 参数前需要加上@WebParam(name="xxx") 2、接口实现 @WebService(endpointInterface="包路径+类名",serviceName="服务名称...
2018-03-21 08:13:30 170
原创 【从本人QQ空间迁移】oracle数据库宕机问题
oracle数据库宕机原因之一,三个redo.log日志误删导致。 三个redo.log日志被删,数据库无法启动。 解决步骤: 1、sqlplus /nolog 无日志登录 2、conn /as sysdba 进入到sql命令下 3、startup mount ; ...
2018-03-21 08:11:36 642
原创 【从本人QQ空间迁移】控制crontab不发送mail
定时任务可以在crontab配置,大体格式如下 * * * * xxxxx 分钟 小时 日 月 星期 要运行的命令 第一种方法:在用户下执行crontab -e 继续增加一条 rm -rf /var/spool/mail/xxx 该方法等于是上边执行完要运行命令后...
2018-03-20 09:37:00 636
原创 【从本人QQ空间迁移】应用服务器运维问题解决
科技按照应用服务器A1和数据库服务器B1分别给拷贝了两台机器A2、B2。 我需要更改相应配置,首先能想到的就是改IP地址。 1、访问A2应用服务器应用R,无法访问。weblogic应该是没有启动。 2、先去更改A2应用服务器下的应用R配置。将其中的应用服务器地址更换为A2、数据库连接更换为B2 3、重启weblogic。 ...
2018-03-20 09:35:51 224
原创 【从本人QQ空间迁移】oracle高级迭代查询
select id,parent_id,name,level,connect_by_isleaf,connect_by_iscycle,replace(sys_connect_by_path(id,'|'),'|','') from table connect by nocycle prior id=parent_id start with id='xxx'...
2018-03-20 09:33:26 230
转载 db2排序监控
1、CPU占用资源两大源头,逻辑I/O读取,过多的排序 2、排序造成的影响:占用CPU,增加SQL执行时间,增加死锁和超时几率,消耗内存,溢出出现IO错误。 3、排序的三大参数 SortHeap:数据库配置参数。指定为每个排序分配的最大内存大小。 如果表的统计信息不准确,会导致优化器对要使用的排序内存的大小估算不准,有可能分配比实际需要少的...
2018-03-20 09:32:02 546
原创 【从本人QQ空间迁移】Linux文件描述符恢复数据库误删文件
今日群内人才济济,探讨此问题。场景描述:rm -rf 某些oracle数据库文件,例:控制文件。导致数据库异常。此类问题,在去年12月份,一同事曾误删,致使他不得不重装了数据库。 1、文件描述符 使用文件描述符恢复数据库的前提,数据库不能关闭、数据库不剔除数据文件 2、文件删除后 仍然可以通过基本查询,看到数据。由于文件...
2018-03-20 09:30:45 199
转载 db2数据坏页恢复解决方案
2014-07-29-10.32.54.584000+480 I9805968F550 LEVEL: SeverePID : 7456 TID : 14436 PROC : db2syscs.exeINSTANCE: DB2 NODE : 000 DB : ARCHIVEAPPH...
2018-03-20 09:28:13 1833
转载 DB2表空间状态列表
0x0 Norma 正常0x1 Quiesced: SHARE 静止态共享0x2 Quiesced: UPDATE 静止态更新0x4 Quiesced: EXCLUSIVE 静止态排它0x8 Load pending 载入挂起0x10 Delete pending 删除挂起0x20 Backup pending 备份挂起0x40 Roll forward in progress 正在回滚0x80 ...
2018-03-20 01:25:41 4248
原创 【从本人QQ空间迁移】DB2 SQL1042问题解决(二)
背景描述:接上回,自定义函数报错SQLC-1042 sqlstate:58004 .此情况,在用户多时出现,另外重启数据库就又可以运行函数。 由于此类问题发生已有3次之多,所以,可以直接肯定是数据库问题。 虽然昨个增大查询堆的参数值,但是仍然未能解决。 上DB2日志内容; 2014-07-18-10.23.13.869864+480 I8838102E31...
2018-03-20 01:24:29 1347
原创 【从本人QQ空间迁移】DB2 SQL1042问题解决(一)
此问题有很多原因都会导致。现将个人解决步骤如下 1、查看linux机器最近一次启动时间 uptime date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S" 若发生机器重启,会导致1042错误。 2、安装jar文件期间...
2018-03-20 01:22:42 452
原创 【从本人QQ空间迁移】DB2本地安装问题
1、编码问题 数据库在创建时,默认为utf-8。这个没办法,必须删掉重新指定gbk。 db2 create database xxx using codeset gbk territory cn2、创建时,遇到无法连接。 db2 connect to sample 此时你连接的是sample实例,有必要解释一下,这个实例也是一个数据库。连上它,你再创建数...
2018-03-20 01:22:07 163
转载 db2 cfg文件参数对应意思
db2 list application show detail 列出当前实例中的应用程序、用户、所使用的数据库等详细信息。 SHEAPTHRES 200000 /*和另外一个参数文件关联。800M。*/ MAXAGENTS 400 /*一个连接就会有一个进程 */ NUM_POOLAGENTS 30 /*代理进程池,保留30个,超过30个后会释放,可以和下面参数...
2018-03-20 01:20:37 1450
原创 【从本人QQ空间迁移】db2安装问题配置
1、db2默认安装路径一般在/opt/ibm/db2/V9.72、db2需要配置classpath如下: <install_path>/sqllib/java/db2java.zip <install_path>/sqllib/java/db2jcc.jar <install_path>/sqllib/java/db2jcc_license_c...
2018-03-20 01:19:39 384
转载 oracle验证组织机构代码有效性
CREATE OR REPLACE FUNCTION CHECK_ORGCODE(organizationCode VARCHAR2)/* 功能:验证组织机构代码,成功返回1,失败返回0 ...
2018-03-20 01:17:56 777
原创 【从本人QQ空间迁移】Socket发送消息
//创建一个线程在后台监听class ServerThread extends Thread { public void run() { ServerSocket server...
2018-03-20 01:15:41 135
转载 java获取系统参数列表
Properties props=System.getProperties(); //系统属性 System.out.println("Java的运行环境版本:"+props.getProperty...
2018-03-20 01:15:08 1085
原创 【从本人QQ空间迁移】输入输出流解压zip
/*unzip解压函数*/ public static void unzip(String zipFilePath, String unzipDirectory){ File file = new File(zipFilePath); ZipFile zipFile = new ZipFile(file); // 创建本zip文件解压目录 File unzipFile =...
2018-03-20 01:14:07 144
原创 【从本人QQ空间迁移】文件上传进度条实现思路
1、struts2: 后台得到一个被封装好的File对象,然后把file对象包装成一个输入流,然后在服务器端文件系统中新建一个文件,将该文件包装成输入流,然后不断从输入流中读取字节转到输出流中,这个过程是一个持续的过程。 中间使用缓冲区来进行字节数据的中转,而且每一次中转的字节数都可以拿到,就想着如果在这个过程中把已经传输的写入到本地文件系统中的字节数记录下来...
2018-03-20 01:12:59 314
原创 【从本人QQ空间迁移】页面无故跳转空白页
问题简要描述: 表单中有一按钮,去执行js方法。结果弹出一页面,地址栏为xxx.do?method=xxxx,页面空白一片,后台无报错。 问...
2018-03-20 01:11:20 216
原创 【从本人QQ空间迁移】关于系统需求分析和设计的见解
最近一直在忙于风险系统。 系统取数,涉及到行内多个部门。大致有信贷、授信、统计、运营、清算。 在感受到几家银行的各种信贷系统之后,心中有想掐死做信贷系统分析人的冲动。 整体而言,大部分系统设计基本符合要求。 属于能看,也能用的范围。 但是在对需求分析和数据库表建设的做的不足的可以说占绝大多数。 当然,我也不能否认我们的系统也存在设计问题。 ...
2018-03-20 01:09:50 238
原创 【从本人QQ空间迁移】oracle字符串截取函数
substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,一直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。 "hamburger".substrin...
2018-03-20 01:04:21 154
原创 【从本人QQ空间迁移】oracle验证日期是否月底(未判断日期是否正确)
create or replace function CHECK_MONTHEND(IN_DATE VARCHAR2) RETURN INTEGERAS YER VARCHAR2(4); MON VARCHAR2(2); TOD VARCHAR2(2);BEGIN IF INSTR(IN_DATE, '-', 1, 1)=0 AND LENGTH(IN_DATE)=8 THEN ...
2018-03-20 01:02:48 996
原创 【从本人QQ空间迁移】DB2查询结果,列转换为行
本人采用以下方法:select col1, max(case when col2= 1 then col3 end) , max(case when col2 = 2 then col3 end ), max(cas...
2018-03-20 00:59:53 220
转载 导出db2数据库的表结构和数据
1、 catalog server 端的 node ,命令如下: db2 catalog tcpip node node_name remote hostname server service_port db2 uncatalog node node_name (取消节点的编目) 其中 node_name 是由你任意起的一个结点名,结点名不...
2018-03-20 00:57:57 17721
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人