Как настроить ORM в ColdFusion 9 для использования нескольких DSN, если это возможно?
Возможно ли настроить источник данных в контексте области сеанса вместо области приложения?
Или как в CF9 настроить Hibernate на использование нескольких DSN?
Похоже, я должен быть более конкретным ...
Я ищу решение, которое позволяет указать DSN на основе сеанса.
Вот сценарий. У нас есть одно специальное приложение, которое использует несколько DSN, которые определяются из субдомена. Таким образом, кто-то, получающий доступ из http://abc.domain.com, будет использовать DSN abc, где кто-то, посещающий xyz.domain.com, будет использовать DSN xyz. Имя DSN определяется при создании сеанса и сохраняется как переменная сеанса.
Я бы хотел сделать что-то вроде этого:
// Artists.cfc
component persistent="true" datasource="#session.dsn#"
{
property name="artistid" generator="increment";
property firstname;
property lastname;
property address;
property city;
property state;
}
// Application.cfc
component output="false" {
THIS.name = "MultipleDsnORMTest";
THIS.applicationTimeout = createTimeSpan(0, 0, 0, 0);
THIS.clientManagement = false;
THIS.datasource = ""; // Leaving black ==> "No data source specified."
// Setting to cfbookclub ==> "ORM is not
// configured for the current application."
// Setting to cfartgallery works but doesn't
// demonstrate use multiple DSNs
THIS.loginStorage = "cookie";
THIS.sessionManagement = true;
THIS.sessionTimeout = createTimeSpan(0, 0, 0, 0);
THIS.ormenabled = true;
THIS.ormsettings = {};
}