0
下面是我的數據源使用的數據源在藍圖中定義的Java訪問Oracle數據庫
<bean id="dataSource" class="oracle.jdbc.pool.OracleDataSource" destroy-method="close">
<property name="URL" value="jdbc:oracle:thin:@${host}:${port}:${dbname}"/>
<property name="user" value="${user}"/>
<property name="password" value="${pass}"/>
</bean>
<service ref="dataSource" interface="javax.sql.DataSource">
<service-properties>
<entry key="osgi.jndi.service.name" value="jdbc/oracleds"/>
<entry key="datasource.name" value="OracleDS"/>
</service-properties>
</service>
<bean id="LogToOracleDB" class="com.beans.LogToOracleDB">
<property name="dataSource" ref="dataSource" />
</bean>
我想叫LogToOracleDB
public class LogToOracleDB {
protected static DataSource dataSource;
public void test(Exchange exchange) throws SQLException {
Connection con = dataSource.getConnection();
Statement stmt = con.createStatement();
...............
}
即時得到空指針異常一些Bean文件使用它而獲得自datasource
以來的連接爲空。有人可以幫我查找數據源?
爲什麼是你的DataSource屬性靜態看?如果它是一個bean實例,則應該在該實例上工作並且不需要靜態變量。 – Alexander