7.5. JMS 群​集​注​意​事​项​


当​ JBoss Messaging 群​集​里​的​某​个​节​点​失​效​、​它​的​ Buddy 将​从​数​据​库​里​加​载​所​有​ dead 服​务​器​的​消​息​。​
如​果​在​关​闭​时​,失​效​节​点​正​在​执​行​ XA 事​务​,那​么​事​务​日​志​可​能​已​经​写​入​,而​相​关​的​消​息​将​转​移​到​群​集​里​的​其​他​节​点​上​。​
当​失​效​节​点​恢​复​后​,恢​复​管​理​者​可​能​会​试​图​恢​复​存​储​在​事​务​日​志​里​的​事​务​。​如​果​这​些​消​息​已​经​转​移​到​了​另​外​一​个​服​务​器​里​,那​么​从​本​地​ JMS 提​供​者​里​获​取​正​确​的​ XA 资​源​就​是​不​可​能​的​,这​是​因​为​相​关​的​消​息​并​没​有​位​于​该​服​务​器​上​。​结​果​ JBoss Transaction 服​务​将​返​回​:
      Could not find new XAResource to use for recovering non-serializable XAResource
Copy to Clipboard Toggle word wrap
要​解​决​这​个​问​题​,为​群​集​里​的​每​个​节​点​添​加​一​个​ JMS 提​供​者​和​恢​复​管​理​者​(Recovery Manager)。​例​如​,如​果​群​集​有​三​个​节​点​,在​ jbossts-properties.xml 里​添​加​:
      <property name="com.arjuna.ats.jta.recovery.XAResourceRecovery.JBMESSAGINGREMOTE1"
          value="org.jboss.jms.server.recovery.MessagingXAResourceRecovery;java:/RemoteJMSProvider1"/>
	  
      <property name="com.arjuna.ats.jta.recovery.XAResourceRecovery.JBMESSAGINGREMOTE2"
          value="org.jboss.jms.server.recovery.MessagingXAResourceRecovery;java:/RemoteJMSProvider2"/>
Copy to Clipboard Toggle word wrap
在​ JBOSS_HOME/server/default/deploy/jms-ds.xml 里​可​以​配​置​ Remote 提​供​者​:
<properties depends="arjuna" name="jta">
  <!--
      Support subtransactions in the JTA layer?
      Default is NO.
  -->
  <property name="com.arjuna.ats.jta.supportSubtransactions" value="NO"/>
  <property name="com.arjuna.ats.jta.jtaTMImplementation"
	    value="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple"/>
  <property name="com.arjuna.ats.jta.jtaUTImplementation"
	    value="com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple"/>      
  <!--
      *** Add this line to enable recovery for JMS resources using DefaultJMSProvider ***
  -->
  <property name="com.arjuna.ats.jta.recovery.XAResourceRecovery.JBMESSAGING1"
	    value="org.jboss.jms.server.recovery.MessagingXAResourceRecovery;java:/DefaultJMSProvider"/>

</properties>
Copy to Clipboard Toggle word wrap
JNDI 属​性​用​于​连​接​群​集​里​的​远​程​节​点​。​在​群​集​里​的​每​个​节​点​里​为​所​有​其​他​节​点​添​加​提​供​者​和​恢​复​管​理​者​以​进​行​正​确​的​恢​复​。​
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat