服务总线主题为同一MessageId插入了重复的消息记录

时间:2018-06-15 04:50:32

标签: c# azure azureservicebus servicebus

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
    <item name="android:textViewStyle">@style/AppTheme.TextView</item>
    <item name="buttonStyle">@style/AppTheme.Button</item>
    <item name="textInputStyle">
        @style/MyCustomTextInputStyle
    </item>
    <item name="editTextStyle">
        @style/MyCustomEditTextStyle
    </item>
</style>

<style name="MyCustomTextInputStyle" parent="Widget.Design.TextInputLayout">
    <item name="android:textColorHint">@color/colorSecondaryText</item>
    <item name="hintTextAppearance">@style/any_style_you_may_want"</item>
</style>

<style name="MyCustomEditTextStyle" parent="Widget.AppCompat.EditText">
    <item name="android:textColor">@color/colorPrimary</item>
    <item name="fontFamily">@font/lato_light</item>
</style>

服务总线无法识别重复的messageId消息。

为同一个messageId插入多条记录?

如果重复记录已存在,则应避免插入重复记录。enter image description here

1 个答案:

答案 0 :(得分:1)

可能的原因可能是

  • 如果应用程序发送后立即遇到致命错误 一条消息,并且错误地重新启动了应用程序实例 认为先前的消息传递没有发生,随后的 发送会使同一条消息两次出现在系统中。

  • 客户端或网络级别的错误也有可能
    发生在片刻之前,并将发送的消息落实到
    队列,但确认未成功返回到
    客户。这种情况使客户对以下结果产生疑问: 发送操作。

启用重复检测可以通过丢弃重复消息来解决此问题。

队列和主题的重复检测时间历史记录默认为30秒,最大值为7天。

重复检测的时间历史必须很大,才能检测到尽可能多的重复消息。还要注意,窗口的大小直接影响队列(和主题)的吞吐量。

点击here以获取更多信息。