Подтвердить что ты не робот

Требуется ли ResourceAdapter адаптера JCA 1.6 ManagedConnectionFactory?

Я написал адаптер JCA до.

Однако теперь я нахожусь в том, что мне нужно написать одно единственное, чтобы получить доступ к BootstrapContext и связанным с ним WorkManager и эффективно ни по какой другой причине.

Если я правильно прочитал спецификацию - и мой вопрос - похоже, если я хочу, чтобы кто-то мог использовать мой адаптер ресурсов в соответствии со спецификацией, мне все равно нужно реализовать ManagedConnectionFactory, потому что казалось бы, что только пользовательские заводы, созданные с помощью реализаций ManagedConnectionFactory, имеют право на инъекцию через аннотацию @Resource.

Вперед, прочитайте его снова; Я буду ждать.: -)

В идеальном мире я хотел бы написать свою реализацию ResourceAdapter, аннотировать ее с помощью @Connector, указать все биты @ConfigProperty, упаковать ее в файл .rar и сделать с ней.

Однако мне кажется, что спецификация действительно гарантирует, что всякая связь между потребителем (не имеющим аналогов в EJB в моем случае) и модулем адаптера ресурсов должна выполняться через пользовательское соединение factory.

Например, в разделе 6.10.1 говорится:

Адаптер ресурсов должен обеспечивать реализацию следующих интерфейсов:

  • javax.resource.spi.ManagedConnectionFactory
  • javax.resource.spi.ManagedConnection
  • javax.resource.spi.ManagedConnectionMetaData​​li >

Но раздел 18 - раздел аннотаций - кажется, не предусматривает принудительного применения этого каким-либо значимым образом.

Действительно ли это так? Я полагаю, что это должно быть, но мне было бы интересно услышать от людей, которые собрали адаптер ресурсов 1.6.

4b9b3361

Ответ 1

"В этом разделе описываются требования к контракту на управление подключением.

Является ли это законным, используя только аннотации JCA 1.6, просто определить реализацию ResourceAdapter с - в основном - ничего больше в модуле?

Да. это нормально.

Спецификация указывает в разделе 19.2, что адаптер исходящих ресурсов (который это будет) должен {handwave handwave} использовать управление соединением,

операции по управлению транзакциями и управлению безопасностью. Во всех трех случаях я просто хочу указать - предпочтительно, опускав аннотации и/или код, - что я не поддерживаю никого из них

Если вам не нужны возможности исходящей связи, вам не нужно их определять (connection- factory, managed-connection- factory и т.д.,)

Достаточно ли просто создавать POJO, который реализует ResourceAdapter, аннотировать его с помощью @Connector и идти оттуда?

Да.

Могу ли я затем ввести такое POJO в свой EJB с помощью аннотации @Resource?

Я не думаю, что "ResourceAdapter" Java Bean можно вставить с помощью аннотации @Resource. Когда запускается/активируется ресурсный адаптер/запускается сервер,

GlassFish загрузит ресурс-адаптер.