SpringBoot部署到Weblogic后的DB问题

本文详细记录了将SpringBoot应用部署到Weblogic后遇到的DB事务处理问题。当SpringBoot应用的数据库配置由Spring Data源切换到Weblogic JNDI时,遇到事务提交但SQL未执行的情况。通过分析Weblogic的JTA管理,发现需要配置JNDI以适应Weblogic的事务管理。调整配置文件,创建DataSource类,并在项目中引入wlfullclient.jar以解决ClassNotFoundException和类型转换错误。最终,通过降级hibernate-validator版本解决NoSuchMethodError,成功实现DB的正常更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

总结一下遇到的问题,为遇到同样问题的同学提供些帮助。

SpringBoot部署到Weblogic后,发现DB的事务处理有问题。Debug程序发现程序的事务已经提交了,但要执行的SQL文没有被执行到。

原来的SpringBoot的DB连接配置是Spring datasource到Oracle DB,事务也是Spring的。

部署到Weblogic后发现DB的数据怎么都更新不了。

一通乱查,发现Weblogic的JTA管理是如下图

看这个图就能发现,程序只是把事务提交到了Weblogic的TM了。查了一下好像也不能关闭这个Weblogic的事务管理。

那也就只能把DB的配置在Weblogic来做,配置JNDI,修改SpringBoot的DB连接方式如下。

配置文件

spring:
  datasource:
     jndi-name: jdbc/abcd

weblogic:
  url: 't3://localhost:7001'
  jndiName: jdbc/abcd
  webLogicName: weblogic
  password:  weblogic123

新建DataSource类

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值