2013-08-21 48 views
0

如何在Spring-Server.xml中配置DataSource標籤? 我一直在努力對其進行配置,但實際上我並沒有找到任何有用的參考: 我在寫這本如何:Apache James 3 DataBase DataSource

<data-source class="org.apache.james.util.dbcp.JdbcDataSource" name="JamesDS"> 
<driver>oracle.jdbc.driver.OracleDriver</driver> 
<dburl>jdbc:oracle:thin:@localhost:1522:test</dburl> 
<user>James</user> 
<password>123456</password> 
</data-source> 

回答

0

您應該配置dataSource作爲一個bean,每行你寫的內部應定義爲property。例如:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
    <property name="url" value="jdbc:mysql://localhost:3306/myschema" /> 
    <property name="username" value="root" /> 
    <property name="password" value="password" /> 
</bean> 

正如您從示例中所看到的,您可以使用不同的驅動程序 - 取決於您要連接的數據庫。

又如:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
    <property name="url" value="jdbc:mysql://localhost:3306/myschema" /> 
    <property name="username" value="root" /> 
    <property name="password" value="password" /> 
</bean> 

重要:從Spring docs
DriverManagerDataSource

這類不是一個實際的連接池;它實際上並不連接 連接。它只是簡單地替換成熟的連接池 ,實現相同的標準接口,但是 在每次調用時創建新的連接。

如果您需要J2EE容器之外的「真實」連接池, 會考慮Apache的Jakarta Commons DBCP或C3P0。 Commons DBCP的 BasicDataSource和C3P0的ComboPooledDataSource是全連接 池bean,支持與此類相同的基本屬性加 特定設置(例如最小/最大池大小等)。

我建議在閱讀下面good introduction to JDBC

+0

感謝ü您的回覆!但我仍然在嘗試啓動服務器時遇到一些問題(運行run.bat) 拋出異常java.lang.IllegalStateException:無法將[java.lang.String]類型的值轉換爲所需的類型[org。 springframework.orm.jpa.vendor.Database]屬性'database' 由於我在Spring-server.xml中編寫了這個異常: 該id = vendorAdapter 你建議我做些什麼來解決這個錯誤 – primeFaceUser

+0

重新啓動服務器(通常)與數據庫連接無關。您應該能夠重新啓動服務器,並且對請求數據庫連接的應用程序發出請求失敗。 – alfasin

+0

編輯數據源配置之前,服務器正常啓動沒有任何異常,但是當我配置它時,我確信我在配置中有一些錯誤,請給我一個完整的樣本\關於只有數據源塊.. 。 提前感謝你! – primeFaceUser