一、 進入死信佇列(進入死信的三種方式)
**演示
- channel.basicreject(message.getmessageproperties().getdeliverytag(), true); // 拒絕訊息
- true 傳送給下乙個消費者
- false 誰都不接受,從佇列中刪除
fanoutexchange fanoutexchange=new fanoutexchange("alter");
fanoutexchange.setinternal(true);//設定為內部交換機,作為處理了非法的訊息,無法匹配到route key的訊息
- 為ae交換機繫結佇列 `alter_message`
繫結引數,設定沒有匹配route key
的訊息傳送到ae交換機alternate-exchange
4.設定死信交換機dead_letter_exchange
死信交換機
模擬死信佇列
import pika
#認證,生產者
credentials = pika.plaincredentials('guest', 'guest')
connection = pika.blockingconnection(pika.connectionparameters('127.0.0.1',5672,'/',credentials))
#通過tcp協議獲取乙個連線
channel = connection.channel()
#宣告乙個對下列和賈環加
#channel.queue_declare(queue='hello')
#被hello接受了
channel.basic_publish(exchange='test',
routing_key='hello',
body='hello world!')
#傳送了乙個沒有匹配的訊息,匹配到了alter_message
channel.basic_publish(exchange='test',
routing_key='hello12312',
body='hello world!')
#模擬一條雖然能被匹配到,但是無法消費的訊息,然後被傳送到死信佇列訊息
channel.basic_publish(exchange='test',
routing_key='task_queue',
body='hello world!')
@bean
public connectionfactory connectionfactory() throws exception
/*** 接受訊息的監聽,這個監聽客戶交易流水的訊息
* 針對消費者配置
** @return
*/@bean
public ******messagelistenercontainer messagecontainer1(connectionfactory connectionfactory, paymentconsumeimpl transactionconsume)
業務流程管理
業務流程管理 課程背景 當今企業之間的競爭,實際上是商業模式及流程能力之間的競爭。一方面,流程是實現商業模式的核心載體,企業需要打造以客戶為導向的端到端流程。另一方面,流程是企業管理體系的關鍵模組,隨著企業的成長,需要不斷提公升流程成熟度,把例外變成例行 把經驗教訓總結到流程中去。隨著資訊時代的來臨...
變更業務流程
1 提交申請 sp於每月18日 前通過sims 向接入省公司提交新增業務申請。2 新增業務初評與測試 sp配合省公司於當月20日前 完成新增業務初評,並對 初評通過的業務完成測試 包括業務測試和計費測試 3 新增業務評估 省公司於當月22日前通過sims電子打分系統進行業務評估。接入省公司受理部門於...
業務流程引擎
一般的時候,我們都採用程式設計式開發,程式設計式開發的好處非常明顯 直接 高效 自由,當然其缺點也是有的,與其優點剛好相對,因為直接,所以有些變化都要進行 上的修改 因為高效,所以一旦出問題,導致的結果也比較嚴重,因為自由,所以帶來的修改風險也比較大。這也就是許多大的公司都在進行流程化開發的重要原因...