2014-01-20 1 views
0

Я developping приложения J2EE с AppFuse, которые имеют настройки по умолчанию MySqlConnect J2EE приложение с двумя различными базами данных

<!-- Database settings --> 
<dbunit.dataTypeFactoryName>org.dbunit.ext.mysql.MySqlDataTypeFactory</dbunit.dataTypeFactoryName> 
<dbunit.operation.type>CLEAN_INSERT</dbunit.operation.type> 
<hibernate.dialect>org.hibernate.dialect.MySQL5InnoDBDialect</hibernate.dialect> 
<jdbc.groupId>mysql</jdbc.groupId> 
<jdbc.artifactId>mysql-connector-java</jdbc.artifactId> 
<jdbc.version>5.1.27</jdbc.version> 
<jdbc.driverClassName>com.mysql.jdbc.Driver</jdbc.driverClassName> 
<jdbc.url>jdbc:mysql://localhost/${db.name}?createDatabaseIfNotExist=true&amp;amp;useUnicode=true&amp;amp;characterEncoding=utf-8&amp;amp;autoReconnect=true</jdbc.url> 
<jdbc.username>root</jdbc.username> 
<jdbc.password></jdbc.password> 
<jdbc.validationQuery>SELECT 1 + 1</jdbc.validationQuery> 

Но мне нужно подключить мое приложение с внешними базами данных (SQL QERVER) для извлечь некоторые данные. Мне нужна помощь в настройке maven для использования двух разных баз данных (mysql + sql server)

ответ

0

maven поможет вам с загрузкой файлов jar драйвера. Для этого вы создадите два источника данных/сеанса.

0

Я думаю, что это может быть достигнуто довольно легко в краткой директиве следующим образом:

  1. Создайте второй «DataSource» определение бина в ApplicationContext-resources.xml с MSSQL конкретные значения, такие как класс драйвера, URL и т. д. Дайте ему другой bean id, «dataSourceMSSQL», возможно. Привяжите их к другому файлу свойств, если вы не хотите жестко закодированных значений свойств. Для простоты вы можете просто закодировать его (не рекомендуется).

    Если вы выбрали иначе, вам нужно создать другой файл свойств для хранения свойств соединения mssql, возможно, jdbc-mssql.properties и добавить его в список свойств. Это также требует, чтобы вы вносили изменения в свой файл pom, чтобы включить пользовательские настройки под <! - Настройки базы данных - > раздел. Это может быть немного сложнее.

  2. Создайте еще одно определение «sessionFactory» в applicationContext-dao.xml с определенными значениями MSSQL, такими как диалоги hibernate и т. Д., И привязывает его к «dataSourceMSSQL» как свойство dataSource ref. Дайте ему другой bean-идентификатор, возможно, «sessionFactoryMSSQL».

  3. проволоки ваши объекты DAO, которые требуют нового SessionFactory т.е .:

@Autowired
частный SessionFactory sessionFactoryMSSQL;

Надеюсь, что сработает для вас.