Мне нужно подключить приложение Spring MVC к серверу базы данных oracle и серверу Glassfish.
Это мой MVCconfiguration.java
@Bean
public DataSource getDataSource() throws SQLException {
//Option 1 it works
//DriverManagerDataSource dataSource = new DriverManagerDataSource();
//dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
//dataSource.setUrl("jdbc:oracle:thin:@xxx.xx.xx.xx:1521:dtest");
//dataSource.setUsername("user");
//dataSource.setPassword("pass");
//Option 2 didn't work
JndiObjectFactoryBean bean = new JndiObjectFactoryBean();
DataSource dataSource = null;
JndiTemplate jndi = new JndiTemplate();
try {
dataSource = jndi.lookup("comp/env/test", DataSource.class);
} catch (NamingException e) {
}
//Option 3 didn't work
JndiDataSourceLookup dataSourceLookup = new JndiDataSourceLookup();
DataSource dataSource = (DataSource) dataSourceLookup.getDataSource("comp/env/test");
return dataSource;
}
В Glassfish есть ресурс jdbc и пользовательские ресурсы jndi
Но при развертывании файла войны я получил эту ошибку:
Объект типа [class java.util.Properties], доступный в расположении JNDI [comp / env / test], нельзя назначить для [javax.sql.DataSource].