Какова роль jar JavaEE в хранимой процедуре Oracle java в 11g при использовании MQ

Мне нужно написать хранимую процедуру Oracle Java для записи сообщений в MQ с использованием хранимой процедуры. Я следовал указаниям по этой ссылке. и это сработало. Согласно ссылке, для загрузки в базу данных требуется JavaEE api jar.

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

  1. Какую роль играет jar JavaEE в хранимой процедуре Oracle Java?
  2. Если у него нет сведений о реализации, откуда он их берет во время выполнения?
  3. Мне удалось написать простые хранимые процедуры Java без использования этих jar-файлов, так в каких же ситуациях требуется использование этого jar-файла?

person adbdkb    schedule 15.06.2013    source источник


Ответы (1)


  1. Он содержит интерфейсы для таких служб, как EJB, JMS, диспетчеры ресурсов, JDBC (javax.sql), транзакции и т. д. Это необходимо для того, чтобы приложения, использующие эти интерфейсы, могли быть установлены на разных серверах приложений. Поставщик сервера приложений должен написать реализации, но они не нужны напрямую в клиентском приложении.

  2. Например, чтобы получить соединение, вам нужно найти фабрику с помощью службы имен. Результат поиска должен быть приведен к интерфейсу (поскольку служба имен возвращает Objects). В результате вы имеете дело с интерфейсом, но, конечно же, в фоновом режиме есть специальный класс поставщика, который его реализует.

  3. Если вы вызываете хранимые процедуры Java из вашего JDBC-клиента, база данных также может рассматриваться как сервер приложений. Таким образом, теоретически все, что вы делаете на сервере приложений Java, также может быть выполнено в хранимой процедуре: это JMS и, возможно, службы транзакций или вызовы других серверов EJB. Но это не обычная практика, и я не знаю никаких ограничений.

person Beryllium    schedule 16.06.2013