我的weblogic容器中有两个数据源,并且我正在尝试使用如下Java代码为其中之一配置数据源:
@Bean
@Primary
public DataSource secondDataSource() throws IllegalArgumentException, NamingException {
JndiObjectFactoryBean dataSource = new JndiObjectFactoryBean();
dataSource.setResourceRef(true);
dataSource.setJndiName("SECONDDS");
dataSource.afterPropertiesSet();
return (DataSource) dataSource.getObject();
}
我有另一个在applicationContext.xml
中定义的数据源,如下所示:
<bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="MAINDS"/>
</bean>
但是,使用Java配置的数据源不起作用。我收到此错误:
javax.naming.NameNotFoundException: Unable to resolve 'SECONDDS'. Resolved ''; remaining name 'SECONDDS'
两个数据源均已在我的Weblogic服务器中正确配置;我知道这一点是因为只要配置了一个数据源,就可以从数据库中访问信息。当我尝试配置2个数据源时,它只是不起作用。