2012-03-06 57 views
1

我正在尝试编写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将在重新启动后重新加载它们。

然而,资源适配器本身如何读取这些值?我猜它涉及到注入和注释等,但我似乎无法找到任何简单解释它应该如何工作的内容。

感谢,

回答

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类,提供了getter和setter属性。

但似乎这种方法只适用于消息适配器,它是有趣的如何读取出站适配器的属性......现在我正试图找出这一点。

+0

** UPD **:如果您正在编写出站适配器,则可以在ManagedConnectionFactory实现中提供setter。在部署过程中,服务器将尝试为在ra.xml中定义的每个配置属性查找setter。 – gkuzmin 2012-03-21 08:33:46