Источник данных Apache James 3 DataBase
Как настроить тег DataSource в Spring-Server.xml? Я пытался настроить его, но на самом деле я не нашел никакой полезной ссылки об этом: я писал это так:
<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>
1 ответ
Вы должны настроить dataSource
как бин, каждая строка, которую вы написали внутри, должна быть определена как 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>
ВАЖНО:
из весны документы о DriverManagerDataSource
:
Этот класс не является реальным пулом соединений; на самом деле он не объединяет соединения. Он просто служит простой заменой полноценного пула соединений, реализуя тот же стандартный интерфейс, но создавая новые соединения при каждом вызове.
Если вам нужен "реальный" пул соединений вне контейнера J2EE, рассмотрите JCParta Commons DBCP или C3P0 от Apache. BasicDataSource от Commons DBCP и ComboPooledDataSource для C3P0 являются компонентами полного пула соединений, поддерживающими те же базовые свойства, что и этот класс, а также определенные параметры (например, минимальный / максимальный размер пула и т. Д.).
Я рекомендую прочитать следующее хорошее введение в JDBC