2010-04-21 2 views
1

Websphere App Server 내에서 JMS를 통해 Oracle Advanced Queues를 사용하고 있습니다.Oracle AQ JMS XA 등록 정보가 어떤 기능을하는지 알고 있습니까?

사람이 다음과 같은 두 가지 속성이 어떤 영향을 알고 있나요 -

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

나는 보통의 라인을 따라 문장에서 일부 블로그와 빠른 시작 가이드에서 언급 보았다 "추가 -Doracle.jms.useEmulatedXA = false -Doracle.jms.useNativeXA = "JAVA_PROPERTIES 변수에 true"라고 설명하고 있습니다. -

예 :

나는이 두 가지 속성이 실제로 수행 및 설정의 의미는 그들이 어떤 영향을 갖고있는 것 같다하지 않더라도, 무엇 무엇으로 궁금하다 우리가 설정했는지 여부에 관계없이 우리의 애플 리케이션에.

인터넷 검색에 대한 답변이 없으므로 누구에게 실제로 실마리가 있습니까?

답변

1

희망이 링크는 구체적으로 일을 설명합니다 : http://bit.ly/bsl9Un 관련 비트는

에뮬레이트 데이터 소스는 JTA 트랜잭션에 대한 XA 프로토콜을 에뮬레이트 데이터 소스 은 ... 다음과 같습니다. 에뮬레이트 된 데이터 소스 은 OC4J 캐싱, 풀링 및 Oracle 데이터 용 Oracle JDBC 확장 소스를 제공합니다. 많은 JDBC 드라이버가 XA 기능을 제공하지 않았기 때문에 역사적으로 에뮬레이트 된 데이터 소스가 필요했습니다. 오늘날 대부분의 JDBC 드라이버가 XA를 기능을 제공 할지라도, XA 바람직하다 에뮬레이트 의 경우 아직 없습니다 ( 두 단계 커밋이 필요하지 않은 거래 등 는.) 에뮬레이트 데이터에서 얻은

연결 소식통은 전체 XA 글로벌 트랜잭션 지원을 제공하지 않고도 연결이 XA API를 에뮬레이트하기 때문에 소스가 매우 빠릅니다 ( ). 특히 에뮬레이트 된 데이터 소스는 2 단계 커밋을 지원하지 않습니다. 로컬 트랜잭션에 에뮬레이트 된 데이터 소스를 사용하거나 응용 프로그램이 2 단계 커미트가 필요없는 글로벌 트랜잭션 을 사용하는 경우를 권장합니다.

그리고 ...

Nonemulated 데이터 소스 는 2 단계 글로벌 트랜잭션에 대한 능력을 커밋을 포함, 전체 (nonemulated) JTA 서비스를 제공합니다. 비유행 데이터 소스는 풀링, 캐싱, 분산 트랜잭션 기능, 및 벤더 JDBC 확장 (현재는 Oracle JDBC 확장자 만 )을 제공합니다. 2 단계 커밋 제한에 대한 정보는 7 장, "Java 트랜잭션 API"를 참조하십시오.

분산 데이터베이스 통신, 복구 및 신뢰성을 위해 비 에뮬레이트 된 데이터 소스를 사용할 것을 권장합니다. 비유 한 데이터 원본은 동일한 사용자에 대한 동일한 데이터베이스에 대한 논리적 연결의 실제 연결을 개 공유합니다.

그래서 당신이 에뮬레이트 설정할 때 무슨 일이 일어나고 있는지 XA 앱 그것이 XA을 받고 있지만 통화 최적화 또는 단상에 커밋 번역을 생각한다는 것입니다. 에뮬레이트되지 않은 XA를 지정하면 완전한 XA 기능을 얻게됩니다. 어쨌든,이 앱은 더러워지지 않습니다.