Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Timing Messages with Arbitrary Time Delay.(#83) #84

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

echooymxq
Copy link

No description provided.

@lizhanhui
Copy link
Contributor

It's true that there is some nuance between delay-delivery-message and scheduled-message when time source is considered. But, IMO, we may offer two API for them using the same underlying implementation. Aka, express the concept of delay-delivery through existing delivery_timestamp field as JMS 2.0 Spec

With JMS 2.0, you can specify a delivery delay when sending a message. The queue manager does not deliver the message until after the specified delivery delay has elapsed.

An application can specify a delivery delay in milliseconds, when it sends a message, by using either MessageProducer.setDeliveryDelay(long deliveryDelay) or JMSProducer.setDeliveryDelay(long deliveryDelay). This value is added to the time at which the message is sent and gives the earliest time at which any other application can get that message.

@lizhanhui lizhanhui added discuss enhancement New feature or request labels Dec 2, 2023
@echooymxq
Copy link
Author

@lizhanhui Sorry for late reply, really respect your wrok. As I understand it, like (JMS(ActiveMQ), the delivery_delay should be send to broker and the broker calculated the actually delivery_time. I don't know if I'm understanding you correctly, you mean like pulsar? pulsar support deliverAt and deliverAfter, the actual delivery time is calculated by the client.

@lizhanhui
Copy link
Contributor

@lizhanhui Sorry for late reply, really respect your wrok. As I understand it, like (JMS(ActiveMQ), the delivery_delay should be send to broker and the broker calculated the actually delivery_time. I don't know if I'm understanding you correctly, you mean like pulsar? pulsar support deliverAt and deliverAfter, the actual delivery time is calculated by the client.

Yes, I am suggesting to calculate delivery-time on the client side for these two API, allowing brokers to process them in a unified manner.

Will the difference be significant enough that we add a new field for it?

@fanlunyong
Copy link

fanlunyong commented Mar 13, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants