Источник данных XA не XA в WebSphere

В настоящее время я работаю над веб-приложением, работающим на взаимоувязанной WebSphere. Это приложение использует источник данных (общий с другими приложениями) и постоянный таймер EJB.

Поскольку таймер EJB является постоянным, WebSphere использует свой собственный источник данных для сохранения состояния таймера EJB в базе данных. (Используется для внутреннего управления WebSphere)

Таймер EJB приложения вызывает DAO мой «метод создания».

Все они управляются транзакциями JTA.

Я хотел бы найти лучшую «стратегию» для применения в отношении источников данных. После нескольких поисков в Интернете я все еще в неведении.

Как настроить источники данных?

  • Следует ли использовать в XA два источника данных?
  • Можно ли использовать источник данных, отличный от XA, для управления моим таймером EJB (WebSphere) и источник данных XA для обработки, выполняемой в моем EJB (метод создания)?

На мой взгляд, все источники данных должны быть не в XA ...

Какова наилучшая практика, когда мы используем источник данных во взаимной среде, необходимо ли использовать один источник данных (указывающий на одну и ту же БД) для каждого приложения или иметь только один источник данных для каждой БД?

Большое спасибо :)


person tripless    schedule 18.01.2018    source источник


Ответы (1)


Я не уверен, что вы имеете в виду под «взаимоувязанной» WebSphere, но предполагаю, что вы имеете в виду экземпляр сервера приложений с несколькими запущенными приложениями. Ваши вопросы:

Следует ли использовать два источника данных в XA? Не обязательно два источника данных, а два или более ресурса в целом. В транзакциях XA могут участвовать не только источники данных, но и другие ресурсы. В общем, если транзакция не включает несколько ресурсов базы данных, вы хотите использовать источник данных, отличный от XA, для выполнения этой транзакции. Можно ли использовать источник данных, отличный от XA, для управления моим таймером EJB и источник данных XA для обработки, выполняемой в моем EJB? Да, это возможно. Вы также заявили: Поскольку таймер EJB является постоянным, WebSphere использует свой собственный источник данных ... Это правда, что источник данных по умолчанию используется по умолчанию, но вы можете настроить службу таймера ejb с другим источником данных. . Необходимо ли использовать один источник данных (указывающий на одну и ту же БД) для каждого приложения или иметь только один источник данных для каждой БД? Нет необходимости использовать DS для каждого приложения, но это может быть необходимо в зависимости от по вашим требованиям. Нет простой передовой практики из-за сложности корпоративной среды. Очевидно, что если ваши данные хранятся в нескольких бэкэндах, вам понадобится несколько источников данных. Если все ваши данные хранятся в одном сервере, использование одного DS может иметь смысл.

person F Rowe    schedule 19.01.2018