- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 JAVA项目不同环境使用不同依赖包的处理
背景:项目是通过jenkis打包,通过K8S更新,从开发环境推送到测试环境,再推送UAT环境,最后推送生产环境。项目中与某银行对接,银行给的SDK包在测试,UAT,生产环境上都不一样,先把不同的包分别增加以test,uat,prod后缀命名artifactId上传到maven私库。方案一:修改pom文件依赖,每次都从开发环境一路更新到对应的环境,此方案的缺点有2个,第一点是很麻烦,每次都得改pom文件依赖,得重新打包更新。
2024-04-26 15:26:29 908 2
原创 tomcat读取指定目录的配置文件
在生产环境下,为了保证配置文件不被随意修改,一般项目部署的时候都需要把代码与配置文件分离,如把配置文件放到tomcat的conf目录下,让tomcat读取配置文件需要在tomcat的bin目录的catalina.sh文件里增加 CLASSPATH=/home/hycs/invoice-admin/conf 如果tomcat的项目需要指定特定的版本,则在catalina.sh文件里增加expor...
2020-03-29 22:12:34 3165
原创 java.security.InvalidKeyException: Illegal key size错误
新使用了AES的256位密钥加解密,项目上线后发现生产在加密的时候报java.security.InvalidKeyException: Illegal key size错误,而本地和测试环境都是没问题的。产生错误原因:为了数据代码在传输过程中的安全,很多时候我们都会将要传输的数据进行加密,然后等对方拿到后再解密使用。我们在使用AES加解密的时候,在遇到128位密钥加解密的时候,没有进行什么特...
2020-03-26 18:32:31 42728 45
原创 在Java项目进行增量更新的时候出现java.lang.NoSuchMethodError的问题的原因
在对某个bean类的属性修改了类型,然后将编译后的class拷贝到发布的项目中替换掉原先的class文件,运行项目后可能会报出java.lang.NoSuchMethodError错误。 此错误是因为引用这个修改类的类没有进行重新编译与替换更新导致的,Java在编译的时候确定方法的签名,引用类在编译时使用修改前的类的方法进行签名,而此时修改的bean类的属性已经修改了...
2020-03-25 18:43:43 490
原创 mysql大批量数据插入优化
目前在项目中发现一张700万的表,插入10万条数据通过Mybatis的批量插入大概需要3分钟左右,耗时太长。现在通过mysql的LOAD DATA LOCAL INFILE命令进行优化插入。最后测试10万条数据批量插入大概在3秒左右的时间。定义命令执行语句public interface FastBatchInsertSqlConstants { String VERIFY_O...
2020-03-19 17:49:19 1436
原创 通过反射获取对象某个属性的值
通过反射获取对象某个属性的值public class DataLinkAspect { private static String[] types = { "java.lang.Integer", "java.lang.Double", "java.lang.Float", "java.lang.Long", "java.lang.Short", "java.lang.Byte...
2020-03-19 16:49:07 1578
原创 项目里时间与linux系统时间不一致问题
Java运行打印日志与系统时间不一致问题解决方法:1.修改/etc/sysconfig/clock文件,若没有该文件则创建。#编辑/etc/sysconfig/clockvim /etc/sysconfig/clock#添加如下内容ZONE="Asia/Shanghai"UTC=falseARC=false如果没权限修改,需使用sudovim /etc/sysconfi...
2020-03-16 20:43:38 1910 1
原创 记一次想利用分布式锁解决数据并发安全问题,但最后因为事务导致失败的问题
在生产上发现有Expectedoneresult(ornull)tobereturnedbyselectOne(),butfound:2的报错,后面定位到如下代码,首先进行数据库查询,如果查询不到调百度的ip定位接口,然后再插入到数据库。此处如果有多个线程先进行查询,然后再插入,又因为数据库中IP字段没有设置唯一索引,导致数据库中IP相同的数据会有多条。@Servi...
2019-03-25 17:51:27 734 1
原创 java获取本地机器IP地址和访问的端口
Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces(); while (allNetInterfaces.hasMoreElements()){ NetworkInterface netInterface = (NetworkInterfac...
2019-03-25 11:44:13 2471
DBImport 数据库数据导出,表设计导出与数据库文档生成工具
2019-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人