Joforde commented on issue #23739:
URL: https://github.com/apache/pulsar/issues/23739#issuecomment-2564753520

   I also found this problem in pulsar v4.0.0. Here's how I did it :
   
   ```shell
   bin/pulsar-admin --admin-url http://localhost:8080 namespaces 
set-message-ttl --messageTTL 30s public/default
   bin/pulsar-admin --admin-url http://localhost:8080 namespaces 
get-message-ttl public/default
   ```
   
   ```java
   
   public class DelayMessageProducer {
   private static final String serviceUrl = "pulsar://localhost:6650";
   private static final String topicName = 
"persistent://public/default/test_delay_message";
   
       public static void main(String[] args) throws PulsarClientException {
           PulsarClient client = 
PulsarClient.builder().serviceUrl(serviceUrl).build();
           try (Producer<byte[]> producer = 
client.newProducer().topic(topicName).create()) {
               for (int i = 0; i < 100; i++) {
                   MessageId messageId = producer.newMessage().deliverAfter(i, 
TimeUnit.SECONDS).value(("Hello Pulsar! " + 
i).getBytes(StandardCharsets.UTF_8)).send();
                   System.out.println(messageId);
               }
           }
           client.close();
       }
   }
   public class DelayMessageConsumer {
       private static final String serviceUrl = "pulsar://localhost:6650";
       private static final String topicName = 
"persistent://public/default/test_delay_message";
       private static final String subscriptionName = "s0";
   
       public static void main(String[] args) throws PulsarClientException {
           PulsarClient client = 
PulsarClient.builder().serviceUrl(serviceUrl).build();
           Consumer<byte[]> consumer = 
client.newConsumer().topic(topicName).subscriptionName(subscriptionName).subscriptionType(SubscriptionType.Shared).subscriptionInitialPosition(SubscriptionInitialPosition.Earliest).subscribe();
           while (true) {
               Message<byte[]> message = consumer.receive();
               consumer.acknowledge(message);
               System.out.printf("%s,%s,%s\n", message.getPublishTime(), 
message.getMessageId(), new String(message.getData()));
           }
       }
   }
   
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to