spring JmsTemplate的sendAndReceive方法
spring JmsTemplate的sendAndReceive方法:使用destinationName字符串和MessageCreator的匿名内部类作为参数,JmsMessageVo中的数据装入MessageCreator,执行executeLocal:使用SessionCallback匿名内部类作为参数,ConnectionFactory创建createConnection一个co
·
spring JmsTemplate的sendAndReceive方法:
使用destinationName字符串和MessageCreator的匿名内部类作为参数,JmsMessageVo中的数据装入MessageCreator,执行executeLocal:
使用SessionCallback匿名内部类作为参数,ConnectionFactory创建createConnection一个connection,使用connection.createSession创建session,启动连接connection.start();SessionCallback的实例化对象调用doInJms,传入session作为参数:
resolveDestinationName(session, destinationName)将指定的目的地名解析为目的地实例Destination,执行JmsTemplate的doSendAndReceive(session, destination, messageCreator)方法:
发送消息doSend(producer, requestMessage),接收消息doReceive(consumer, getReceiveTimeout())
默认RECEIVE_TIMEOUT_NO_WAIT=-1,timeout=0,接下来如果执行receiveNoWait()不阻塞等待,直接返回null,receive(timeout)传参表示等待timeout时间,不传表示一直处于阻塞状态等待消息,所以默认情况下会一直阻塞等待。
接收是阻塞式的接收,默认会一直阻塞等待,直到接收到了消息。也可以设置一个最长的等待时间参数,超过这个时间,接收的方法将得到null的结果。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)