- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 RabbitMQ消息队列改造踩过的坑
1、背景H6系统与H6CS超市门店系统之间会存在比较频繁的数据交互,那么就需要考虑两个系统之间的数据传输方式。第一次考虑使用rest接口调用的方式,但是缺点很明显,一个系统宕机时,另外一个系统的业务流程就没法进行下去,耦合性太强;继而想到使用异步队列的形式来解决耦合的问题,也就有了后续的基于Redis实现的消息队列2、缺陷Redis也可以看做为一个数据库, 那么业务单据的保存和发送消息到redis上其实属于两个事务,那么必然会出现消息发送成功时,本地事务提交失败导致本地的业务数据回滚,而消息已经发送
2020-10-09 17:35:16
1417
原创 java调用dll文件的几种常见方式
java调用动态库需要关注的问题: 1. 如何装载DLL文件,以及如何定位所要使用的方法; 2. 数据类型如何对应; 3. 如何给使用的方法传递参数; 4. 如何获取返回的值。一. 数据类型对应关系 Java Type C Type boolean int byte char char wchar_t ...
2018-02-09 16:38:36
34767
原创 Kettle工具-oracle跟postgresql数据之间进行字段映射
使用 Kettle 的 Select values 步骤处理字段类型转换,结合 SQL 的 NVL/COALESCE 函数处理默认值。
2025-03-03 16:14:57
622
原创 对象池、连接池、线程池等池化技术,你真的会用吗?
池化技术是一种资源管理策略,通过预先创建和维护一组可重用的对象或者连接,减少频繁创建和销毁这些资源的开销,常见的就有对象池、数据库连接池、Http连接池、线程池等等, 分别对应一些常用的Java库: commons-pool、commons-dbcp、Apache-httpclient、TreadPool等等。- 配置复杂性: 需要合理配置池的大小、逐出策略等参数- 资源泄漏:如果对象或连接没有正确归还到池中,可能会导致资源泄漏。
2025-01-15 17:05:40
990
原创 生产环境一次Full GC引发的quartz任务被中断
异步任务不执行,通常都是以下两个原因,一是本身主线程直接挂掉了,这种情况下所有其他的任务都会停止运行;二是子线程出现阻塞,导致它单个资源的线程无法执行下去,这种情况就多去考虑锁表或者死循环的场景。FULL GC的危害还是很大的, 应该尽量避免系统出现长时间的Full GC。
2024-09-24 17:03:04
743
1
原创 java获取当前时间,伴随的时区你真的考虑清楚了吗
生产系统中基本都是部署在docker容器下,docker容器又是部署在服务器上。那么这里就涉及到两个时区配置,一个是服务器时区,一个是容器内jvm的时区。因此在实际应用中,应该在制作镜像的时候就确定好需要部署的服务器时区,确保JVM时区跟服务器时区一致, 防止出现不必要的错误。虽然都是获取当前时间,但是有的精度更高,有的带有时区,有的又不带时区。那么就需要一连三问了。
2024-06-07 18:14:01
762
原创 连接 ORACLE 到非 Oracle 系统 - 一次dblink引起的灾难
连接 ORACLE 到非 Oracle 系统时返回此信息, DBLINK后面需要加上commit或者rollback, 并且不能用于高频率调用的接口
2024-06-07 17:24:35
1201
原创 redis的常用命令
windows下通过cmd命令操作Redis 连接Redis命令: redis-cli.exe -h 127.0.0.1 -p 6379 当提示NOAUTH Authentication required时,输入命令: auth [password], 用于设置密码。 Redis...
2019-09-24 11:46:45
215
原创 Oracle数据库迁移到PostgreSQL的问题总结
PostgreSQL特点:1. PostgreSQL 可以在所有主要操作系统中运行;2. PostgreSQL支持文本、图像、声音和视频;3. 支持SQL的基本功能,例如: 复杂SQL查询,子选择,外键,触发器,视图,事务,多进程并发控制(MVCC),流式复制(9.0),热备(9.0)4. 在PostgreSQL中, 表可以设置为从 ‘父’表继承其特征;5. 可以安装多个扩展以向Pos...
2019-09-23 16:51:43
9105
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅