我试图在rebus消息处理程序中发布来自catch块的消息,而不影响Rebus的重试机制。
我的意图是,
在消息处理程序中处理消息。在发生错误时,捕获它,并使用相同的总线发布一些错误事件。在发布“抛出”捕获的异常后,自动放置rebus ACK/NACK,以便重试/重发消息。。
我无法实现上述目标,因为如果从rebus消息处理程序抛出异常,该消息将自动标记为重新传递,并回滚整个管道事务。这否定了上面的第二点,因为当事务回滚时,我要发布的消息也会回滚。有什么办法我可以做到这一点,即发布消息以及自动重试能力。我的消息处理程序代码如下。
public Task Handle(SomeMessage m
以下标识符没有链接:声明为对象或函数以外的任何标识符;声明为函数参数的标识符;没有存储类说明符extern__的对象的块范围标识符。
{
static int a; //no linkage
}
对于存储类说明符外部声明的标识符,在该标识符的先前声明可见的范围内,如果先前的声明指定内部或外部链接,则后一声明中标识符的链接与先前声明中指定的链接相同。如果没有先前的声明可见,或者如果先前的声明指定没有链接__,那么标识符具有外部链接__。
{
static int a; //no linkage
extern int a; //a should get external l