Skip to content

[Enhancement] Enhance the send delayed message interface to include a message send timeout. #676

Open
@magestacks

Description

@magestacks

Before Creating the Enhancement Request

  • I have confirmed that this should be classified as an enhancement rather than a bug/feature.

Summary

Multiple overloaded methods of RocketMQTemplate#syncSendDelayTimeSeconds do not support a custom timeout parameter.

The RocketMQTemplate#syncSend method that supports custom configurations is private.

/**
 * Same to {@link #syncSend(String, Message)} with send timeout and delay time specified in addition.
 * This function is only valid when the broker version is 5.0 or above
 *
 * @param destination formats: `topicName:tags`
 * @param message {@link org.springframework.messaging.Message}
 * @param timeout send timeout with millis
 * @param delayTime delay time for message
 * @return {@link SendResult}
 */
private SendResult syncSend(String destination, Message<?> message, long timeout, long delayTime, DelayMode mode) {
    // ......
}

Motivation

Hope to include a custom timeout parameter when sending any delayed messages.

Describe the Solution You'd Like

Add an additional overloaded method for RocketMQTemplate#syncSendDelayTimeSeconds, or change the visibility of the RocketMQTemplate#syncSend method to public.

If you agree with this enhancement, I can submit a PR.

Describe Alternatives You've Considered

Add an additional overloaded method for RocketMQTemplate#syncSendDelayTimeSeconds, or change the visibility of the RocketMQTemplate#syncSend method to public.

If you agree with this enhancement, I can submit a PR.

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions