此内容没有您所选择的语言版本。

Chapter 5. Configuration


The Java Message Service (JMS) API specifies how a messaging client interacts with a messaging server. How messaging services such as message destinations and connection factories are defined and implemented depends on the JMS provider. JBoss Messaging has its own files for service configuration.
This chapter shows you how to configure various services available in JBoss Messaging that work together to provide JMS API-level services to client applications.
JBoss Messaging configuration is divided between several configuration files. Depending on the type of service provided, configuration information is divided between messaging-service.xml, remoting-bisocket-service.xml, <your database type>-persistence-service.xml, connection-factories-service.xml and destinations-service.xml. These files can all be found in the $JBOSS_HOME/server/$PROFILE/deploy/messaging directory.
AOP interceptor stacks can be configured in aop-messaging-client.xml (for client-side behavior) and aop-messaging-server.xml (for server-side behavior). There is usually no need to change these files, but some interceptors can be removed to improve performance if they are not required. Ensure that you have considered the security implications before removing the security interceptor.

5.1. Configuring the ServerPeer

The ServerPeer is the heart of the JBoss Messaging JMS facade. You can configure its behavior by altering $JBOSS_HOME/server/$PROFILE/deploy/messaging/messaging-service.xml.
All JBoss Messaging services are based in the ServerPeer.
An example of a Server Peer configuration is presented below. Note that not all values for the server peer's attributes are specified in the example
<!-- ServerPeer MBean configuration
    ============================== -->

<mbean code="org.jboss.jms.server.ServerPeer"
  name="jboss.messaging:service=ServerPeer"
  xmbean-dd="xmdesc/ServerPeer-xmbean.xml">

  <!--The unique id of the server peer - in a cluster each node 
      MUST have a unique value - must be an integer-->

  <attribute name="ServerPeerID">
    ${jboss.messaging.ServerPeerID:0}
  </attribute>
  
  <!--The default JNDI context to use for queues when they are 
      deployed without specifying one--> 
  
  <attribute name="DefaultQueueJNDIContext">/queue</attribute>
  
  <!--The default JNDI context to use for topics when they are 
      deployed without specifying one --> 
  
  <attribute name="DefaultTopicJNDIContext">/topic</attribute>

  <attribute name="PostOffice">
    jboss.messaging:service=PostOffice
  </attribute>

  <!-- The default Dead Letter Queue (DLQ) to use for destinations.
       This can be overridden on a per destinatin basis -->
  
  <attribute name="DefaultDLQ">
    jboss.messaging.destination:service=Queue,name=DLQ
  </attribute>
  
  <!--The default maximum number of times to attempt delivery of a 
      message before sending to the DLQ (if configured).
      This can be overridden on a per destination basis-->
  
  <attribute name="DefaultMaxDeliveryAttempts">10</attribute>
  
  <!--The default Expiry Queue to use for destinations. This can 
      be overridden on a per destinatin basis-->
  
  <attribute name="DefaultExpiryQueue">
    jboss.messaging.destination:service=Queue,name=ExpiryQueue
  </attribute>
  
  <!--The default redelivery delay to impose. This can be overridden 
      on a per destination basis -->
  
  <attribute name="DefaultRedeliveryDelay">0</attribute>
  
  <!--The periodicity of the message counter manager enquiring on 
      queues for statistics-->
  
  <attribute name="MessageCounterSamplePeriod">5000</attribute>
  
  <!--The maximum amount of time for a client to wait for failover 
      to start on the server side after it has detected failure-->
  
  <attribute name="FailoverStartTimeout">60000</attribute>
  
  <!--The maximum amount of time for a client to wait for failover 
      to complete on the server side after it has detected failure-->
  
  <attribute name="FailoverCompleteTimeout">300000</attribute>

  <attribute name="StrictTck">false</attribute>
  
  <!--The maximum number of days results to maintain in the message 
      counter history-->
  
  <attribute name="DefaultMessageCounterHistoryDayLimit">-1</attribute>
  
  <!--The name of the connection factory to use for creating 
      connections between nodes to pull messages-->
  
  <attribute name="ClusterPullConnectionFactoryName">
    jboss.messaging.connectionfactory:service=ClusterPullConnectionFactory
  </attribute>
  
  <!--When redistributing messages in the cluster. Do we need to 
      preserve the order of messages received
      by a particular consumer from a particular producer? -->
        
  <attribute name="DefaultPreserveOrdering">false</attribute>
  
  <!-- Max. time to hold previously delivered messages back waiting for
       clients to reconnect after failover -->
  
  <attribute name="RecoverDeliveriesTimeout">300000</attribute>
  
  <!-- Set to true to enable message counters that can be viewed via JMX -->
  
  <attribute name="EnableMessageCounters">false</attribute>
  
  <!-- The password used by the message sucker connections to create connections.
       THIS SHOULD ALWAYS BE CHANGED AT INSTALL TIME TO SECURE SYSTEM
  <attribute name="SuckerPassword"></attribute>
  -->

  <!-- The name of the server aspects configuration resource
  <attribute name="ServerAopConfig">aop/jboss-aop-messaging-server.xml</attribute>
  -->
  <!-- The name of the client aspects configuration resource
    <attribute name="ClientAopConfig">aop/jboss-aop-messaging-client.xml</attribute>
  -->

  <depends optional-attribute-name="PersistenceManager">
    jboss.messaging:service=PersistenceManager
  </depends>
  
  <depends optional-attribute-name="JMSUserManager">
    jboss.messaging:service=JMSUserManager
  </depends>
  
  <depends>jboss.messaging:service=Connector,transport=bisocket</depends>
  <depends optional-attribute-name="SecurityStore"
    proxy-type="org.jboss.jms.server.SecurityStore">
      jboss.messaging:service=SecurityStore
  </depends>
</mbean>
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部