问题整理
文章平均质量分 63
开发和维护常见问题整理
Tatum_99999
java开发
展开
-
记一次数据库or和and优先级引发的连环生产故障
故障描述自上个月某个功能改动上线以后,最近生产上连环出现了多个生产故障,故障基本描述如下: error日志出现数据库连接异常,而实际交易量似乎并没有到达耗尽连接池的地步。 数据中某个字段无值,不符合正常设计推理的流程。 数据出现诡异的结果,和关联的业务日志显示的完全不一样,业务日志显示成功,数据库记录却是成功。 场景描述在详细说明上述故障之前,需要简单描述一...原创 2018-04-19 17:59:01 · 797 阅读 · 0 评论 -
c3p0和druid性能测试过程中sybase卡死的问题解决过程记录
起因近期公司打算把之前项目中的c3p0数据库连接池更换为druid,在给出替换方案前,需要先给出测试数据证明druid性能优于c3p0,于是便写了个demo进行对比测试。 一开始先要确定配置的没有问题,起码先要可以操作数据,就运行了一下测试方法。由于运行的时候其他事耽误了一下,就跑了10min,然后插入了86万条数据到sybase数据库中。 在正式测试之前我打算把表中原有数据清空,然后便遇原创 2018-01-18 12:51:20 · 1075 阅读 · 0 评论 -
记java动态加载配置文件不成功的问题
一、问题背景:在我们之前的项目中,很多数据是配置在application.properteis文件中的,这样很多时候修改了数据后,只需要重启应用,而不需要重新打包编译。 但是近期有一个新的需求,运维希望不仅不用重新打包编译,即便是重启,也要省掉。二、问题描述:之所有之前修改了数据后需要重启应用,是因为我们的项目中application.properties文件只会加载一次,然后就放在...原创 2018-03-02 13:21:24 · 1351 阅读 · 0 评论 -
java程序6H到14min及80G内存到28G的优化过程(补充记录)
前言前边有发过一篇代码优化的文章:记一次java程序从6H到30min的优化过程大概描述的是一个java程序从最大内存至少80G,运行需要6H30min,到最大内存降到75G并且运行30min的优化过程。但是实际上这个结果并不达标,基于现有的环境,期望的最大内存不能超过64G,并且在可以接收的处理时间内这个内存应该越小越好。终于又经过了几天的奋战后,这个结果变成了28G和14min。(这里的时间,并非指单纯读文件的时间,而是整个程序所有业务的完整时间)最终优化方案解析达到上述效果的原因,主要是原创 2022-04-12 19:20:36 · 905 阅读 · 0 评论 -
论细节决定成败
说明近期,工作中、工作外、个人、他人均遇到了不少问题,而这些问题的成因均因未注意细节而造成,使我再一次想起那句名言:细节决定成败。于是我觉得很有必要做一个记录,用以自警和他警。事件一:一个数据库预留字段造成的上线失败这个事其实是比较严重的一个事,因为涉及到了生产,并严重影响甲方公司对我方的评价。 整个经过大概是这样: 甲方公司给我们公司提出了一个需求,这个需求是六月份开始建立工单的,而实际开发应原创 2017-11-14 11:36:05 · 1842 阅读 · 2 评论 -
使用python和java一键替换word文件内容
需求一键替换word文档内容,是个比较常见的需求,office和wps也都有全部替换功能。但是这个功能只能针对当前打开的文档,如果有多个文档,就需要一个一个的来。同时,如果要替换的内容也是多个,同样需要一个一个的来。在文件少的情况下可能也没什么,但是如果文件有几十个,那么可能就很需要耐心了,因此一键替换所有符合要求的文档中内容的需求就有了。技术选型poijava中操作word,比较熟知或者说比较官方的api是poi,对于word普通的操作其实也可以了。但是对于文档内容替换,实际使用时却发现有很原创 2020-11-30 13:25:07 · 908 阅读 · 0 评论 -
近期生产问题和解决方案记录
前几天生产环境上线,过程不算顺利,总结下原因大概有这么几点:前期准备工作不足,依赖的中间件软件安装后未经过充分验证,例如mongodb;临时改配置,sit和预生产的中间件单机,生产使用集群,集群环境的使用未得到充分验证;不可抗因素,踩到了springboot版本的bug。以下是部分可记录供后续参考的问题和解决方案:mysql-sqlmode问题这个问题实际不是生产的问题,是之前预生产出现的,之前没有记录,这里一并记了。部署预生产后,数据库分页操作报错,这个问题遇到很多次了,只是运维同事搭建原创 2020-10-23 11:43:52 · 3199 阅读 · 7 评论 -
vue项目搭建问题记录
前言新型肺炎,湖北在水深火热之中,到处封路,不敢出门。武汉回来还不满14天的我,又不敢带小孩儿,干着急也没有什么作用,索性还是学点东西吧。本想重构一下之前的小项目,把前台的实现由thymeleaf模板改为更流行的vue,但是创建vue项目时却遇到一些问题,以下为记录备忘。记录一:安装cnpm卡住按原来的步骤,使用vue init webpack projectName可以创建一个初始的...原创 2020-01-28 16:12:24 · 2351 阅读 · 0 评论 -
关于rabbitmq安全漏洞的问题
在我们的很多个项目中都用到了消息中间件,虽然现在有些已经改用了kafka,但是还有相当一部分依然用的是rabbitmq。 而最近呢,我们收到了一份关于安全漏洞扫描的文档,说我们的rabbitmq存在着一些安全漏洞问题,既然是有问题,自然是需要整改的,但是看完文档以后,发现这种安全漏洞问题似乎并不是很好解决。 文档中指出的问题主要有这样三个: 一、更改密码没有验证旧密码 说的具体点原创 2017-02-17 09:48:46 · 18613 阅读 · 1 评论 -
mongodb副本集中其中一个节点宕机无法重启的问题
2-8日我还在家中的时候,被告知mongodb副本集中其中一个从节点因未知原因宕机,然后暂时负责代管的同事无论如何就是启动不起来。 当时mongodb的日志信息是这样的: 实际上这里这么长一串最重要的信息应该是在后边几行:2017-02-08T17:10:28.754+0800 I REPL [rsBackgroundSync] replSet our last op ti原创 2017-02-14 12:54:50 · 6235 阅读 · 10 评论 -
mongodb副本集搭建过程中的问题和解决技巧
在我以往的认知中,一个系统一旦正式上线,多半不会轻易的迁移服务器,尤其是那种涉及到多个关联应用,涉及到多台硬件服务器的系统,因为这种迁移将是牵一发而动全身的。 但是,却仍然有这种情况存在,就如我这几天主要负责的事,就是一个系统的全部服务器迁移中的部分机器迁移,还有一部分由别人负责。 这个系统涉及到flume数据采集,storm数据分析,rabbitmq消息分发,ehcache缓存提升系统性能,原创 2016-12-15 11:14:36 · 3031 阅读 · 0 评论 -
Access denied for user(这个几乎让我怀疑人生的异常)
昨天一时兴起,打算根据自己的某些想法,业余时间写一个简单的项目,用以巩固那些重要的知识,以及练手一些即将学习的技术。 然而才一开始,便有一盆冷水迎面而来,在搭建整个框架环境的时候竟然就被卡住了!主要是两个问题,第一个还好说,可是第二个,让我抓狂,让我差点怀疑人生! 最终结果是,一个是因为单词拼写错误,一个是因为多余的空格! 拼写错误害死人,空格害死人啊! 这个跟头真是一摔再摔,前赴后继!原创 2016-11-29 11:08:13 · 49944 阅读 · 11 评论 -
redis客户端连接服务端the version of redis server is too low to support this function错误
redis作为一个内存数据库,使用得当可以大大的提升系统运行的效率,据说能读的速度是110000次/s,写的速度是81000次/s,我们的其中一个系统就用到了这个。由于之前负责这个的同事离职,只好临时抱佛脚进行简单的学习,学习过程中也不免遇到一些问题。之前linux测试机上有安装3.0版本的redis,我也找到离职的同事要到了相应的redisclient客户端工具,然后为了方便学习,自己下原创 2016-11-02 10:30:26 · 5325 阅读 · 0 评论 -
spring boot项目中使用jpa的一个未解之谜
公司最近主要的工作就是把之前的一个项目进行几乎全面的重构,之所以说几乎全面,是因为除开业务逻辑外全部换血: 框架由spring+struts2+mybatis改为spring boot+jpa 数据库由sybase+h2改为oracle+redis 子系统之间的交互由activemq改为http 代码具体实现全部重写对一个运行了若干年的项目进行这样的大动作,路程无疑是漫长而复杂的。在进原创 2017-09-11 18:41:23 · 1492 阅读 · 0 评论 -
struts2改spring boot过程中一些问题及解决办法记录
1、引入依赖包的问题 一般情况下,常用的jar包在maven仓库都可以找到,并能知道如何在pom.xml文件中配置,但是有时候需要在一些项目中使用一些我们自己写的代码生成的jar包,要引入maven中就需要做一些必要的处理。 我们项目中就有这样的情况存在,以下是处理方式之一,就是用maven的命令生成maven方式的jar,然后加入到本地库中引用,打包命令如下:mvn install:原创 2017-07-25 12:47:15 · 4823 阅读 · 0 评论 -
struts2改springmvc过程中问题及解决办法记录
我们目前的系统中使用了struts2框架,该版本是2.3.32,但近期Apache struts发布了一项struts的安全漏洞说明,具体如下:Apache Struts2 远程代码执行漏洞(S2-048)发布日期:2017年7月7日CVE ID:CVE-2017-9791受影响的版本:====================Apache Struts Version: 2.3.原创 2017-07-13 13:43:01 · 8103 阅读 · 0 评论 -
记一个sybase数据库启动不成功的问题
最近的项目使用sysbase数据库作为数据持久层保存数据,为了方便查找问题和测试,在本机安装了该数据库,设置了服务开机自启动。 上周一周这个数据库都用的好好的,经过了一个周末后,今天一大早开机后居然连接不上,用dbeaver数据库连接工具连接时报错:连接到数据源 "Sybase - upaynet" 时发生错误SQL 错误 [08S03]: Unknown server host na原创 2017-07-10 13:07:40 · 2867 阅读 · 0 评论 -
技术问题小总结1
前言做项目是提高技术最高效的手段,这句话从某种程度上而言真是太对了。 因为不论是大项目还是小项目,不论是正式项目还是个人业务项目,只要在做,就总能遇到各种各样的问题,从而能直接着重于某个点去学习。 以下便是最近做业余小项目-tzxbloghttps://github.com/tuzongxun/tzxblog时遇到的一些问题和解决办法记录。 springboot日志的问题原创 2017-12-01 16:14:31 · 491 阅读 · 2 评论 -
项目总结1——excel导出相关问题
1、excel导出文件时,文件名中中文部分空白不显示的问题,原本写法是:String fileName = "物联网PBOSS主机巡检日报-" + inspectTime + ".xls";response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("GBK原创 2016-09-08 12:28:32 · 1259 阅读 · 0 评论 -
说说最近项目中的几个坑
实践出真知,这是亘古不变的道理,最近的项目中我也是再次深深的体会了一把这句话的含义,有意无意的进了不少坑,一个一个的填平,下边是其中一部分总结: 坑1、linux和hp-unix中几个高频率操作的区别: 由于工作需要,经常要操作服务器进行部署、巡检,项目升级等操作,之前一直都是用的linux,但最近的一次项目却需要部署到hp-unix系统上。 这两个系统大部分的操作还是差不多的,但有些高频率原创 2016-09-23 15:02:16 · 1171 阅读 · 0 评论 -
java字符串替换的问题
今天工作中遇到一个问题,需要输出mongodbObject中的部分内容,当我转换成字符串以后出现了好像无法替换的问题,经过验证,发现并非是不能替换,只是想法错误而已。package demo;/** * 输出字符串中的chenggongzhimu,shibai,count,123 * @author tuzongxun * */public class Test19 {/***原创 2015-03-29 17:29:56 · 1020 阅读 · 0 评论 -
(二十三)mongodb中group的问题
今天的工作中我需要从mongodb数据库中查出一定的数据,并排序后返回给前台,数据库表中包含了ruleID,processingID,userID,updateTime等字段。 同一个ruleID可以对应多条processingID,我要做的是查出同一个ruleID中不同的processingID的条数,然后根据条数来排列先后顺序,如果条数相等的情况下,就根据updateTime再排序。原创 2015-03-29 17:33:21 · 1421 阅读 · 0 评论 -
(二十四)mongodb中group的问题二
今天的工作还是继续昨天没有完成的,由于对mongodb数据库的不熟悉,导致昨天的思路上也出了一点问题,我需要查询出同一个ruleID中不同的processingID的条数,然后根据条数来排列先后顺序,如果条数相等的情况下,就根据updateTime再排序。 昨天的思路是先按数量排序,然后再根据ruleID查出最后的修改时间,因为那个时候实际上还是没有理解group几个参数的真正意思,尤其是对原创 2015-04-02 08:43:46 · 900 阅读 · 0 评论 -
(二十五)svn的问题
今天更新代码到svn中的时候出现了错误,准确的说是在操作更新之前的步骤出现了错误,因此对svn有了更近一步的理解。 check:下载svn中的代码到指定的储存路径中; update:更新svn中的代码到本地;但是要注意的是,在update之前需要先同步,也就是synchronize with Repository,否则代码就可能会出问题,一般会在svn中的代码被别人更新之后出现。 所谓原创 2015-04-02 08:45:32 · 783 阅读 · 0 评论 -
(二十六)svn的问题二
上周五请了一天假,电脑放在公司没有带回来,三天的时间都没有看代码,使得我电脑上的东西与svn上相差了太多,因为不一样,所以就要更新同步,因为要更新同步的东西多,便又出了一些问题,也因此对svn有了更进一步的理解。 上周算是对svn有了一个大概过程的理解,基本上知道了每一大步应该是怎样的,但是涉及到具体的细节却依旧是有些犯迷糊,尤其是svn代码同步时解决冲突的问题,一直都不清楚究竟怎样解决才对。原创 2015-04-02 08:49:02 · 771 阅读 · 0 评论 -
linux中mysql命令方式备份数据的问题
这几天公司新出了个组件化的项目,里面需要用到mysql数据库相关的技术,由于之前一直用的mongodb,所以mysql几乎忘光了,于是只能在linux虚拟机中重新开始学习。基本的增删改查还好,但是在数据备份的上遇到了一些问题,好在一番尝试之后终于成功。Mysql的api以及网上说的备份命令是:mysqldump -uroot –p 要备份的数据库名> 目标路径/目标文件名.sql,于是我就照着敲原创 2015-05-29 10:57:24 · 2006 阅读 · 1 评论 -
eclipse导入html、js、xml报错的问题
今天重新安装eclipse,在导入部分html、js、xml文件,报错,解决办法如下:eclipse->window->preferences->Team,点击validation,出现如下界面:然后点击Disable All,把上边的勾都去掉,然后apply。再ok。之后刷新eclipse就可以了。原创 2015-10-30 12:34:04 · 2692 阅读 · 0 评论 -
java连接mongodb的一个奇葩问题及奇葩解决方式
昨天在eclipse中编写代码,本来连接mongodb进行各项操作都是正常的,但是有一会儿突然之间就没法连接了,还一直抱错,错误如下:信息: Cluster created with settings {hosts=[192.168.0.4:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000原创 2015-11-06 09:34:37 · 39331 阅读 · 14 评论 -
Spring整合activiti-modeler5.16遇到的小问题
接上一篇整合activiti-modeler并成功创建model:Spring整合activiti-modeler5.16 之后,我尝试运用自定义的model部署流程,但是在部署的过程中又遇到了一些问题,控制台一直报如下错误:log4j:WARN No appenders could be found for logger (org.springframework.test.context.j原创 2016-03-16 11:40:16 · 3702 阅读 · 3 评论 -
IE浏览器因缓存问题未能成功向后端发送请求的几个解决办法
这段时间前后端联调,解决IE、谷歌等浏览器兼容问题,真是让人有点焦头烂额,各种奇葩问题层出不穷,旧问题刚去,新麻烦又来,其中尤其以IE浏览器缓存的问题最多。有若干次都是因为这个缓存,使得前端的请求没有实际到达后台,造成304状态码。经过前端同事和我的各种尝试,发现有三四种办法可以针对不同的情况解决这个问题。方法一:在网上一搜“html设置不缓存”就会看到大部分的答案都是这个,那就是在之前的一篇博文原创 2016-05-09 18:20:47 · 4681 阅读 · 2 评论 -
同前端联调遇到的坑(二)
一、出现的问题项目在测试阶段出现了一些问题,在有一个页面进行增加或删除数据后刷新,页面没有任何反应。查看增加或修改的请求,响应是200状态,提示新增或删除成功,但是页面刷新后无论是条数还是详细数据都没有变化,该多的不多,该少的也不少。而且看到新增或删除后的查询请求,返回状态码是304,也就是说页面重定向了。由于这一模块相关的前端代码不是现在的这个同时负责,因此他也是一顿好找。二、失败的解决方案一开原创 2016-05-05 15:31:59 · 4268 阅读 · 0 评论 -
同前端联调过程中遇到的坑
最近在和前端联调的过程中,发现有个数据他们老是传不到后台,于是在网上查了一下资料后发现原来是disable属性在作乱,更改后解决问题,记录下来备忘。参考:http://www.3lian.com/edu/2013/06-22/75978.html1、2、这两种写法都会使显示出来的文本框不能输入文字,但disabled会使文本框变灰,而且通过request.getParameter("nam原创 2016-04-25 17:48:24 · 5027 阅读 · 2 评论 -
修改mongodb3.0副本集用户密码遇到的坑
最近公司对项目安全方面的问题很是重视,进行了多次各种安全漏洞的扫描,于是乎就扫到了mongodb弱口令的问题。在项目部署初期,因为大家对这个都不是特别重视,大概是因为觉得反正是内网项目吧,所以mongodb数据库的用户名和密码就都是admin。这次扫到弱口令之后,要求解决这个问题,于是任务便分到了我的头上。遵循强口令的标准,我把admin改成了由大写字母、小写字母、数字和特殊字符共同组成的密原创 2016-04-18 17:35:19 · 11569 阅读 · 2 评论 -
md5加密用户登陆遇到的问题及解决办法
有个项目的登陆模块使用到了cas,应需求要求,用户名和密码传输时使用了md5加密模式,加密的密码可以直接保存在数据库,但是加密的用户名则必须解密出来才行,于是后台的java代码中便写了针对用户名的解密代码。而前台,是在输完用户名和密码后,点击登陆按钮的时候调用相应的方法进行加密并发请求传输。但是测试过程中却发现了一个问题,就是在有的时候输完用户名、密码和验证码以后回车,后台会报如下的数组下标越界的原创 2016-05-24 16:17:43 · 7364 阅读 · 0 评论 -
问题解决了,可是为什么呢?could not find the main class.program will exitmain
今天重新学习socket编写简单的在线聊天,简单功能实现的情况下,一时心血来潮便想要把这程序打成可执行的jar包,以便于在桌面直接双击运行。参照自己之前写的那篇《》打好两个jar包以后却发现双击运行弹出如下错误:could not find the main class.program will exitmain错误如图所示:看到这错误,我不由的开始怀疑是否自己打包的过程有误,但是仔仔细细再看几遍原创 2016-05-18 22:51:07 · 9745 阅读 · 0 评论 -
java发送邮件时遇到的坑
之前用163邮箱发邮件时明明是成功的,但是使用中国移动自己的邮箱时,无论如何在linux服务器中都发送不成功,一开始报如下错误:javax.mail.MessagingException: Unknown SMTP host: mail.chinamobilesz.com at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTrans原创 2016-06-15 11:31:40 · 14391 阅读 · 1 评论 -
eclipse中maven的run as打war包失败的问题
场景一: 由于某些原因,有的时候需要暂时在断网的情况下,或者更标准的说,是在连不上公司的maven公有仓库的情况下打包。 很长一段时间,我打包都是在eclipse中用run as在线打包,直到前不久一次连不上公有仓库时打包出错,具体的错误因为某些原因,暂时无法重现,也就无法截图。 后来我的解决办法是,在maven的settings.xml文件中加入离线配置,如下图的 offline原创 2016-10-27 16:12:52 · 3024 阅读 · 0 评论 -
org.springframework.orm.jpa.JpaSystemException问题记录
最近在使用jpa的过程中出现了如下异常:org.springframework.orm.jpa.JpaSystemException: could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement at原创 2018-01-11 11:29:15 · 34625 阅读 · 3 评论