¿Alguien sabe lo que estas propiedades Oracle AQ JMS XA hacen?
-
30-09-2019 - |
Pregunta
Estoy usando Oracle colas avanzadas a través de JMS desde dentro del servidor de aplicaciones Websphere.
¿Alguien sabe qué efecto tienen las siguientes dos propiedades tienen: -
- oracle.jms.useEmulatedXA
- oracle.jms.useNativeXA
he visto mencionado en algunos blogs y guías de inicio rápido, generalmente en frases a lo largo de las líneas de "Añadir -Doracle.jms.useEmulatedXA = false -Doracle.jms.useNativeXA = true a la variable JAVA_PROPERTIES", sin ninguna explicación a lo que hacen: -
por ejemplo.
- http://biemond.blogspot.com /2008/11/using-aq-in-weblogic-103.html
- http://sqltech.cl/doc/oas10gR31 /integrate.1013/b28994/adptr_aq.htm#CHDEADFB
Soy curioso en cuanto a lo que estas dos propiedades hacen realmente, y cuáles son las consecuencias de la creación de ellos son, a pesar de que no parece tener ningún efecto en nuestra aplicación independientemente de si nos fijamos ellos o no.
buscar en Google no ha dado ninguna respuesta, ¿alguien tiene alguna idea de lo que hacen en realidad?
Solución
Esperamos que este enlace será explicar las cosas en detalle: http://bit.ly/bsl9Un Los bits relevantes incluir lo siguiente ...
fuentes de datos emulados son las fuentes de datos que emular el protocolo XA para JTA actas. fuentes de datos emulados OC4J oferta de almacenamiento en caché, la puesta en común, y extensiones de JDBC de Oracle para datos de Oracle fuentes. Históricamente, los datos emulado fuentes eran necesarias porque muchos controladores JDBC no proporcionaron XA capacidades. Hoy en día, aunque la mayoría controladores JDBC proporcionan XA capacidades, todavía hay casos en que emulado se prefiere XA (tales como transacciones que no requieren confirmación de dos fases.)
Conexiones obtiene a partir emulado fuentes de datos son extremadamente rápidos, porque las conexiones emulan el XA API sin proporcionar plena XA mundial soporte transaccional. En particular, fuentes de datos emulados no son compatibles confirmación de dos fases. Oracle recomienda que utilice fuentes de datos para emulados las transacciones locales, o cuando su aplicación utiliza las transacciones globales sin necesidad de confirmación de dos fases.
Y ...
fuentes de datos permiten una total Nonemulated (nonemulated) Servicios de JTA, incluyendo Confirmación en dos fases capacidades para transacciones globales. datos Nonemulated fuentes ofrecen la puesta en común, el almacenamiento en caché, distribuidos capacidades de transacciones, y el proveedor de JDBC extensiones (en la actualidad, sólo extensiones de Oracle JDBC). por información sobre las limitaciones de En dos fases, véase el capítulo 7, "Java API de transacción".
Oracle recomienda que utilice fuentes de datos para nonemulated comunicaciones de bases de datos distribuidas, la recuperación y fiabilidad. Nonemulated fuentes de datos comparten física conexiones para conexiones lógicas a la misma base de datos para el mismo usuario.
Así que lo que está sucediendo cuando ha ajustado emulado XA es que su aplicación piensa se está haciendo XA pero las llamadas están optimizados o traducida a monofásica cometió. Cuando se especifica no emulado XA entonces usted está recibiendo la funcionalidad completa XA. De cualquier manera, la aplicación es felizmente inconsciente.