2024-12-07 18:31
@zzutligang 昂,那使用Db.txInNewThread 包裹执行DDL操作就行。DDL操作用的数据库连接是新的,不会影响其他
2024-11-29 21:37
@zzutligang 有些业务必须用到 前端参数拼接的话,就用 map 做一个静态的全局白名单(表名、字段、条件等等参数均可,包括 sql 片段都可以放)。键值一样才行,用前端参数做 key 取 map 的value 值拼接到 sql 中。 奇安信安全源码扫码可通过,只做 if 判断,扫描器还过不了。要用 value值做拼接的对象就没问题。可过等保
2024-11-17 15:54
@飞空魔羽 不知道你那项目是不是没编译啥的,我六七年前有分享过一个 demo 在码云,你可以检出对比一下有什么不同https://gitee.com/bean80/yunfinal/tree/undertow/
2024-11-17 15:50
@zzutligang 加几行代码能实现的功能就自己加了,但是要加好多类才能实现的功能。。。那用现成框架更方便了。如果不想搞太麻烦,我就建议搞一个 jvm应用,接收一组 jdbc 和一组 sql 供执行,动态的,用完就关闭完事儿,公共的大家一起用性能还高
2024-11-13 14:48
@zzutligang 市面没有这类业务的框架吗? 虽然代码可实现,但是性能应该会非常差。可以考虑用其他的方案,比如业务需要的数据整合到一个库,用事物完成第一阶段数据整合,再到各应用下取各自需要的数据。或者独立出来应用,把需要的数据源整合在一起,在一个 jvm 里面使用,再用rpc或 http或 sql 取结果数据也是可拆分的。如果非得实现,我想我会用Redis做一个事物组,把需要的xa 数据源都标记在哪个位置,然后用Redis锁,让大家都等业务执行完了, 再用发布信息让大家都提交或回滚处理。
2024-11-12 19:30
@zzutligang 都手撸XA 了,多线程下也就是共享config.setThreadLocalConnection(connection);变量的事情了,没啥麻烦的。看我加两行代码就解决了