Нужен ли JCA 1.6 ResourceAdapter ManagedConnectionFactory? - PullRequest
26 голосов
/ 17 ноября 2010

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

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

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

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

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

Тем не менее, мне кажется, что спецификация фактически предписывает, что вся связь между потребителем (в моем случае EJB-компонентом без сохранения состояния) и модулем адаптера ресурса должна выполняться черезфабрика пользовательских соединений.

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

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

  • javax.resource.spi.ManagedConnectionFactory
  • javax.resource.spi.ManagedConnection
  • javax.resource.spi.ManagedConnectionMetaData

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

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

1 Ответ

3 голосов
/ 21 января 2011

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

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

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

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

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

Если вам не нужен исходящийКоммуникационные возможности, вам не нужно их определять (фабрика соединений, фабрика управляемых соединений и т.и оттуда?

Да.

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

Я не думаю, что Java-бин "ResourceAdapter" можно внедрить с помощью аннотации @Resource.При каждом развертывании / включении адаптера ресурсов / запуске сервера

GlassFish будет запускать адаптер ресурсов.

...