JavaEE Connector Architecture - разница между системными контрактами и общим клиентским интерфейсом
Мне нужно создать слайдшер, чтобы легко представить JCA. сейчас я пытаюсь понять все это, но я все еще застрял в некоторых местах. Я читаю учебник IBM, и в его примере кода он не реализует транзакции и контракты безопасности, но вместо этого он использует интерфейс / классы Interaction, InteractionSpec, RecordFactory и IndexedRecords (Thats CCI, я полагаю).
В общем, я нашел, что они заявили, что контракты из спецификации JCA v1 должны быть реализованы, и в этом примере, если я правильно понимаю, используется только "контракт на управление соединением".
(ConnectionMetaData, ConnectionFactory, Connection) или (ManagedConnectionFactory, ManagedConnection, ManagedConnectionMetaData) <- В чем разница между ними и являются ли интерфейсы с префиксом "Managed" так называемым "Контрактом на управляемое соединение"?
Также я не совсем уверен, но используется ли CCI только для создания адаптера ресурсов? Или я могу использовать его как "фреймворк" внутри моего сервера приложений для связи с адаптером ресурсов. В примере Bean они используют поиск JNDI для получения экземпляра ConnectionFactory и используют перегруженные методы расширенных классов CCI.
Я понимаю, что контракты "делают", но когда я использую системные контракты и когда я использую CCI. Я не понимаю цель этого.
Является ли CCI своего рода "методами API" внутри моего адаптера ресурсов, который я могу затем использовать в своей реализации сервера приложений?
Первый взгляд на JCA настолько сложен.
Как бы я общался с Resource Adapter внутри JBoss, например, с настройкой Tomcat.
1 ответ
Да, JCA - довольно сложный механизм. Объекты, которыми манипулирует клиент (т. Е. EJB, сервлет), не являются внутренними в адаптере JCA.
Насколько я помню, одна из причин такого "разделения" заключается в том, что пул соединений управляется сервером приложений. Таким образом, получение соединений является взаимодействием между клиентом, сервером приложений и внутренними компонентами адаптера ресурсов. Я давно не пользуюсь JCA, поэтому не помню точно детали. Тем не менее, я опубликовал в своем блоге свое понимание JCA несколько лет назад, возможно, это поможет вам.