24.4. 配置已部署的资源适配器

JBoss 管理员可以用管理 CLI 工具、基于 Web 的管理控制台或手动编辑配置文件的方式来配置资源适配器。
关于所支持的属性和其他细节,请参考资源适配器的相关文档。

注意

在下面的过程里,请在 [standalone@localhost:9999 /] 提示符后输入命令行。请不要输入花括号里的内容。这是命令执行的结果,例如 {"outcome" => "success"}

过程 24.5. 用管理 CLI 配置资源适配器

  1. 在你的操作系统里打开一个命令行提示窗口。
  2. 连接至管理 CLI。
    • 对于 Linux,输入下列命令:
      $ EAP_HOME/bin/jboss-cli.sh --connect
      您应该看到下列输出结果:
      $ Connected to standalone controller at localhost:9999
    • 对于 Windows,输入下列命令:
      C:\>EAP_HOME\bin\jboss-cli.bat --connect
      您应该看到下列输出结果:
      C:\> Connected to standalone controller at localhost:9999
  3. 添加资源适配器配置。
    [standalone@localhost:9999 /] /subsystem=resource-adapters/resource-adapter=eis.rar:add(archive=eis.rar, transaction-support=XATransaction) 
    {"outcome" => "success"}
    
  4. 配置 server 资源适配器级别 <config-property>。
    [standalone@localhost:9999 /] /subsystem=resource-adapters/resource-adapter=eis.rar/config-properties=server/:add(value=localhost)          
    {"outcome" => "success"}
    
  5. 配置 port 资源适配器级别 <config-property>。
    [standalone@localhost:9999 /] /subsystem=resource-adapters/resource-adapter=eis.rar/config-properties=port/:add(value=9000)
    {"outcome" => "success"}
    
  6. 为受管连接工厂添加连接定义。
    [standalone@localhost:9999 /] /subsystem=resource-adapters/resource-adapter=eis.rar/connection-definitions=cfName:add(class-name=com.acme.eis.ra.EISManagedConnectionFactory, jndi-name=java:/eis/AcmeConnectionFactory)
    {"outcome" => "success"}
    
  7. 配置 name 受管连接工厂级别的 <config-property>。
    [standalone@localhost:9999 /] /subsystem=resource-adapters/resource-adapter=eis.rar/connection-definitions=cfName/config-properties=name/:add(value=Acme Inc)
    {"outcome" => "success"}
    
  8. 添加 admin 对象。
    [standalone@localhost:9999 /] /subsystem=resource-adapters/resource-adapter=eis.rar/admin-objects=aoName:add(class-name=com.acme.eis.ra.EISAdminObjectImpl, jndi-name=java:/eis/AcmeAdminObject)
    {"outcome" => "success"}
    
  9. 配置 Admin 对象的 threshold 属性。
    [standalone@localhost:9999 /] /subsystem=resource-adapters/resource-adapter=eis.rar/admin-objects=aoName/config-properties=threshold/:add(value=10)
    {"outcome" => "success"}
    
  10. 激活资源适配器。
    [standalone@localhost:9999 /] /subsystem=resource-adapters/resource-adapter=eis.rar:activate
    {"outcome" => "success"}
    
  11. 查看最新配置和激活的资源适配器。
    [standalone@localhost:9999 /] /subsystem=resource-adapters/resource-adapter=eis.rar:read-resource(recursive=true)
    {
        "outcome" => "success",
        "result" => {
            "archive" => "eis.rar",
            "beanvalidationgroups" => undefined,
            "bootstrap-context" => undefined,
            "transaction-support" => "XATransaction",
            "admin-objects" => {"aoName" => {
                "class-name" => "com.acme.eis.ra.EISAdminObjectImpl",
                "enabled" => true,
                "jndi-name" => "java:/eis/AcmeAdminObject",
                "use-java-context" => true,
                "config-properties" => {"threshold" => {"value" => 10}}
            }},
            "config-properties" => {
                "server" => {"value" => "localhost"},
                "port" => {"value" => 9000}
            },
            "connection-definitions" => {"cfName" => {
                "allocation-retry" => undefined,
                "allocation-retry-wait-millis" => undefined,
                "background-validation" => false,
                "background-validation-millis" => undefined,
                "blocking-timeout-wait-millis" => undefined,
                "class-name" => "com.acme.eis.ra.EISManagedConnectionFactory",
                "enabled" => true,
                "flush-strategy" => "FailingConnectionOnly",
                "idle-timeout-minutes" => undefined,
                "interleaving" => false,
                "jndi-name" => "java:/eis/AcmeConnectionFactory",
                "max-pool-size" => 20,
                "min-pool-size" => 0,
                "no-recovery" => undefined,
                "no-tx-separate-pool" => false,
                "pad-xid" => false,
                "pool-prefill" => false,
                "pool-use-strict-min" => false,
                "recovery-password" => undefined,
                "recovery-plugin-class-name" => undefined,
                "recovery-plugin-properties" => undefined,
                "recovery-security-domain" => undefined,
                "recovery-username" => undefined,
                "same-rm-override" => undefined,
                "security-application" => undefined,
                "security-domain" => undefined,
                "security-domain-and-application" => undefined,
                "use-ccm" => true,
                "use-fast-fail" => false,
                "use-java-context" => true,
                "use-try-lock" => undefined,
                "wrap-xa-resource" => true,
                "xa-resource-timeout" => undefined,
                "config-properties" => {"name" => {"value" => "Acme Inc"}}
            }}
        }
    }
    

过程 24.6. 用基于 Web 的管理控制台配置资源适配器

  1. 登录到管理控制台。请参考 第 3.4.2 节 “登录到管理控制台”
  2. 点击屏幕顶部的 Configuration 标签页。展开 Connectors 菜单并选择 Resource Adapters
    1. 对于域模式,从左上角的下拉菜单里选择 Profile
    添加
  3. 输入归档名称并从 TX: 下拉框里选择事务类型 XATransaction。然后点击 Save
  4. 选择 Properties 标签页,然后点击 Add
  5. Name 和主机名里输入 server,例如在 Save 里输入 localhost。然后点击 Save 完成。
  6. 再次点击 Add。输入 Nameport 号码,例如在 Value 里输入 9000。然后点击 Save 完成。
  7. serverport 属性现在出现在 Properties 面板里。点击列出的资源适配器的 Option 列下的 View 链接来查看 Connection Definitions
  8. 点击 Available Connection Definitions 表上的 Add 添加连接定义。
  9. 输入 Connection ClassJNDI Name 和全限定类名。然后点击 Save 完成。
  10. 选择新的连接定义,然后选择 Properties 标签页。点击 Add 后输入这个连接定义的 KeyValue 数据。点击 Save 完成。
  11. 连接定义已完成,但却是禁用的。选择连接定义并点击 Enable 启用它。
  12. Really modify Connection Definition? 对话框会出现询问是否进行修改。请点击 Confirm。连接定义现在应该显示为 Enabled
  13. 点击页面顶部的 Admin Objects 标签来创建和配置 admin 对象。然后点击 Add 按钮。
  14. 输入 admin 对象的 JNDI Name 和全限定的 Class Name。然后点击 Save
  15. 选择 Properties 标签页,然后点击 Add 来添加 admin 对象的属性。
  16. Name 字段里输入一个 admin 对象配置属性,例如 threshold。在 Value 字段里输入属性值,如 10。然后点击 Save 保存属性。
  17. admin 对象已完成,但却是禁用的。请点击 Enable 启用它。
  18. Really modify Admin Ojbect? 对话框会出现询问是否进行修改。请点击 Confirm。admin 对象现在应该显示为 Enabled
  19. 您必需重载服务器配置来完成这个过程。点击 Runtime 视图。展开 Server 菜单。选择左侧导航面板上的 Overview
    1. 重启服务器
      • 在域模式里,在服务器组上悬停鼠标。选择 Restart Group
      • 在独立模式里,您可以使用 Reload 按钮。点击 Reload
  20. Do you want to reload the server configuration? 对话框会出现询问是否进行重载。请点击 Confirm。服务器配置现在是最新版本了。

过程 24.7. 手动配置资源适配器

  1. 停止 JBoss EAP 6 服务器。

    重要

    要使修改在服务器重启后仍然生效,你必须在编辑服务器配置文件前停止服务器。
  2. 打开服务器配置文件进行编辑。
    • 对于独立服务器,这个文件是 EAP_HOME/standalone/configuration/standalone.xml
    • 对于受管域,这个文件是 EAP_HOME/domain/configuration/domain.xml
  3. 在配置文件里找到 urn:jboss:domain:resource-adapters 子系统。
  4. 如果没有为这个子系统定义资源适配器,请首先替换:
    
    <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"/>
    
    
    
    使用下列内容:
                      
    
    <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1">
        <resource-adapters>
            <!-- <resource-adapter> configuration listed below -->
        </resource-adapters>
    </subsystem>
    
    
    
  5. 用您的资源适配器的 XML 定义替换 <!-- <resource-adapter> configuration listed below -->。下面是用管理 CLI 和基于 Web 的管理控制台创建的资源适配器配置的 XML 片段。
    
    <resource-adapter>
        <archive>
            eis.rar
        </archive>
        <transaction-support>XATransaction</transaction-support>
        <config-property name="server">
            localhost
        </config-property>
        <config-property name="port">
            9000
        </config-property>
        <connection-definitions>
            <connection-definition class-name="com.acme.eis.ra.EISManagedConnectionFactory" 
                    jndi-name="java:/eis/AcmeConnectionFactory"
                    pool-name="java:/eis/AcmeConnectionFactory">
                <config-property name="name">
                    Acme Inc
                </config-property>
            </connection-definition>
        </connection-definitions>
        <admin-objects>
            <admin-object class-name="com.acme.eis.ra.EISAdminObjectImpl" 
                    jndi-name="java:/eis/AcmeAdminObject" 
                    pool-name="java:/eis/AcmeAdminObject">
                <config-property name="threshold">
                    10
                </config-property>
            </admin-object>
        </admin-objects>
    </resource-adapter>
    
    
    
  6. 期待服务器

    重新启动 JBoss EAP 6 服务器以使用新的配置运行。