Как адаптер ресурсов JCA считывает пользовательские свойства, определенные в файле ra.xml

Я пытаюсь написать адаптер ресурсов JCA. В ra.xml я добавил записи для пользовательских свойств, таких как:

<config-property>
    <config-property-name>UserName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
</config-property>

Когда я загружаю адаптер ресурсов в WebSphere, эти записи отображаются в настраиваемых свойствах RA. Эти значения можно редактировать и сохранять, и WebSphere перезагружает их после перезапуска.

Однако как сам адаптер ресурсов получает доступ к этим значениям? Я предполагаю, что это связано с инъекцией и аннотациями или чем-то еще, но я не могу найти ничего, что просто объясняет, как это должно работать.

Спасибо,


person kutuzof    schedule 06.03.2012    source источник


Ответы (1)


Если вы пишете адаптер сообщений, вы можете проверить проект jca-sockets. Он содержит пример, в котором четко описывается, как читать свойства конфигурации. В дескрипторе ra.xml необходимо указать тегActivationSpec xml:

      <activationspec>
        <activationspec-class>bla.bla.bla.BlaActivationSpec</activationspec-class>
        <required-config-property>
          <description>Bla Activation property</description>
          <config-property-name>bla</config-property-name>
        </required-config-property>
      </activationspec>

bla.bla.bla.BlaActivationSpec — это класс POJO, предоставляющий геттеры и сеттеры для свойств.

Но, кажется, этот метод работает только для адаптеров сообщений, и интересно, как читать свойства для исходящего адаптера... Сейчас я пытаюсь это выяснить.

person gkuzmin    schedule 13.03.2012
comment
UPD: если вы пишете исходящий адаптер, вы можете предоставить установщики в своей реализации ManagedConnectionFactory. Сервер попытается найти установщики для каждого свойства конфигурации, определенного в ra.xml, в процессе развертывания. - person gkuzmin; 21.03.2012