4.x 版本中的 Bolt 消息状态转换

本节列出了 4.x 版本中所有可用的 Bolt 消息状态转换。

状态 请求消息 触发信号 服务器响应摘要消息 新状态

已连接

HELLO

成功 {}

READY(就绪)

已连接

HELLO

FAILURE {}

DEFUNCT(已失效)

READY(就绪)

RUN

成功 {}

STREAMING(流式传输中)

READY(就绪)

RUN

FAILURE {}

FAILED(失败)

READY(就绪)

BEGIN

成功 {}

TX_READY(事务就绪)

READY(就绪)

BEGIN

FAILURE {}

FAILED(失败)

READY(就绪)

ROUTE

成功 {}

READY(就绪)

READY(就绪)

ROUTE

FAILURE {}

FAILED(失败)

READY(就绪)

RESET

<INTERRUPT>

不适用

READY(就绪)

GOODBYE

<DISCONNECT>

不适用

DEFUNCT(已失效)

STREAMING(流式传输中)

PULL

SUCCESS {"has_more": true}

STREAMING(流式传输中)

STREAMING(流式传输中)

PULL

SUCCESS {"has_more": false}SUCCESS {}

READY(就绪)

STREAMING(流式传输中)

PULL

FAILURE {}

FAILED(失败)

STREAMING(流式传输中)

DISCARD

SUCCESS {"has_more": true}

STREAMING(流式传输中)

STREAMING(流式传输中)

DISCARD

SUCCESS {"has_more": false}SUCCESS {}

READY(就绪)

STREAMING(流式传输中)

DISCARD

FAILURE {}

FAILED(失败)

STREAMING(流式传输中)

RESET

<INTERRUPT>

不适用

STREAMING(流式传输中)

GOODBYE

<DISCONNECT>

不适用

DEFUNCT(已失效)

TX_READY(事务就绪)

RUN

SUCCESS {"qid": id::Integer}

TX_STREAMING(事务流式传输中)

TX_READY(事务就绪)

RUN

FAILURE {}

FAILED(失败)

TX_READY(事务就绪)

COMMIT

成功 {}

READY(就绪)

TX_READY(事务就绪)

COMMIT

FAILURE {}

FAILED(失败)

TX_READY(事务就绪)

ROLLBACK

成功 {}

READY(就绪)

TX_READY(事务就绪)

ROLLBACK

FAILURE {}

FAILED(失败)

TX_READY(事务就绪)

RESET

<INTERRUPT>

不适用

TX_READY(事务就绪)

GOODBYE

<DISCONNECT>

不适用

DEFUNCT(已失效)

TX_STREAMING(事务流式传输中)

RUN

SUCCESS {"qid": id::Integer}

TX_STREAMING(事务流式传输中)

TX_STREAMING(事务流式传输中)

RUN

FAILURE {}

FAILED(失败)

TX_STREAMING(事务流式传输中)

PULL

SUCCESS {"has_more": true}

TX_STREAMING(事务流式传输中)

TX_STREAMING(事务流式传输中)

PULL

SUCCESS {"has_more": false}SUCCESS {}

TX_READYTX_STREAMING(如果还有其他打开的流)

TX_STREAMING(事务流式传输中)

PULL

FAILURE {}

FAILED(失败)

TX_STREAMING(事务流式传输中)

DISCARD

SUCCESS {"has_more": true}

TX_STREAMING(事务流式传输中)

TX_STREAMING(事务流式传输中)

DISCARD

SUCCESS {"has_more": false}SUCCESS {}

TX_READYTX_STREAMING(如果还有其他打开的流)

TX_STREAMING(事务流式传输中)

DISCARD

FAILURE {}

FAILED(失败)

TX_STREAMING(事务流式传输中)

RESET

<INTERRUPT>

不适用

TX_STREAMING(事务流式传输中)

GOODBYE

<DISCONNECT>

不适用

DEFUNCT(已失效)

FAILED(失败)

RUN

IGNORED

FAILED(失败)

FAILED(失败)

PULL

IGNORED

FAILED(失败)

FAILED(失败)

DISCARD

IGNORED

FAILED(失败)

FAILED(失败)

BEGIN

IGNORED

FAILED(失败)

FAILED(失败)

COMMIT

IGNORED

FAILED(失败)

FAILED(失败)

ROLLBACK

IGNORED

FAILED(失败)

FAILED(失败)

ROUTE

IGNORED

FAILED(失败)

FAILED(失败)

RESET

<INTERRUPT>

不适用

FAILED(失败)

GOODBYE

<DISCONNECT>

不适用

DEFUNCT(已失效)

INTERRUPTED(已中断)

RUN

IGNORED

INTERRUPTED(已中断)

INTERRUPTED(已中断)

PULL

IGNORED

INTERRUPTED(已中断)

INTERRUPTED(已中断)

DISCARD

IGNORED

INTERRUPTED(已中断)

INTERRUPTED(已中断)

BEGIN

IGNORED

INTERRUPTED(已中断)

INTERRUPTED(已中断)

COMMIT

IGNORED

INTERRUPTED(已中断)

INTERRUPTED(已中断)

ROLLBACK

IGNORED

INTERRUPTED(已中断)

INTERRUPTED(已中断)

ROUTE

IGNORED

INTERRUPTED(已中断)

INTERRUPTED(已中断)

RESET

<INTERRUPT>

成功 {}

READY(就绪)

INTERRUPTED(已中断)

RESET

<INTERRUPT>

FAILURE {}

DEFUNCT(已失效)

INTERRUPTED(已中断)

GOODBYE

<DISCONNECT>

不适用

DEFUNCT(已失效)

表 1. <INTERRUPT> 信号
状态 信号 服务器响应摘要消息 新状态

READY(就绪)

<INTERRUPT>

不适用

INTERRUPTED(已中断)

STREAMING(流式传输中)

<INTERRUPT>

不适用

INTERRUPTED(已中断)

TX_READY(事务就绪)

<INTERRUPT>

不适用

INTERRUPTED(已中断)

TX_STREAMING(事务流式传输中)

<INTERRUPT>

不适用

INTERRUPTED(已中断)

FAILED(失败)

<INTERRUPT>

不适用

INTERRUPTED(已中断)

INTERRUPTED(已中断)

<INTERRUPT>

不适用

INTERRUPTED(已中断)