2009-11-19 5 views
0

AQ 용 Oracle Java 인터페이스를 사용 중이며 메시지를 큐에서 제거하려고합니다. 이 메시지는 두 개의 필드로 구성됩니다.Oracle AQ Java 인터페이스 및 사용자 정의 메시지 유형

  • 고유 한 행 ID입니다.
  • 고유하지 않은 ID입니다. 내가 STH를 읽고 기억

    AQDequeueOption option = new AQDequeueOption(); 
    option.setDequeueMode(AQDequeueOption.DEQUEUE_REMOVE); 
    
    AQMessage message = queue.dequeue(option); 
    RAW raw = new RAW(message.getRawPayload().getBytes()); 
    
    Integer rowId = Integer.valueOf(raw.stringValue()); 
    

    :

나는 성공적으로 다음과 같이 하나의 RAW 페이로드를 사용하여 메시지를 디코딩. 자바 인터페이스에서 사용자 정의 유형이 지원되지 않는 행을 따라 가십시오. 그래? 특파원 AQQueueTableProperty 호출은 어떻게 보이거나 SQL에서 대기열 및 대기열 테이블을 생성해야합니까? 큐를 해제하는 작업의 결과를 일반적인 JDBC ResultSet 작업을 사용하여 Java 표현에 매핑 할 수 있습니까?

답변

0

나는 자바 부분에 대해 잘 모르겠지만, 나는 AQ를 꽤 사용했다. Java 부분에서 정말로 어려움을 겪고 있다면, dequeue plsql API 호출을 래핑하고 Java가 처리 할 수있는 형식으로 매개 변수를 출력하는 간단한 PLSQL 프로 시저를 작성하십시오. 그런 다음 Java에서 랩퍼를 간단하게 호출 할 수 있습니다.

미안해 사물의 자바 측면에 더 많은 도움이 될 수 없습니다.

+0

'미래의 메시지'문제 (http://stackoverflow.com/questions/1763970/oracle-aq-dequeue-order) 그래서 dequeueing 동안 패키지 프로 시저를 호출 그래, 난 아마 선택의 여지가 포함를 해결하는 나의 현재 접근 PL/SQL 프로 시저를 사용하는 것 외. JDBC와 같은 대기열의 결과는 일반적인 'ResultSet'일까요? 맞습니까? – yawn

관련 문제