Кто-нибудь знает, что делают эти свойства Oracle AQ JMS XA?

StackOverflow https://stackoverflow.com/questions/2684892

  •  30-09-2019
  •  | 
  •  

Вопрос

Я использую Oracle Advanced очередей через JMS из WebSphere App Server.

Кто-нибудь знает, что влияет на следующие два свойства: -

 - oracle.jms.useEmulatedXA
 - oracle.jms.useNativeXA

Я видел упомянул в некоторых блогах и быстрого начала направляющих, обычно в предложениях вдоль линий «add -dorcle.jms.useematedxa = false -dorcle.jms.usenativexa = true для переменной java_properties», без каких-либо объяснений относительно того, что они делать:-

например

Мне любопытно, что на самом деле делают эти два свойства, и какие значение их настраивают, даже если они, кажется, не влияют на наше приложение независимо от того, установили ли мы их или нет.

Googling не дал никаких ответов, у кого-нибудь есть подсказки, что они на самом деле делают?

Это было полезно?

Решение

Надеюсь, эта ссылка подробно объяснит вещи: http://bit.ly/bsl9un. Соответствующие биты включают следующее ...

Эмулируемые источники данных являются источниками данных, которые эмулируют протокол XA для JTA транзакций. Эмулируемые источники данных предлагают кеширование OC4J, объединение и расширения Oracle JDBC для источников данных Oracle. Исторически эмулируемые источники данных были необходимы, потому что многие драйверы JDBC не предоставляли возможности XA. Сегодня, хотя большинство драйверов JDBC предоставляют возможности XA, существуют все еще случаи, в которых предпочтительнее примулируется XA (например, транзакции, которые не требуют двухфазных коммит.)

Соединения, полученные из эмулируемых источников данных, чрезвычайно быстры, потому что соединения эмулируют API XA без предоставления полной глобальной транзакционной поддержки XA. В частности, эмулируемые источники данных не поддерживают двухфазный коммит. Oracle рекомендует использовать эмулированные источники данных для локальных транзакций, или когда ваше приложение использует глобальные транзакции, не требуя двухфазных коммит.

А также...

Немалывленные источники данных обеспечивают полную (нерумянную) службы JTA, включая двухфазные возможности Commit для глобальных транзакций. Немалывленные источники данных предлагают объединение, кэширование, распределенные операции и поставщики REDOR JDBC Extensions (в настоящее время только Oracle JDBC Readensions). Для получения информации о ограничениях двухфазных коммит, см. Главу 7 «API Java Transaction API».

Oracle рекомендует использовать нерумянные источники данных для распределенных баз данных коммуникаций, восстановления и надежности. Нередливые источники данных имеют физические соединения для логических подключений к той же базе данных для одного и того же пользователя.

Так что происходит, когда вы устанавливаете эмулируемый XA, это ваше приложение думать Это получает xa, но звонки оптимизированы или переведены на однофазный коммит. Когда вы указываете не эмулируемый XA, вы получаете функциональность полной XA. В любом случае, приложение блаженно не знает.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top