24.4. 配置已部署的资源适配器
JBoss 管理员可以用管理 CLI 工具、基于 Web 的管理控制台或手动编辑配置文件的方式来配置资源适配器。
关于所支持的属性和其他细节,请参考资源适配器的相关文档。
注意
在下面的过程里,请在
[standalone@localhost:9999 /]
提示符后输入命令行。请不要输入花括号里的内容。这是命令执行的结果,例如 {"outcome" => "success"}
。
过程 24.5. 用管理 CLI 配置资源适配器
- 在你的操作系统里打开一个命令行提示窗口。
- 连接至管理 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
- 添加资源适配器配置。
[standalone@localhost:9999 /] /subsystem=resource-adapters/resource-adapter=eis.rar:add(archive=eis.rar, transaction-support=XATransaction) {"outcome" => "success"}
- 配置
server
资源适配器级别 <config-property>。[standalone@localhost:9999 /] /subsystem=resource-adapters/resource-adapter=eis.rar/config-properties=server/:add(value=localhost) {"outcome" => "success"}
- 配置
port
资源适配器级别 <config-property>。[standalone@localhost:9999 /] /subsystem=resource-adapters/resource-adapter=eis.rar/config-properties=port/:add(value=9000) {"outcome" => "success"}
- 为受管连接工厂添加连接定义。
[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"}
- 配置
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"}
- 添加 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"}
- 配置 Admin 对象的
threshold
属性。[standalone@localhost:9999 /] /subsystem=resource-adapters/resource-adapter=eis.rar/admin-objects=aoName/config-properties=threshold/:add(value=10) {"outcome" => "success"}
- 激活资源适配器。
[standalone@localhost:9999 /] /subsystem=resource-adapters/resource-adapter=eis.rar:activate {"outcome" => "success"}
- 查看最新配置和激活的资源适配器。
[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 的管理控制台配置资源适配器
- 登录到管理控制台。请参考 第 3.4.2 节 “登录到管理控制台”。
- 点击屏幕顶部的 Configuration 标签页。展开 菜单并选择 Resource Adapters。
- 对于域模式,从左上角的下拉菜单里选择 Profile。
点。 - 输入归档名称并从 TX: 下拉框里选择事务类型
XATransaction
。然后点击 。 - 选择 Properties 标签页,然后点击 。
- 在 Name 和主机名里输入
server
,例如在 里输入localhost
。然后点击 完成。 - 再次点击 Name 和。输入
port
号码,例如在 Value 里输入9000
。然后点击 完成。 server
和port
属性现在出现在 Properties 面板里。点击列出的资源适配器的 Option 列下的 View 链接来查看 Connection Definitions。- 点击 Available Connection Definitions 表上的 Add 添加连接定义。
- 输入 Connection Class 的 JNDI Name 和全限定类名。然后点击 完成。
- 选择新的连接定义,然后选择 Properties 标签页。点击 后输入这个连接定义的 Key 和 Value 数据。点击 完成。
- 连接定义已完成,但却是禁用的。选择连接定义并点击启用它。
Really modify Connection Definition?
对话框会出现询问是否进行修改。请点击 。连接定义现在应该显示为Enabled
。- 点击页面顶部的 Admin Objects 标签来创建和配置 admin 对象。然后点击 按钮。
- 输入 admin 对象的 JNDI Name 和全限定的 Class Name。然后点击 。
- 选择 Properties 标签页,然后点击 来添加 admin 对象的属性。
- 在 Name 字段里输入一个 admin 对象配置属性,例如
threshold
。在 Value 字段里输入属性值,如10
。然后点击 保存属性。 - admin 对象已完成,但却是禁用的。请点击启用它。
Really modify Admin Ojbect?
对话框会出现询问是否进行修改。请点击 。admin 对象现在应该显示为Enabled
。- 您必需重载服务器配置来完成这个过程。点击 Runtime 视图。展开 菜单。选择左侧导航面板上的 Overview。
- 重启服务器
- 在域模式里,在服务器组上悬停鼠标。选择 Restart Group。
- 在独立模式里,您可以使用按钮。点击 。
Do you want to reload the server configuration?
对话框会出现询问是否进行重载。请点击 。服务器配置现在是最新版本了。
过程 24.7. 手动配置资源适配器
- 停止 JBoss EAP 6 服务器。
重要
要使修改在服务器重启后仍然生效,你必须在编辑服务器配置文件前停止服务器。 - 打开服务器配置文件进行编辑。
- 对于独立服务器,这个文件是
EAP_HOME/standalone/configuration/standalone.xml
。 - 对于受管域,这个文件是
EAP_HOME/domain/configuration/domain.xml
。
- 在配置文件里找到
urn:jboss:domain:resource-adapters
子系统。 - 如果没有为这个子系统定义资源适配器,请首先替换:
<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>
- 用您的资源适配器的 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>
期待服务器
重新启动 JBoss EAP 6 服务器以使用新的配置运行。