Два соединения с БД с использованием ejb, java persistence entitymanager - PullRequest
1 голос
/ 05 июля 2010

Я пытаюсь получить доступ к двум БД через один slsb, в частности, один метод внутри slsb. Однако это не возможно? Кроме изменения сохраненных процедур, есть ли что-нибудь еще, что я мог сделать?

@PersistenceContext(unitName = "DB1")
private EntityManager oneEntityManager;

@PersistenceContext(unitName = "DB2")
private EntityManager twoEntityManager;

...


    StringBuilder queryString1 = new StringBuilder("exec myProc1 ");
    Query queryOne = oneEntityManager.createNativeQuery(queryString.toString());
    List<?> resultListOne = query.getResultList();

    StringBuilder queryString2 = new StringBuilder("exec myProc2 ");
    Query queryTwo = twoEntityManager.createNativeQuery(queryString2.toString());
    List<?> resultListTwo = queryTwo.getResultList();

...

вызывает: org.hibernate.exception.GenericJDBCException: не удается открыть соединение

1 Ответ

1 голос
/ 06 июля 2010

Я пытаюсь получить доступ к двум БД через один slsb, в частности, один метод внутри slsb.Однако это не возможно?

Это определенно возможно, но было бы действительно полезно дать более подробную информацию:

  • Вы обращаетесь к различным базам данных?
  • можете ли вы показать конфигурациюваши единицы персистенции?
  • можете ли вы рассказать нам, как вы сконфигурировали свой источник данных (XA?)
  • можете ли вы показать, как вы аннотировали метод SLSB?

вызывает: org.hibernate.exception.GenericJDBCException: Невозможно открыть соединение

Это говорит о проблеме конфигурации для одного из ваших модулей персистентности, но невозможно сказать больше.

...