Пакеты Java: в чем разница между `oracle.AQ` и` oracle.jdbc.aq`?

В чем разница между oracle.AQ и oracle.jdbc.aq (https://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/aq/package-summary.html, https://docs.oracle.com/cd/E16338_01/appdev.112/e13995/overview-summary.html)? Кажется, есть 2 пакета, которые немного перекрываются.

Пакет Java oracle.AQ объявлен устаревшим в версии 10g Release 1 (10.1). Oracle рекомендует перенести существующие приложения Java AQ в Oracle JMS (или другие API Java) и использовать Oracle JMS (или другие API Java) для разработки будущих приложений Java AQ.

(https://docs.oracle.com/cd/B19306_01/server.102/b14257/aq_envir.htm#g1019073)


person codesmith    schedule 19.04.2017    source источник
comment
Просто любопытно, почему это так важно, что это давно устаревший пакет (вы можете см. документацию по 9i здесь) сделали? Вы все еще используете его и, возможно, пытаетесь понять, как от него отказаться?   -  person Alex Poole    schedule 19.04.2017
comment
Нет, документацию по Java + Oracle AQ сложно найти ИМХО. Я только что узнал, что большинство примеров / руководств основаны на более старом oracle.AQ.   -  person codesmith    schedule 19.04.2017


Ответы (1)


Между этими двумя пакетами есть фундаментальная разница: oracle.AQ - это просто оболочка Java над процедурами PLSQL AQ, тогда как API AQ, предлагаемые через тонкий драйвер JDBC (https://docs.oracle.com/database/121/JAJDB/oracle/jdbc/OracleConnection.html#enqueue_java_lang_String__oracle_jdbc_aq_AQEnqueueOptions__oracle_jdbc_aq_AQMessage_) реализуют собственный протокол AQ. Как следствие, API-интерфейсы oracle.jdbc.aq станут намного быстрее. Oracle JMS использует скрытые API oracle.jdbc.aq.

person Jean de Lavarene    schedule 19.04.2017