weblogic中重启项目后报错找不到数据源,需要重启weblogic才行的问题

当在WebLogic中遇到项目启动报错UnabletoresolvedataSource时,可能是因为应用关闭时未正确配置数据源的删除方法。通过在Spring的@Bean注解中添加destroyMethod属性或在XML配置中设置destroyMethodName,可以确保数据源在应用关闭时不被自动删除,从而避免启动时的问题。重启Weblogic并检查JNDI树可验证此解决方案。
摘要由CSDN通过智能技术生成

问题介绍:在weblogic中有时重启项目或启动项目会报错:Unable to resolve 'dataSource'. Resolved ''; remaining name 'dataSource',但是重启weblogic服务可以正常启动项目,项目使用spring框架
解决方案:

  1. 重启weblogic正常启动项目后查看JNDI树,然后关闭项目观察项目使用的数据源是否从JNDI树中消失,查看JNDI树方法(以12C为例):
    在weblogic控制台打开服务列表,点击项目部署时选择的目标服务点击查询JNDI树
  2. 项目重启时数据源消失是因为,通过代码获取数据源链接时,没有配置对象删除方法,应用关闭时就会删除数据源,可以在@Bean注解中添加destroyMethod 属性,如果是多数据源项目,每个数据源都要设置,如下所示:
@Bean(destroyMethod = "")
public DataSource dataSource() {
    JndiDataSourceLookup dataSourceLookup = new JndiDataSourceLookup();
    DataSource dataSource = dataSourceLookup.getDataSource("dataSource");
    return dataSource;
}

如果是xml,配置如下:

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="dataSource" />
    <property name="destroyMethodName" value="" />
</bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐 逸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值