第 9 章 配置连接事实
默认情况下,JBoss EAP messaging-activemq
子系统提供 InVmConnectionFactory
和 RemoteConnectionFactory
连接工厂,以及 activemq-ra 池
连接工厂。
基本连接事实
InVmConnectionFactory
引用 in-vm-connector
,并可用于在同一 JVM 中运行客户端和服务器时发送和接收消息。RemoteConnectionFactory
引用 http-connector
,并可用于在不同 JVM 中运行客户端和服务器时通过 HTTP 发送和接收消息。
有关不同类型的连接器的更多信息,请参阅 Acceptors 和 Connectors 部分。
添加连接事实
您可以使用以下管理 CLI 命令添加新连接工厂:在添加连接工厂时,您必须提供 连接器
和 JNDI 条目
。
/subsystem=messaging-activemq/server=default/connection-factory=MyConnectionFactory:add(entries=[java:/MyConnectionFactory],connectors=[in-vm])
/subsystem=messaging-activemq/server=default/connection-factory=MyConnectionFactory:add(entries=[java:/MyConnectionFactory],connectors=[in-vm])
配置连接事实
您可以使用管理 CLI 更新连接工厂的设置。
/subsystem=messaging-activemq/server=default/connection-factory=MyConnectionFactory:write-attribute(name=thread-pool-max-size,value=40)
/subsystem=messaging-activemq/server=default/connection-factory=MyConnectionFactory:write-attribute(name=thread-pool-max-size,value=40)
有关连接工厂可用属性的信息,请参阅 Connection Factory Attributes。
删除连接事实
您可以使用管理 CLI 删除连接工厂。
/subsystem=messaging-activemq/server=default/connection-factory=MyConnectionFactory:remove
/subsystem=messaging-activemq/server=default/connection-factory=MyConnectionFactory:remove
池的连接事实
JBoss EAP messaging-activemq
子系统提供池式连接工厂,允许您配置集成 ActiveMQ Artemis 资源适配器的入站和出站连接器。有关配置 pooled-connection-factory
以连接到远程 ActiveMQ Artemis 服务器的更多信息,请参阅 使用集成资源适配器进行远程连接。
池连接工厂有几个独特的特征:
- 虽然它可以配置为指向远程服务器,但只能供本地客户端使用。有关连接到远程 ActiveMQ Artemis 服务器的更多信息,请参阅 使用集成 Artemis 资源适配器进行远程连接。
- 只有在查找 JNDI 或注入时,它才应用于发送消息。
- 它可以配置为使用安全凭据,这在指向安全远程服务器时非常有用。
- 从它获取的资源将自动包含在任何正在进行的 JTA 交易中。
添加池连接事实
您可以使用以下管理 CLI 命令添加新池连接工厂:在添加连接工厂时,您必须提供 连接器
和 JNDI 条目
。
/subsystem=messaging-activemq/server=default/pooled-connection-factory=MyPooledConnectionFactory:add(entries=[java:/MyPooledConnectionFactory],connectors=[in-vm])
/subsystem=messaging-activemq/server=default/pooled-connection-factory=MyPooledConnectionFactory:add(entries=[java:/MyPooledConnectionFactory],connectors=[in-vm])
配置池连接事实
您可以使用管理 CLI 更新池连接工厂的设置。
/subsystem=messaging-activemq/server=default/pooled-connection-factory=MyPooledConnectionFactory:write-attribute(name=max-retry-interval,value=3000)
/subsystem=messaging-activemq/server=default/pooled-connection-factory=MyPooledConnectionFactory:write-attribute(name=max-retry-interval,value=3000)
您可以通过将 enlistment -trace
属性设置为 false
,使用管理 CLI 禁用此池连接工厂的条目记录。
/subsystem=messaging-activemq/server=default/pooled-connection-factory=MyPooledConnectionFactory:write-attribute(name=enlistment-trace,value=false)
/subsystem=messaging-activemq/server=default/pooled-connection-factory=MyPooledConnectionFactory:write-attribute(name=enlistment-trace,value=false)
禁用加入跟踪会使在事务注册期间跟踪错误变得更加困难。
您还可以配置池化连接工厂使用的受管理连接池实施。如需更多信息,请参阅 JBoss EAP 配置指南中的配置管理连接池 一节。
删除池的连接事实
您可以使用管理 CLI 删除池连接工厂。
/subsystem=messaging-activemq/server=default/pooled-connection-factory=MyPooledConnectionFactory:remove
/subsystem=messaging-activemq/server=default/pooled-connection-factory=MyPooledConnectionFactory:remove