Java 如何使用HornetQ处理JMS会话超时?

Java 如何使用HornetQ处理JMS会话超时?,java,tcp,jms,hornetq,Java,Tcp,Jms,Hornetq,任何人都可以解释如何处理JMS会话超时。在我的应用程序中,我使用的是Hornetq,它工作正常,过了一段时间就会出现错误(JMS会话超时),请帮助我。 公共大黄蜂生产者(){ 试试看{ ic=getInitialContext(); cf=(ConnectionFactory)ic.lookup(“/ConnectionFactory”); 队列=新的HornetQQueue(“示例队列”); connection=cf.createConnection(); logger.info(“Horn

任何人都可以解释如何处理JMS会话超时。在我的应用程序中,我使用的是Hornetq,它工作正常,过了一段时间就会出现错误(JMS会话超时),请帮助我。 公共大黄蜂生产者(){

试试看{
ic=getInitialContext();
cf=(ConnectionFactory)ic.lookup(“/ConnectionFactory”);
队列=新的HornetQQueue(“示例队列”);
connection=cf.createConnection();
logger.info(“HornetQ的连接对象>>>”+连接);
会话=connection.createSession(false,session.AUTO_-ACKNOWLEDGE);
messageProducer=session.createProducer(队列);
connection.start();
logger.info(“消息生产者HornetQ…..”+消息生产者);
}捕获(NamingE例外){
e、 printStackTrace();
}捕获(JME){
e、 printStackTrace();
}
}

感谢您尝试在HornetQ配置文件中这样配置连接工厂

<connection-factory name="NettyConnectionFactory">
  <xa>false</xa>
  <connectors>
     <connector-ref connector-name="netty"/>
  </connectors>
  <entries>
     <entry name="/ConnectionFactory"/>
  </entries>
  <retry-interval>1000</retry-interval>
  <retry-interval-multiplier>1.0</retry-interval-multiplier>
  <reconnect-attempts>1</reconnect-attempts>
</connection-factory>

假的
1000
1
1.

要处理JMS超时,请尝试使用JMSException。

尝试在HornetQ配置文件中配置连接工厂,如下所示

<connection-factory name="NettyConnectionFactory">
  <xa>false</xa>
  <connectors>
     <connector-ref connector-name="netty"/>
  </connectors>
  <entries>
     <entry name="/ConnectionFactory"/>
  </entries>
  <retry-interval>1000</retry-interval>
  <retry-interval-multiplier>1.0</retry-interval-multiplier>
  <reconnect-attempts>1</reconnect-attempts>
</connection-factory>

假的
1000
1
1.

要处理JMS超时,请尝试使用JMSException。

当异常发生时?请发布堆栈跟踪。您正在使用持久会话吗?它发生在接收或发送消息时吗?当异常发生时,我使用listner类。发布堆栈跟踪。没有它很难帮助你。代码还可以。它显示了您如何连接到JMS提供程序。事实上你能做到。但在那之后,一些错误发生了。Stacktrace可以帮助了解发生了什么。异常何时发生?请发布堆栈跟踪。您正在使用持久会话吗?它发生在接收或发送消息时吗?当异常发生时,我使用listner类。发布堆栈跟踪。没有它很难帮助你。代码还可以。它显示了您如何连接到JMS提供程序。事实上你能做到。但在那之后,一些错误发生了。Stacktrace有助于了解发生了什么。