我正在将应用程序从OC4J迁移到WebLogic 12c,并且Spring bean发出错误我无法弄清楚如何解决。我的问题是这个错误的原因是什么。 我有以下bean用于JNDI查找:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="${datasource.jndiname}" />
<property name="lookupOnStartup">
<value>false</value>
</property>
<property name="proxyInterface">
<value>javax.sql.DataSource</value>
</property>
</bean>
值${datasource.jndiname}
应来自config.properties
文件,其中包含以下行:
server.database.datasource=${datasource.jndiname}
server.database.datasource
的值来自config.filter
文件,其中包含以下行:
server.database.datasource=jdbc/DATASOURCE
这适用于OC4J,当我在WebLogic中将${datasource.jndiname}
替换为其值jdbc/DATASOURCE
时也可以正常工作,但如果我保留引用它会给我以下错误(我需要保留)它):
JndiObjectTargetSource failed to obtain new target object; nested exception is javax.naming.NameNotFoundException: While trying to lookup '${datasource.jndiname}' didn't find subcontext '${datasource'. Resolved ''; remaining name '${datasource/jndiname}'