Spring如何使用WebLogic 12.2.1提供的JNDI DataSource?

How to use JNDI DataSource provided by WebLogic 12.2.1 in Spring?

我创建了一个具有以下值的 JNDI 连接:

我选择了Generic Data Source选项

姓名: 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 文件。请帮忙解决这个问题。

有时,当您忘记 Target 您定义的 datasource 到特定服务器时,就会发生这种情况。您可以在 Weblogic 的管理服务器中找到它:

然后在 Targets 选项卡中:

你应该select目标。

如果那不是问题,您可以尝试在 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 参考

希望这会有所帮助。