Здравствуйте, tavr, Вы писали:
T>не вижу проблемы
T>прописать все datasources, dataDao и bean в spring конфиг xml, замапить dataDao как свойства bean
T>в рантайме bean будет смотреть какой dataDao ему использовать в зависимости от свойств пользователя
T>или я не совсем понял задачу? тогда уточни логику приложения
Спасибо за этот ответ.
Всё же есть сложности с таким подходом.
1. Скажем я меняю в моём bean property "dao", когда мне надо обратиться к базе данных. В этом случае, если запросов много и они конкурируют между собой, может возникнуть ситуация, что "dao" на самом деле указывает не на ту Базу(datasource).
Конкуренция — вот первая проблема.
2. Если я использую :
<code>
<bean id="dao.session.factory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dao.datasource"/>
.....
.....
<bean id="customer.service"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="txManager"/>
<property name="target" ref="customer.service.target"/>
<property name="transactionAttributes">
<props>
<!-- TODO Requered new here ... -->
<prop key="save*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<code>
то мне необходимо также управлять заменой datasource в dao.session.factory...или я что-то не догоняю тут...
3.Аппликация такая: веб приложение, которое призвано обеспечить одинаковую business логику для 100-200 клиентов, каждый клиент будет работать со своей базой данных, но пользоваться одной и той же логикой. Я уже думаю не дать ли каждому свой applicationConfig.xml(spring) и не позволить ли им работать каждому со своей конфигурацией и со своим bean factory?
Спасибо.