如何在Spring中使用WebLogic 12.2.1提供的JNDI数据源?

6
我创建了一个带有以下值的JNDI连接:
我选择了“通用数据源”选项
名称:jdbc/sampleDataSource JNDI名称:jdbc/sampleDataSource Spring配置文件:
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/sampleDataSource" />
我遇到了以下错误。
Error An error occurred during activation of changes, please see the log for details.
Error javax.naming.NameNotFoundException: While trying to lookup 'jdbc.sampleDataSource' didn't find subcontext 'jdbc'. Resolved ''; remaining name 'jdbc/sampleDataSource'
Error While trying to lookup 'jdbc.sampleDataSource' didn't find subcontext 'jdbc'. Resolved ''; remaining name 'jdbc/sampleDataSource' 

我无法解决这个问题。如何在Spring 4中进行配置。 是否需要添加任何额外的jar文件?请帮忙解决。


1
请查看此处:https://dev59.com/PXHYa4cB1Zd3GeqPQ94M - Baderous
@Baderous:我尝试了 <jee:jndi-lookup id="dataSource" jndi-name="java:jdbc/sampleDataSource" />,但是还是出现了同样的错误。 - Rajesh Narravula
1个回答

6
有时候这种情况发生是因为您忘记将已定义的数据源Target到特定服务器。您可以在Weblogic的管理服务器中找到它:

enter image description here

然后在 Targets 选项卡中:

enter image description here

您需要选择目标。

如果这不是问题,您可以尝试在applicationContext.xml中获取您的datasource的方法:

<bean id="dataSource" name="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="jdbc/mcdsDS"/>
    <property name="resourceRef" value="true"/>
</bean>

在需要datasource的任何地方使用dataSource引用。

希望这对您有所帮助。


<jee:jndi-lookup id="dataSource" jndi-name="jdbc/dimeDataSource" />在选择服务器时也能正常工作。 - Rajesh Narravula
@Rajesh:很高兴它能帮到你! - STaefi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接