I think this is a bug in the released version of iBatis. That should be
fixed in the trunk.

On Wed, Sep 3, 2008 at 6:46 PM, Rafi Ghazarian <
[EMAIL PROTECTED]> wrote:

>  Hi All,
>
>
>
> I have two DaoManagers in my application.   I saw an inconsistent behavior
> when getting the local session handler from one of the Dao Managers.    I
> noticed that one of the Dao Manager gave me the context (session handler)
> that belonged to the other Dao Manager.  Furthermore, I noticed this when I
> had called OpenConnection on the incorrect Dao Manager.  After I switched
> the OpenConnection on the correct Dao Manager, I got the correct session
> handler.  Currently I notice that CondfiguerAndWatch will only work on one
> of the DaoManager configurations, but not both.  The one that it works on,
> is random.
>
>
>
> Some sample code
>
>
>
> public void Init()
>
> {            _daoManager1 = ServiceConfig1.GetInstance().DaoManager;
>
>             _DaoManager2 = ServiceConfig2.GetInstance().DaoManager;
>
>             _subjectDao = (ISubjectDao)_daoManager[typeof(ISubjectDao)];
>
>             _subjectIndexDao = (ISubjectIndexDao)_subjectIndexDaoManager[
> typeof(ISubjectIndexDao)];
>
>             _dataRequestDao = (IDataRequestDao)_daoManager[typeof(
> IDataRequestDao)];
>
> }
>
>
>
> public SubjectSearchCollection SearchSubject(SubjectSearchInputs ssi,
> PaginationInfo pageInfo)
>
> {
>
>     SubjectSearchCollection subjectSearch = null;
>
>
>
>     try
>
>     {
>
> //I found the issue here, where I was calling _
> daoManager1.OpenConnection(); instead of _ DaoManager2.OpenConnection()
>
>
>
>         _ DaoManager2.OpenConnection();
>
>
>
>
>
>         subjectSearch = _subjectIndexDao.SearchSubject(ssi, pageInfo);
>
>     }
>
>     finally
>
>     {
>
>         if (_subjectIndexDaoManager != null)
>
>             _subjectIndexDaoManager.CloseConnection();
>
>     }
>
>
>
>     return subjectSearch;
>
> }
>
>
>
> I realize that I can have a single DaoManager with 2 contexts for the 2
> different data sources, however, due to system security requirements these
> two database connections need to be as physically segregated as possible.
> That is why I went with a completely separate Dao Manager.
>
>
>
> Please let me know if I am violating any of the base assumptions in ibatis,
> such as, you can only have a single dao manager in your app domain.  Also,
> will run into any distributed transaction management issues in the future?
>
>
>
> Thanks for your help in advance,
>
> Rafi
>

Reply via email to