Когда мое приложение попыталось подключиться к базе данных через источник данных с помощью jndi, это показывает, что мой источник данных имеет значение NULL. ниже приведен весь соответствующий код.Ошибка инициализации datasource во свободе
XML файл
<?xml version="1.0" encoding="UTF-8"?>
<server description="data source configuration">
<dataSource id="sybase"
jndiName="jdbc/sybase"
type="javax.sql.DataSource"
>
<jdbcDriver>
<library>
<fileset dir="${ibs.dbdrivers.dir}" includes="jconn3.jar"/>
</library>
</jdbcDriver>
<properties.sybase databaseName="XXX" URL="jdbc:sybase:Tds:XXX:5000"/>
<recoveryAuthData user="XX" password="XX"/>
</dataSource>
</server>
класс Configration
@Configuration
public class SybaseDataConfig {
@Bean
public DataSource localDataSource() {
JndiTemplate jndi = new JndiTemplate();
try {
return (DataSource) jndi.lookup("java:comp/env/jdbc/sybase");
} catch (NamingException e) {
throw new BeanCreationException("dataSource", "Error looking up data source", e);
}
}
}
DAOimp класс
public class DAOimp implements IDAOimp{
private JdbcTemplate jdbcTemplate;
private SybaseDataConfig sybase;
@Autowired
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(sybase.localDataSource());
}
//some code
}
IBM-веб-bnd.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-bnd_1_0.xsd"
version="1.0">
<virtual-host name="default_host"/>
<resource-ref name="jdbc/sybase" binding-name="jdbc/sybase"/>
</web-bnd>
web.xml
<resource-ref>
<res-ref-name>jdbc/sybase</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
, когда мой контроллер вызова метода в классе daoimpl, это говорит о том, что источник данных является недействительным. могу я знать, что не так и что такое решение. благодарим заранее!
UPDATE:
<featureManager>
<feature>webProfile-6.0</feature>
<feature>jpa-2.0</feature>
<feature>ssl-1.0</feature>
<feature>localConnector-1.0</feature>
<feature>jdbc-4.0</feature>
</featureManager>
Невозможно использовать @Resource и вводить DataSource, где вам это нужно, а не все эти весенние вещи ?? – Gas
@ Gas same..i использовать ресурс, но он также не смог найти jndiname – fishermanfriends
. Добавить full'erver.xml' на вопрос или хотя бы часть функций. У вас есть функции jdbc и jndi? – Gas