You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by aa...@apache.org on 2022/07/15 03:27:46 UTC

[rocketmq-apis] 13/38: Apply IDL update

This is an automated email from the ASF dual-hosted git repository.

aaronai pushed a commit to branch java
in repository https://gitbox.apache.org/repos/asf/rocketmq-apis.git

commit bb069b385ffe74a199eed2c6e7b3b4cdb4264f61
Author: 凌楚 <ya...@alibaba-inc.com>
AuthorDate: Sun Apr 24 14:12:49 2022 +0800

    Apply IDL update
---
 src/main/java/apache/rocketmq/v2/MQService.java    | 277 ++++----
 .../apache/rocketmq/v2/ReceiveMessageResponse.java | 739 +++++++--------------
 .../v2/ReceiveMessageResponseOrBuilder.java        |  30 +-
 .../proto/apache/rocketmq/v2/service.proto         |   8 +-
 4 files changed, 384 insertions(+), 670 deletions(-)

diff --git a/src/main/java/apache/rocketmq/v2/MQService.java b/src/main/java/apache/rocketmq/v2/MQService.java
index a03daf4..4796afe 100644
--- a/src/main/java/apache/rocketmq/v2/MQService.java
+++ b/src/main/java/apache/rocketmq/v2/MQService.java
@@ -214,146 +214,143 @@ public final class MQService {
       "on\030\003 \001(\0132$.apache.rocketmq.v2.FilterExpr" +
       "ession\022\022\n\nbatch_size\030\004 \001(\005\022:\n\022invisible_" +
       "duration\030\005 \001(\0132\031.google.protobuf.Duratio" +
-      "nH\000\210\001\001B\025\n\023_invisible_duration\"\341\001\n\026Receiv" +
-      "eMessageResponse\022*\n\006status\030\001 \001(\0132\032.apach" +
-      "e.rocketmq.v2.Status\022,\n\007message\030\002 \001(\0132\033." +
-      "apache.rocketmq.v2.Message\0226\n\022delivery_t" +
-      "imestamp\030\003 \001(\0132\032.google.protobuf.Timesta" +
-      "mp\0225\n\022invisible_duration\030\004 \001(\0132\031.google." +
-      "protobuf.Duration\"=\n\017AckMessageEntry\022\022\n\n" +
-      "message_id\030\001 \001(\t\022\026\n\016receipt_handle\030\002 \001(\t" +
-      "\"\243\001\n\021AckMessageRequest\022+\n\005group\030\001 \001(\0132\034." +
+      "nH\000\210\001\001B\025\n\023_invisible_duration\"\201\001\n\026Receiv" +
+      "eMessageResponse\022,\n\006status\030\001 \001(\0132\032.apach" +
+      "e.rocketmq.v2.StatusH\000\022.\n\007message\030\002 \001(\0132" +
+      "\033.apache.rocketmq.v2.MessageH\000B\t\n\007conten" +
+      "t\"=\n\017AckMessageEntry\022\022\n\nmessage_id\030\001 \001(\t" +
+      "\022\026\n\016receipt_handle\030\002 \001(\t\"\243\001\n\021AckMessageR" +
+      "equest\022+\n\005group\030\001 \001(\0132\034.apache.rocketmq." +
+      "v2.Resource\022+\n\005topic\030\002 \001(\0132\034.apache.rock" +
+      "etmq.v2.Resource\0224\n\007entries\030\003 \003(\0132#.apac" +
+      "he.rocketmq.v2.AckMessageEntry\"o\n\025AckMes" +
+      "sageResultEntry\022\022\n\nmessage_id\030\001 \001(\t\022\026\n\016r" +
+      "eceipt_handle\030\002 \001(\t\022*\n\006status\030\003 \001(\0132\032.ap" +
+      "ache.rocketmq.v2.Status\"|\n\022AckMessageRes" +
+      "ponse\022*\n\006status\030\001 \001(\0132\032.apache.rocketmq." +
+      "v2.Status\022:\n\007entries\030\002 \003(\0132).apache.rock" +
+      "etmq.v2.AckMessageResultEntry\"\264\001\n\022NackMe" +
+      "ssageRequest\022+\n\005group\030\001 \001(\0132\034.apache.roc" +
+      "ketmq.v2.Resource\022+\n\005topic\030\002 \001(\0132\034.apach" +
+      "e.rocketmq.v2.Resource\022\026\n\016receipt_handle" +
+      "\030\003 \001(\t\022\022\n\nmessage_id\030\004 \001(\t\022\030\n\020delivery_a" +
+      "ttempt\030\005 \001(\005\"A\n\023NackMessageResponse\022*\n\006s" +
+      "tatus\030\001 \001(\0132\032.apache.rocketmq.v2.Status\"" +
+      "\347\001\n&ForwardMessageToDeadLetterQueueReque" +
+      "st\022+\n\005group\030\001 \001(\0132\034.apache.rocketmq.v2.R" +
+      "esource\022+\n\005topic\030\002 \001(\0132\034.apache.rocketmq" +
+      ".v2.Resource\022\026\n\016receipt_handle\030\003 \001(\t\022\022\n\n" +
+      "message_id\030\004 \001(\t\022\030\n\020delivery_attempt\030\005 \001" +
+      "(\005\022\035\n\025max_delivery_attempts\030\006 \001(\005\"U\n\'For" +
+      "wardMessageToDeadLetterQueueResponse\022*\n\006" +
+      "status\030\001 \001(\0132\032.apache.rocketmq.v2.Status" +
+      "\"N\n\020HeartbeatRequest\0220\n\005group\030\001 \001(\0132\034.ap" +
+      "ache.rocketmq.v2.ResourceH\000\210\001\001B\010\n\006_group" +
+      "\"?\n\021HeartbeatResponse\022*\n\006status\030\001 \001(\0132\032." +
+      "apache.rocketmq.v2.Status\"\375\001\n\025EndTransac" +
+      "tionRequest\022+\n\005topic\030\001 \001(\0132\034.apache.rock" +
+      "etmq.v2.Resource\022\022\n\nmessage_id\030\002 \001(\t\022\026\n\016" +
+      "transaction_id\030\003 \001(\t\022=\n\nresolution\030\004 \001(\016" +
+      "2).apache.rocketmq.v2.TransactionResolut" +
+      "ion\0225\n\006source\030\005 \001(\0162%.apache.rocketmq.v2" +
+      ".TransactionSource\022\025\n\rtrace_context\030\006 \001(" +
+      "\t\"D\n\026EndTransactionResponse\022*\n\006status\030\001 " +
+      "\001(\0132\032.apache.rocketmq.v2.Status\"-\n\034Print" +
+      "ThreadStackTraceCommand\022\r\n\005nonce\030\001 \001(\t\"\205" +
+      "\001\n\020ThreadStackTrace\022\r\n\005nonce\030\001 \001(\t\022*\n\006st" +
+      "atus\030\002 \001(\0132\032.apache.rocketmq.v2.Status\022\037" +
+      "\n\022thread_stack_trace\030\003 \001(\tH\000\210\001\001B\025\n\023_thre" +
+      "ad_stack_trace\"S\n\024VerifyMessageCommand\022\r" +
+      "\n\005nonce\030\001 \001(\t\022,\n\007message\030\002 \001(\0132\033.apache." +
+      "rocketmq.v2.Message\"P\n\023VerifyMessageResu" +
+      "lt\022\r\n\005nonce\030\001 \001(\t\022*\n\006status\030\002 \001(\0132\032.apac" +
+      "he.rocketmq.v2.Status\"\200\001\n!RecoverOrphane" +
+      "dTransactionCommand\022C\n\036orphaned_transact" +
+      "ional_message\030\001 \001(\0132\033.apache.rocketmq.v2" +
+      ".Message\022\026\n\016transaction_id\030\002 \001(\t\"\251\001\n\nPub" +
+      "lishing\022,\n\006topics\030\001 \003(\0132\034.apache.rocketm" +
+      "q.v2.Resource\0225\n\014retry_policy\030\002 \001(\0132\037.ap" +
+      "ache.rocketmq.v2.RetryPolicy\022\037\n\027compress" +
+      "_body_threshold\030\003 \001(\005\022\025\n\rmax_body_size\030\004" +
+      " \001(\005\"\204\003\n\014Subscription\0220\n\005group\030\001 \001(\0132\034.a" +
+      "pache.rocketmq.v2.ResourceH\000\210\001\001\022<\n\rsubsc" +
+      "riptions\030\002 \003(\0132%.apache.rocketmq.v2.Subs" +
+      "criptionEntry\022\021\n\004fifo\030\003 \001(\010H\001\210\001\001\022<\n\016back" +
+      "off_policy\030\004 \001(\0132\037.apache.rocketmq.v2.Re" +
+      "tryPolicyH\002\210\001\001\022\037\n\022receive_batch_size\030\005 \001" +
+      "(\005H\003\210\001\001\022<\n\024long_polling_timeout\030\006 \001(\0132\031." +
+      "google.protobuf.DurationH\004\210\001\001B\010\n\006_groupB" +
+      "\007\n\005_fifoB\021\n\017_backoff_policyB\025\n\023_receive_" +
+      "batch_sizeB\027\n\025_long_polling_timeout\"\347\002\n\010" +
+      "Settings\0228\n\013client_type\030\001 \001(\0162\036.apache.r" +
+      "ocketmq.v2.ClientTypeH\001\210\001\001\0228\n\014access_poi" +
+      "nt\030\002 \001(\0132\035.apache.rocketmq.v2.EndpointsH" +
+      "\002\210\001\001\0227\n\017request_timeout\030\003 \001(\0132\031.google.p" +
+      "rotobuf.DurationH\003\210\001\001\0224\n\npublishing\030\004 \001(" +
+      "\0132\036.apache.rocketmq.v2.PublishingH\000\0228\n\014s" +
+      "ubscription\030\005 \001(\0132 .apache.rocketmq.v2.S" +
+      "ubscriptionH\000B\t\n\007pub_subB\016\n\014_client_type" +
+      "B\017\n\r_access_pointB\022\n\020_request_timeout\"\356\003" +
+      "\n\020TelemetryCommand\0220\n\010settings\030\001 \001(\0132\034.a" +
+      "pache.rocketmq.v2.SettingsH\000\022B\n\022thread_s" +
+      "tack_trace\030\002 \001(\0132$.apache.rocketmq.v2.Th" +
+      "readStackTraceH\000\022H\n\025verify_message_resul" +
+      "t\030\003 \001(\0132\'.apache.rocketmq.v2.VerifyMessa" +
+      "geResultH\000\022e\n$recover_orphaned_transacti" +
+      "on_command\030\004 \001(\01325.apache.rocketmq.v2.Re" +
+      "coverOrphanedTransactionCommandH\000\022\\\n pri" +
+      "nt_thread_stack_trace_command\030\005 \001(\01320.ap" +
+      "ache.rocketmq.v2.PrintThreadStackTraceCo" +
+      "mmandH\000\022J\n\026verify_message_command\030\006 \001(\0132" +
+      "(.apache.rocketmq.v2.VerifyMessageComman" +
+      "dH\000B\t\n\007command\"\\\n\036NotifyClientTerminatio" +
+      "nRequest\0220\n\005group\030\001 \001(\0132\034.apache.rocketm" +
+      "q.v2.ResourceH\000\210\001\001B\010\n\006_group\"M\n\037NotifyCl" +
+      "ientTerminationResponse\022*\n\006status\030\001 \001(\0132" +
+      "\032.apache.rocketmq.v2.Status\"\311\001\n\036ChangeIn" +
+      "visibleDurationRequest\022+\n\005group\030\001 \001(\0132\034." +
       "apache.rocketmq.v2.Resource\022+\n\005topic\030\002 \001" +
-      "(\0132\034.apache.rocketmq.v2.Resource\0224\n\007entr" +
-      "ies\030\003 \003(\0132#.apache.rocketmq.v2.AckMessag" +
-      "eEntry\"o\n\025AckMessageResultEntry\022\022\n\nmessa" +
-      "ge_id\030\001 \001(\t\022\026\n\016receipt_handle\030\002 \001(\t\022*\n\006s" +
-      "tatus\030\003 \001(\0132\032.apache.rocketmq.v2.Status\"" +
-      "|\n\022AckMessageResponse\022*\n\006status\030\001 \001(\0132\032." +
-      "apache.rocketmq.v2.Status\022:\n\007entries\030\002 \003" +
-      "(\0132).apache.rocketmq.v2.AckMessageResult" +
-      "Entry\"\264\001\n\022NackMessageRequest\022+\n\005group\030\001 " +
-      "\001(\0132\034.apache.rocketmq.v2.Resource\022+\n\005top" +
-      "ic\030\002 \001(\0132\034.apache.rocketmq.v2.Resource\022\026" +
-      "\n\016receipt_handle\030\003 \001(\t\022\022\n\nmessage_id\030\004 \001" +
-      "(\t\022\030\n\020delivery_attempt\030\005 \001(\005\"A\n\023NackMess" +
-      "ageResponse\022*\n\006status\030\001 \001(\0132\032.apache.roc" +
-      "ketmq.v2.Status\"\347\001\n&ForwardMessageToDead" +
-      "LetterQueueRequest\022+\n\005group\030\001 \001(\0132\034.apac" +
-      "he.rocketmq.v2.Resource\022+\n\005topic\030\002 \001(\0132\034" +
-      ".apache.rocketmq.v2.Resource\022\026\n\016receipt_" +
-      "handle\030\003 \001(\t\022\022\n\nmessage_id\030\004 \001(\t\022\030\n\020deli" +
-      "very_attempt\030\005 \001(\005\022\035\n\025max_delivery_attem" +
-      "pts\030\006 \001(\005\"U\n\'ForwardMessageToDeadLetterQ" +
-      "ueueResponse\022*\n\006status\030\001 \001(\0132\032.apache.ro" +
-      "cketmq.v2.Status\"N\n\020HeartbeatRequest\0220\n\005" +
-      "group\030\001 \001(\0132\034.apache.rocketmq.v2.Resourc" +
-      "eH\000\210\001\001B\010\n\006_group\"?\n\021HeartbeatResponse\022*\n" +
-      "\006status\030\001 \001(\0132\032.apache.rocketmq.v2.Statu" +
-      "s\"\375\001\n\025EndTransactionRequest\022+\n\005topic\030\001 \001" +
-      "(\0132\034.apache.rocketmq.v2.Resource\022\022\n\nmess" +
-      "age_id\030\002 \001(\t\022\026\n\016transaction_id\030\003 \001(\t\022=\n\n" +
-      "resolution\030\004 \001(\0162).apache.rocketmq.v2.Tr" +
-      "ansactionResolution\0225\n\006source\030\005 \001(\0162%.ap" +
-      "ache.rocketmq.v2.TransactionSource\022\025\n\rtr" +
-      "ace_context\030\006 \001(\t\"D\n\026EndTransactionRespo" +
-      "nse\022*\n\006status\030\001 \001(\0132\032.apache.rocketmq.v2" +
-      ".Status\"-\n\034PrintThreadStackTraceCommand\022" +
-      "\r\n\005nonce\030\001 \001(\t\"\205\001\n\020ThreadStackTrace\022\r\n\005n" +
-      "once\030\001 \001(\t\022*\n\006status\030\002 \001(\0132\032.apache.rock" +
-      "etmq.v2.Status\022\037\n\022thread_stack_trace\030\003 \001" +
-      "(\tH\000\210\001\001B\025\n\023_thread_stack_trace\"S\n\024Verify" +
-      "MessageCommand\022\r\n\005nonce\030\001 \001(\t\022,\n\007message" +
-      "\030\002 \001(\0132\033.apache.rocketmq.v2.Message\"P\n\023V" +
-      "erifyMessageResult\022\r\n\005nonce\030\001 \001(\t\022*\n\006sta" +
-      "tus\030\002 \001(\0132\032.apache.rocketmq.v2.Status\"\200\001" +
-      "\n!RecoverOrphanedTransactionCommand\022C\n\036o" +
-      "rphaned_transactional_message\030\001 \001(\0132\033.ap" +
-      "ache.rocketmq.v2.Message\022\026\n\016transaction_" +
-      "id\030\002 \001(\t\"\251\001\n\nPublishing\022,\n\006topics\030\001 \003(\0132" +
-      "\034.apache.rocketmq.v2.Resource\0225\n\014retry_p" +
-      "olicy\030\002 \001(\0132\037.apache.rocketmq.v2.RetryPo" +
-      "licy\022\037\n\027compress_body_threshold\030\003 \001(\005\022\025\n" +
-      "\rmax_body_size\030\004 \001(\005\"\204\003\n\014Subscription\0220\n" +
-      "\005group\030\001 \001(\0132\034.apache.rocketmq.v2.Resour" +
-      "ceH\000\210\001\001\022<\n\rsubscriptions\030\002 \003(\0132%.apache." +
-      "rocketmq.v2.SubscriptionEntry\022\021\n\004fifo\030\003 " +
-      "\001(\010H\001\210\001\001\022<\n\016backoff_policy\030\004 \001(\0132\037.apach" +
-      "e.rocketmq.v2.RetryPolicyH\002\210\001\001\022\037\n\022receiv" +
-      "e_batch_size\030\005 \001(\005H\003\210\001\001\022<\n\024long_polling_" +
-      "timeout\030\006 \001(\0132\031.google.protobuf.Duration" +
-      "H\004\210\001\001B\010\n\006_groupB\007\n\005_fifoB\021\n\017_backoff_pol" +
-      "icyB\025\n\023_receive_batch_sizeB\027\n\025_long_poll" +
-      "ing_timeout\"\347\002\n\010Settings\0228\n\013client_type\030" +
-      "\001 \001(\0162\036.apache.rocketmq.v2.ClientTypeH\001\210" +
-      "\001\001\0228\n\014access_point\030\002 \001(\0132\035.apache.rocket" +
-      "mq.v2.EndpointsH\002\210\001\001\0227\n\017request_timeout\030" +
-      "\003 \001(\0132\031.google.protobuf.DurationH\003\210\001\001\0224\n" +
-      "\npublishing\030\004 \001(\0132\036.apache.rocketmq.v2.P" +
-      "ublishingH\000\0228\n\014subscription\030\005 \001(\0132 .apac" +
-      "he.rocketmq.v2.SubscriptionH\000B\t\n\007pub_sub" +
-      "B\016\n\014_client_typeB\017\n\r_access_pointB\022\n\020_re" +
-      "quest_timeout\"\356\003\n\020TelemetryCommand\0220\n\010se" +
-      "ttings\030\001 \001(\0132\034.apache.rocketmq.v2.Settin" +
-      "gsH\000\022B\n\022thread_stack_trace\030\002 \001(\0132$.apach" +
-      "e.rocketmq.v2.ThreadStackTraceH\000\022H\n\025veri" +
-      "fy_message_result\030\003 \001(\0132\'.apache.rocketm" +
-      "q.v2.VerifyMessageResultH\000\022e\n$recover_or" +
-      "phaned_transaction_command\030\004 \001(\01325.apach" +
-      "e.rocketmq.v2.RecoverOrphanedTransaction" +
-      "CommandH\000\022\\\n print_thread_stack_trace_co" +
-      "mmand\030\005 \001(\01320.apache.rocketmq.v2.PrintTh" +
-      "readStackTraceCommandH\000\022J\n\026verify_messag" +
-      "e_command\030\006 \001(\0132(.apache.rocketmq.v2.Ver" +
-      "ifyMessageCommandH\000B\t\n\007command\"\\\n\036Notify" +
-      "ClientTerminationRequest\0220\n\005group\030\001 \001(\0132" +
-      "\034.apache.rocketmq.v2.ResourceH\000\210\001\001B\010\n\006_g" +
-      "roup\"M\n\037NotifyClientTerminationResponse\022" +
-      "*\n\006status\030\001 \001(\0132\032.apache.rocketmq.v2.Sta" +
-      "tus\"\311\001\n\036ChangeInvisibleDurationRequest\022+" +
-      "\n\005group\030\001 \001(\0132\034.apache.rocketmq.v2.Resou" +
-      "rce\022+\n\005topic\030\002 \001(\0132\034.apache.rocketmq.v2." +
-      "Resource\022\026\n\016receipt_handle\030\003 \001(\t\0225\n\022invi" +
-      "sible_duration\030\004 \001(\0132\031.google.protobuf.D" +
-      "uration\"e\n\037ChangeInvisibleDurationRespon" +
-      "se\022*\n\006status\030\001 \001(\0132\032.apache.rocketmq.v2." +
-      "Status\022\026\n\016receipt_handle\030\002 \001(\t2\302\n\n\020Messa" +
-      "gingService\022]\n\nQueryRoute\022%.apache.rocke" +
-      "tmq.v2.QueryRouteRequest\032&.apache.rocket" +
-      "mq.v2.QueryRouteResponse\"\000\022Z\n\tHeartbeat\022" +
-      "$.apache.rocketmq.v2.HeartbeatRequest\032%." +
-      "apache.rocketmq.v2.HeartbeatResponse\"\000\022`" +
-      "\n\013SendMessage\022&.apache.rocketmq.v2.SendM" +
-      "essageRequest\032\'.apache.rocketmq.v2.SendM" +
-      "essageResponse\"\000\022l\n\017QueryAssignment\022*.ap" +
-      "ache.rocketmq.v2.QueryAssignmentRequest\032" +
-      "+.apache.rocketmq.v2.QueryAssignmentResp" +
-      "onse\"\000\022k\n\016ReceiveMessage\022).apache.rocket" +
-      "mq.v2.ReceiveMessageRequest\032*.apache.roc" +
-      "ketmq.v2.ReceiveMessageResponse\"\0000\001\022]\n\nA" +
-      "ckMessage\022%.apache.rocketmq.v2.AckMessag" +
-      "eRequest\032&.apache.rocketmq.v2.AckMessage" +
-      "Response\"\000\022`\n\013NackMessage\022&.apache.rocke" +
-      "tmq.v2.NackMessageRequest\032\'.apache.rocke" +
-      "tmq.v2.NackMessageResponse\"\000\022\234\001\n\037Forward" +
-      "MessageToDeadLetterQueue\022:.apache.rocket" +
-      "mq.v2.ForwardMessageToDeadLetterQueueReq" +
-      "uest\032;.apache.rocketmq.v2.ForwardMessage" +
-      "ToDeadLetterQueueResponse\"\000\022i\n\016EndTransa" +
-      "ction\022).apache.rocketmq.v2.EndTransactio" +
-      "nRequest\032*.apache.rocketmq.v2.EndTransac" +
-      "tionResponse\"\000\022]\n\tTelemetry\022$.apache.roc" +
-      "ketmq.v2.TelemetryCommand\032$.apache.rocke" +
-      "tmq.v2.TelemetryCommand\"\000(\0010\001\022\204\001\n\027Notify" +
-      "ClientTermination\0222.apache.rocketmq.v2.N" +
-      "otifyClientTerminationRequest\0323.apache.r" +
-      "ocketmq.v2.NotifyClientTerminationRespon" +
-      "se\"\000\022\204\001\n\027ChangeInvisibleDuration\0222.apach" +
-      "e.rocketmq.v2.ChangeInvisibleDurationReq" +
-      "uest\0323.apache.rocketmq.v2.ChangeInvisibl" +
-      "eDurationResponse\"\000B<\n\022apache.rocketmq.v" +
-      "2B\tMQServiceP\001\240\001\001\330\001\001\252\002\022Apache.Rocketmq.V" +
-      "2b\006proto3"
+      "(\0132\034.apache.rocketmq.v2.Resource\022\026\n\016rece" +
+      "ipt_handle\030\003 \001(\t\0225\n\022invisible_duration\030\004" +
+      " \001(\0132\031.google.protobuf.Duration\"e\n\037Chang" +
+      "eInvisibleDurationResponse\022*\n\006status\030\001 \001" +
+      "(\0132\032.apache.rocketmq.v2.Status\022\026\n\016receip" +
+      "t_handle\030\002 \001(\t2\302\n\n\020MessagingService\022]\n\nQ" +
+      "ueryRoute\022%.apache.rocketmq.v2.QueryRout" +
+      "eRequest\032&.apache.rocketmq.v2.QueryRoute" +
+      "Response\"\000\022Z\n\tHeartbeat\022$.apache.rocketm" +
+      "q.v2.HeartbeatRequest\032%.apache.rocketmq." +
+      "v2.HeartbeatResponse\"\000\022`\n\013SendMessage\022&." +
+      "apache.rocketmq.v2.SendMessageRequest\032\'." +
+      "apache.rocketmq.v2.SendMessageResponse\"\000" +
+      "\022l\n\017QueryAssignment\022*.apache.rocketmq.v2" +
+      ".QueryAssignmentRequest\032+.apache.rocketm" +
+      "q.v2.QueryAssignmentResponse\"\000\022k\n\016Receiv" +
+      "eMessage\022).apache.rocketmq.v2.ReceiveMes" +
+      "sageRequest\032*.apache.rocketmq.v2.Receive" +
+      "MessageResponse\"\0000\001\022]\n\nAckMessage\022%.apac" +
+      "he.rocketmq.v2.AckMessageRequest\032&.apach" +
+      "e.rocketmq.v2.AckMessageResponse\"\000\022`\n\013Na" +
+      "ckMessage\022&.apache.rocketmq.v2.NackMessa" +
+      "geRequest\032\'.apache.rocketmq.v2.NackMessa" +
+      "geResponse\"\000\022\234\001\n\037ForwardMessageToDeadLet" +
+      "terQueue\022:.apache.rocketmq.v2.ForwardMes" +
+      "sageToDeadLetterQueueRequest\032;.apache.ro" +
+      "cketmq.v2.ForwardMessageToDeadLetterQueu" +
+      "eResponse\"\000\022i\n\016EndTransaction\022).apache.r" +
+      "ocketmq.v2.EndTransactionRequest\032*.apach" +
+      "e.rocketmq.v2.EndTransactionResponse\"\000\022]" +
+      "\n\tTelemetry\022$.apache.rocketmq.v2.Telemet" +
+      "ryCommand\032$.apache.rocketmq.v2.Telemetry" +
+      "Command\"\000(\0010\001\022\204\001\n\027NotifyClientTerminatio" +
+      "n\0222.apache.rocketmq.v2.NotifyClientTermi" +
+      "nationRequest\0323.apache.rocketmq.v2.Notif" +
+      "yClientTerminationResponse\"\000\022\204\001\n\027ChangeI" +
+      "nvisibleDuration\0222.apache.rocketmq.v2.Ch" +
+      "angeInvisibleDurationRequest\0323.apache.ro" +
+      "cketmq.v2.ChangeInvisibleDurationRespons" +
+      "e\"\000B<\n\022apache.rocketmq.v2B\tMQServiceP\001\240\001" +
+      "\001\330\001\001\252\002\022Apache.Rocketmq.V2b\006proto3"
     };
     descriptor = com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,
@@ -409,7 +406,7 @@ public final class MQService {
     internal_static_apache_rocketmq_v2_ReceiveMessageResponse_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_apache_rocketmq_v2_ReceiveMessageResponse_descriptor,
-        new java.lang.String[] { "Status", "Message", "DeliveryTimestamp", "InvisibleDuration", });
+        new java.lang.String[] { "Status", "Message", "Content", });
     internal_static_apache_rocketmq_v2_AckMessageEntry_descriptor =
       getDescriptor().getMessageTypes().get(8);
     internal_static_apache_rocketmq_v2_AckMessageEntry_fieldAccessorTable = new
diff --git a/src/main/java/apache/rocketmq/v2/ReceiveMessageResponse.java b/src/main/java/apache/rocketmq/v2/ReceiveMessageResponse.java
index 43f553a..eca1d12 100644
--- a/src/main/java/apache/rocketmq/v2/ReceiveMessageResponse.java
+++ b/src/main/java/apache/rocketmq/v2/ReceiveMessageResponse.java
@@ -50,54 +50,30 @@ private static final long serialVersionUID = 0L;
             break;
           case 10: {
             apache.rocketmq.v2.Status.Builder subBuilder = null;
-            if (status_ != null) {
-              subBuilder = status_.toBuilder();
+            if (contentCase_ == 1) {
+              subBuilder = ((apache.rocketmq.v2.Status) content_).toBuilder();
             }
-            status_ = input.readMessage(apache.rocketmq.v2.Status.parser(), extensionRegistry);
+            content_ =
+                input.readMessage(apache.rocketmq.v2.Status.parser(), extensionRegistry);
             if (subBuilder != null) {
-              subBuilder.mergeFrom(status_);
-              status_ = subBuilder.buildPartial();
+              subBuilder.mergeFrom((apache.rocketmq.v2.Status) content_);
+              content_ = subBuilder.buildPartial();
             }
-
+            contentCase_ = 1;
             break;
           }
           case 18: {
             apache.rocketmq.v2.Message.Builder subBuilder = null;
-            if (message_ != null) {
-              subBuilder = message_.toBuilder();
+            if (contentCase_ == 2) {
+              subBuilder = ((apache.rocketmq.v2.Message) content_).toBuilder();
             }
-            message_ = input.readMessage(apache.rocketmq.v2.Message.parser(), extensionRegistry);
+            content_ =
+                input.readMessage(apache.rocketmq.v2.Message.parser(), extensionRegistry);
             if (subBuilder != null) {
-              subBuilder.mergeFrom(message_);
-              message_ = subBuilder.buildPartial();
+              subBuilder.mergeFrom((apache.rocketmq.v2.Message) content_);
+              content_ = subBuilder.buildPartial();
             }
-
-            break;
-          }
-          case 26: {
-            com.google.protobuf.Timestamp.Builder subBuilder = null;
-            if (deliveryTimestamp_ != null) {
-              subBuilder = deliveryTimestamp_.toBuilder();
-            }
-            deliveryTimestamp_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry);
-            if (subBuilder != null) {
-              subBuilder.mergeFrom(deliveryTimestamp_);
-              deliveryTimestamp_ = subBuilder.buildPartial();
-            }
-
-            break;
-          }
-          case 34: {
-            com.google.protobuf.Duration.Builder subBuilder = null;
-            if (invisibleDuration_ != null) {
-              subBuilder = invisibleDuration_.toBuilder();
-            }
-            invisibleDuration_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
-            if (subBuilder != null) {
-              subBuilder.mergeFrom(invisibleDuration_);
-              invisibleDuration_ = subBuilder.buildPartial();
-            }
-
+            contentCase_ = 2;
             break;
           }
           default: {
@@ -132,15 +108,55 @@ private static final long serialVersionUID = 0L;
             apache.rocketmq.v2.ReceiveMessageResponse.class, apache.rocketmq.v2.ReceiveMessageResponse.Builder.class);
   }
 
+  private int contentCase_ = 0;
+  private java.lang.Object content_;
+  public enum ContentCase
+      implements com.google.protobuf.Internal.EnumLite,
+          com.google.protobuf.AbstractMessage.InternalOneOfEnum {
+    STATUS(1),
+    MESSAGE(2),
+    CONTENT_NOT_SET(0);
+    private final int value;
+    private ContentCase(int value) {
+      this.value = value;
+    }
+    /**
+     * @param value The number of the enum to look for.
+     * @return The enum associated with the given number.
+     * @deprecated Use {@link #forNumber(int)} instead.
+     */
+    @java.lang.Deprecated
+    public static ContentCase valueOf(int value) {
+      return forNumber(value);
+    }
+
+    public static ContentCase forNumber(int value) {
+      switch (value) {
+        case 1: return STATUS;
+        case 2: return MESSAGE;
+        case 0: return CONTENT_NOT_SET;
+        default: return null;
+      }
+    }
+    public int getNumber() {
+      return this.value;
+    }
+  };
+
+  public ContentCase
+  getContentCase() {
+    return ContentCase.forNumber(
+        contentCase_);
+  }
+
   public static final int STATUS_FIELD_NUMBER = 1;
-  private apache.rocketmq.v2.Status status_;
   /**
    * <code>.apache.rocketmq.v2.Status status = 1;</code>
    * @return Whether the status field is set.
    */
   @java.lang.Override
   public boolean hasStatus() {
-    return status_ != null;
+    return contentCase_ == 1;
   }
   /**
    * <code>.apache.rocketmq.v2.Status status = 1;</code>
@@ -148,25 +164,30 @@ private static final long serialVersionUID = 0L;
    */
   @java.lang.Override
   public apache.rocketmq.v2.Status getStatus() {
-    return status_ == null ? apache.rocketmq.v2.Status.getDefaultInstance() : status_;
+    if (contentCase_ == 1) {
+       return (apache.rocketmq.v2.Status) content_;
+    }
+    return apache.rocketmq.v2.Status.getDefaultInstance();
   }
   /**
    * <code>.apache.rocketmq.v2.Status status = 1;</code>
    */
   @java.lang.Override
   public apache.rocketmq.v2.StatusOrBuilder getStatusOrBuilder() {
-    return getStatus();
+    if (contentCase_ == 1) {
+       return (apache.rocketmq.v2.Status) content_;
+    }
+    return apache.rocketmq.v2.Status.getDefaultInstance();
   }
 
   public static final int MESSAGE_FIELD_NUMBER = 2;
-  private apache.rocketmq.v2.Message message_;
   /**
    * <code>.apache.rocketmq.v2.Message message = 2;</code>
    * @return Whether the message field is set.
    */
   @java.lang.Override
   public boolean hasMessage() {
-    return message_ != null;
+    return contentCase_ == 2;
   }
   /**
    * <code>.apache.rocketmq.v2.Message message = 2;</code>
@@ -174,66 +195,20 @@ private static final long serialVersionUID = 0L;
    */
   @java.lang.Override
   public apache.rocketmq.v2.Message getMessage() {
-    return message_ == null ? apache.rocketmq.v2.Message.getDefaultInstance() : message_;
+    if (contentCase_ == 2) {
+       return (apache.rocketmq.v2.Message) content_;
+    }
+    return apache.rocketmq.v2.Message.getDefaultInstance();
   }
   /**
    * <code>.apache.rocketmq.v2.Message message = 2;</code>
    */
   @java.lang.Override
   public apache.rocketmq.v2.MessageOrBuilder getMessageOrBuilder() {
-    return getMessage();
-  }
-
-  public static final int DELIVERY_TIMESTAMP_FIELD_NUMBER = 3;
-  private com.google.protobuf.Timestamp deliveryTimestamp_;
-  /**
-   * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-   * @return Whether the deliveryTimestamp field is set.
-   */
-  @java.lang.Override
-  public boolean hasDeliveryTimestamp() {
-    return deliveryTimestamp_ != null;
-  }
-  /**
-   * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-   * @return The deliveryTimestamp.
-   */
-  @java.lang.Override
-  public com.google.protobuf.Timestamp getDeliveryTimestamp() {
-    return deliveryTimestamp_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : deliveryTimestamp_;
-  }
-  /**
-   * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-   */
-  @java.lang.Override
-  public com.google.protobuf.TimestampOrBuilder getDeliveryTimestampOrBuilder() {
-    return getDeliveryTimestamp();
-  }
-
-  public static final int INVISIBLE_DURATION_FIELD_NUMBER = 4;
-  private com.google.protobuf.Duration invisibleDuration_;
-  /**
-   * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-   * @return Whether the invisibleDuration field is set.
-   */
-  @java.lang.Override
-  public boolean hasInvisibleDuration() {
-    return invisibleDuration_ != null;
-  }
-  /**
-   * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-   * @return The invisibleDuration.
-   */
-  @java.lang.Override
-  public com.google.protobuf.Duration getInvisibleDuration() {
-    return invisibleDuration_ == null ? com.google.protobuf.Duration.getDefaultInstance() : invisibleDuration_;
-  }
-  /**
-   * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-   */
-  @java.lang.Override
-  public com.google.protobuf.DurationOrBuilder getInvisibleDurationOrBuilder() {
-    return getInvisibleDuration();
+    if (contentCase_ == 2) {
+       return (apache.rocketmq.v2.Message) content_;
+    }
+    return apache.rocketmq.v2.Message.getDefaultInstance();
   }
 
   private byte memoizedIsInitialized = -1;
@@ -250,17 +225,11 @@ private static final long serialVersionUID = 0L;
   @java.lang.Override
   public void writeTo(com.google.protobuf.CodedOutputStream output)
                       throws java.io.IOException {
-    if (status_ != null) {
-      output.writeMessage(1, getStatus());
-    }
-    if (message_ != null) {
-      output.writeMessage(2, getMessage());
-    }
-    if (deliveryTimestamp_ != null) {
-      output.writeMessage(3, getDeliveryTimestamp());
+    if (contentCase_ == 1) {
+      output.writeMessage(1, (apache.rocketmq.v2.Status) content_);
     }
-    if (invisibleDuration_ != null) {
-      output.writeMessage(4, getInvisibleDuration());
+    if (contentCase_ == 2) {
+      output.writeMessage(2, (apache.rocketmq.v2.Message) content_);
     }
     unknownFields.writeTo(output);
   }
@@ -271,21 +240,13 @@ private static final long serialVersionUID = 0L;
     if (size != -1) return size;
 
     size = 0;
-    if (status_ != null) {
+    if (contentCase_ == 1) {
       size += com.google.protobuf.CodedOutputStream
-        .computeMessageSize(1, getStatus());
+        .computeMessageSize(1, (apache.rocketmq.v2.Status) content_);
     }
-    if (message_ != null) {
+    if (contentCase_ == 2) {
       size += com.google.protobuf.CodedOutputStream
-        .computeMessageSize(2, getMessage());
-    }
-    if (deliveryTimestamp_ != null) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeMessageSize(3, getDeliveryTimestamp());
-    }
-    if (invisibleDuration_ != null) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeMessageSize(4, getInvisibleDuration());
+        .computeMessageSize(2, (apache.rocketmq.v2.Message) content_);
     }
     size += unknownFields.getSerializedSize();
     memoizedSize = size;
@@ -302,25 +263,18 @@ private static final long serialVersionUID = 0L;
     }
     apache.rocketmq.v2.ReceiveMessageResponse other = (apache.rocketmq.v2.ReceiveMessageResponse) obj;
 
-    if (hasStatus() != other.hasStatus()) return false;
-    if (hasStatus()) {
-      if (!getStatus()
-          .equals(other.getStatus())) return false;
-    }
-    if (hasMessage() != other.hasMessage()) return false;
-    if (hasMessage()) {
-      if (!getMessage()
-          .equals(other.getMessage())) return false;
-    }
-    if (hasDeliveryTimestamp() != other.hasDeliveryTimestamp()) return false;
-    if (hasDeliveryTimestamp()) {
-      if (!getDeliveryTimestamp()
-          .equals(other.getDeliveryTimestamp())) return false;
-    }
-    if (hasInvisibleDuration() != other.hasInvisibleDuration()) return false;
-    if (hasInvisibleDuration()) {
-      if (!getInvisibleDuration()
-          .equals(other.getInvisibleDuration())) return false;
+    if (!getContentCase().equals(other.getContentCase())) return false;
+    switch (contentCase_) {
+      case 1:
+        if (!getStatus()
+            .equals(other.getStatus())) return false;
+        break;
+      case 2:
+        if (!getMessage()
+            .equals(other.getMessage())) return false;
+        break;
+      case 0:
+      default:
     }
     if (!unknownFields.equals(other.unknownFields)) return false;
     return true;
@@ -333,21 +287,17 @@ private static final long serialVersionUID = 0L;
     }
     int hash = 41;
     hash = (19 * hash) + getDescriptor().hashCode();
-    if (hasStatus()) {
-      hash = (37 * hash) + STATUS_FIELD_NUMBER;
-      hash = (53 * hash) + getStatus().hashCode();
-    }
-    if (hasMessage()) {
-      hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
-      hash = (53 * hash) + getMessage().hashCode();
-    }
-    if (hasDeliveryTimestamp()) {
-      hash = (37 * hash) + DELIVERY_TIMESTAMP_FIELD_NUMBER;
-      hash = (53 * hash) + getDeliveryTimestamp().hashCode();
-    }
-    if (hasInvisibleDuration()) {
-      hash = (37 * hash) + INVISIBLE_DURATION_FIELD_NUMBER;
-      hash = (53 * hash) + getInvisibleDuration().hashCode();
+    switch (contentCase_) {
+      case 1:
+        hash = (37 * hash) + STATUS_FIELD_NUMBER;
+        hash = (53 * hash) + getStatus().hashCode();
+        break;
+      case 2:
+        hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
+        hash = (53 * hash) + getMessage().hashCode();
+        break;
+      case 0:
+      default:
     }
     hash = (29 * hash) + unknownFields.hashCode();
     memoizedHashCode = hash;
@@ -482,30 +432,8 @@ private static final long serialVersionUID = 0L;
     @java.lang.Override
     public Builder clear() {
       super.clear();
-      if (statusBuilder_ == null) {
-        status_ = null;
-      } else {
-        status_ = null;
-        statusBuilder_ = null;
-      }
-      if (messageBuilder_ == null) {
-        message_ = null;
-      } else {
-        message_ = null;
-        messageBuilder_ = null;
-      }
-      if (deliveryTimestampBuilder_ == null) {
-        deliveryTimestamp_ = null;
-      } else {
-        deliveryTimestamp_ = null;
-        deliveryTimestampBuilder_ = null;
-      }
-      if (invisibleDurationBuilder_ == null) {
-        invisibleDuration_ = null;
-      } else {
-        invisibleDuration_ = null;
-        invisibleDurationBuilder_ = null;
-      }
+      contentCase_ = 0;
+      content_ = null;
       return this;
     }
 
@@ -532,26 +460,21 @@ private static final long serialVersionUID = 0L;
     @java.lang.Override
     public apache.rocketmq.v2.ReceiveMessageResponse buildPartial() {
       apache.rocketmq.v2.ReceiveMessageResponse result = new apache.rocketmq.v2.ReceiveMessageResponse(this);
-      if (statusBuilder_ == null) {
-        result.status_ = status_;
-      } else {
-        result.status_ = statusBuilder_.build();
-      }
-      if (messageBuilder_ == null) {
-        result.message_ = message_;
-      } else {
-        result.message_ = messageBuilder_.build();
-      }
-      if (deliveryTimestampBuilder_ == null) {
-        result.deliveryTimestamp_ = deliveryTimestamp_;
-      } else {
-        result.deliveryTimestamp_ = deliveryTimestampBuilder_.build();
+      if (contentCase_ == 1) {
+        if (statusBuilder_ == null) {
+          result.content_ = content_;
+        } else {
+          result.content_ = statusBuilder_.build();
+        }
       }
-      if (invisibleDurationBuilder_ == null) {
-        result.invisibleDuration_ = invisibleDuration_;
-      } else {
-        result.invisibleDuration_ = invisibleDurationBuilder_.build();
+      if (contentCase_ == 2) {
+        if (messageBuilder_ == null) {
+          result.content_ = content_;
+        } else {
+          result.content_ = messageBuilder_.build();
+        }
       }
+      result.contentCase_ = contentCase_;
       onBuilt();
       return result;
     }
@@ -600,17 +523,18 @@ private static final long serialVersionUID = 0L;
 
     public Builder mergeFrom(apache.rocketmq.v2.ReceiveMessageResponse other) {
       if (other == apache.rocketmq.v2.ReceiveMessageResponse.getDefaultInstance()) return this;
-      if (other.hasStatus()) {
-        mergeStatus(other.getStatus());
-      }
-      if (other.hasMessage()) {
-        mergeMessage(other.getMessage());
-      }
-      if (other.hasDeliveryTimestamp()) {
-        mergeDeliveryTimestamp(other.getDeliveryTimestamp());
-      }
-      if (other.hasInvisibleDuration()) {
-        mergeInvisibleDuration(other.getInvisibleDuration());
+      switch (other.getContentCase()) {
+        case STATUS: {
+          mergeStatus(other.getStatus());
+          break;
+        }
+        case MESSAGE: {
+          mergeMessage(other.getMessage());
+          break;
+        }
+        case CONTENT_NOT_SET: {
+          break;
+        }
       }
       this.mergeUnknownFields(other.unknownFields);
       onChanged();
@@ -640,26 +564,48 @@ private static final long serialVersionUID = 0L;
       }
       return this;
     }
+    private int contentCase_ = 0;
+    private java.lang.Object content_;
+    public ContentCase
+        getContentCase() {
+      return ContentCase.forNumber(
+          contentCase_);
+    }
+
+    public Builder clearContent() {
+      contentCase_ = 0;
+      content_ = null;
+      onChanged();
+      return this;
+    }
+
 
-    private apache.rocketmq.v2.Status status_;
     private com.google.protobuf.SingleFieldBuilderV3<
         apache.rocketmq.v2.Status, apache.rocketmq.v2.Status.Builder, apache.rocketmq.v2.StatusOrBuilder> statusBuilder_;
     /**
      * <code>.apache.rocketmq.v2.Status status = 1;</code>
      * @return Whether the status field is set.
      */
+    @java.lang.Override
     public boolean hasStatus() {
-      return statusBuilder_ != null || status_ != null;
+      return contentCase_ == 1;
     }
     /**
      * <code>.apache.rocketmq.v2.Status status = 1;</code>
      * @return The status.
      */
+    @java.lang.Override
     public apache.rocketmq.v2.Status getStatus() {
       if (statusBuilder_ == null) {
-        return status_ == null ? apache.rocketmq.v2.Status.getDefaultInstance() : status_;
+        if (contentCase_ == 1) {
+          return (apache.rocketmq.v2.Status) content_;
+        }
+        return apache.rocketmq.v2.Status.getDefaultInstance();
       } else {
-        return statusBuilder_.getMessage();
+        if (contentCase_ == 1) {
+          return statusBuilder_.getMessage();
+        }
+        return apache.rocketmq.v2.Status.getDefaultInstance();
       }
     }
     /**
@@ -670,12 +616,12 @@ private static final long serialVersionUID = 0L;
         if (value == null) {
           throw new NullPointerException();
         }
-        status_ = value;
+        content_ = value;
         onChanged();
       } else {
         statusBuilder_.setMessage(value);
       }
-
+      contentCase_ = 1;
       return this;
     }
     /**
@@ -684,12 +630,12 @@ private static final long serialVersionUID = 0L;
     public Builder setStatus(
         apache.rocketmq.v2.Status.Builder builderForValue) {
       if (statusBuilder_ == null) {
-        status_ = builderForValue.build();
+        content_ = builderForValue.build();
         onChanged();
       } else {
         statusBuilder_.setMessage(builderForValue.build());
       }
-
+      contentCase_ = 1;
       return this;
     }
     /**
@@ -697,17 +643,21 @@ private static final long serialVersionUID = 0L;
      */
     public Builder mergeStatus(apache.rocketmq.v2.Status value) {
       if (statusBuilder_ == null) {
-        if (status_ != null) {
-          status_ =
-            apache.rocketmq.v2.Status.newBuilder(status_).mergeFrom(value).buildPartial();
+        if (contentCase_ == 1 &&
+            content_ != apache.rocketmq.v2.Status.getDefaultInstance()) {
+          content_ = apache.rocketmq.v2.Status.newBuilder((apache.rocketmq.v2.Status) content_)
+              .mergeFrom(value).buildPartial();
         } else {
-          status_ = value;
+          content_ = value;
         }
         onChanged();
       } else {
-        statusBuilder_.mergeFrom(value);
+        if (contentCase_ == 1) {
+          statusBuilder_.mergeFrom(value);
+        }
+        statusBuilder_.setMessage(value);
       }
-
+      contentCase_ = 1;
       return this;
     }
     /**
@@ -715,32 +665,38 @@ private static final long serialVersionUID = 0L;
      */
     public Builder clearStatus() {
       if (statusBuilder_ == null) {
-        status_ = null;
-        onChanged();
+        if (contentCase_ == 1) {
+          contentCase_ = 0;
+          content_ = null;
+          onChanged();
+        }
       } else {
-        status_ = null;
-        statusBuilder_ = null;
+        if (contentCase_ == 1) {
+          contentCase_ = 0;
+          content_ = null;
+        }
+        statusBuilder_.clear();
       }
-
       return this;
     }
     /**
      * <code>.apache.rocketmq.v2.Status status = 1;</code>
      */
     public apache.rocketmq.v2.Status.Builder getStatusBuilder() {
-      
-      onChanged();
       return getStatusFieldBuilder().getBuilder();
     }
     /**
      * <code>.apache.rocketmq.v2.Status status = 1;</code>
      */
+    @java.lang.Override
     public apache.rocketmq.v2.StatusOrBuilder getStatusOrBuilder() {
-      if (statusBuilder_ != null) {
+      if ((contentCase_ == 1) && (statusBuilder_ != null)) {
         return statusBuilder_.getMessageOrBuilder();
       } else {
-        return status_ == null ?
-            apache.rocketmq.v2.Status.getDefaultInstance() : status_;
+        if (contentCase_ == 1) {
+          return (apache.rocketmq.v2.Status) content_;
+        }
+        return apache.rocketmq.v2.Status.getDefaultInstance();
       }
     }
     /**
@@ -750,35 +706,47 @@ private static final long serialVersionUID = 0L;
         apache.rocketmq.v2.Status, apache.rocketmq.v2.Status.Builder, apache.rocketmq.v2.StatusOrBuilder> 
         getStatusFieldBuilder() {
       if (statusBuilder_ == null) {
+        if (!(contentCase_ == 1)) {
+          content_ = apache.rocketmq.v2.Status.getDefaultInstance();
+        }
         statusBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
             apache.rocketmq.v2.Status, apache.rocketmq.v2.Status.Builder, apache.rocketmq.v2.StatusOrBuilder>(
-                getStatus(),
+                (apache.rocketmq.v2.Status) content_,
                 getParentForChildren(),
                 isClean());
-        status_ = null;
+        content_ = null;
       }
+      contentCase_ = 1;
+      onChanged();;
       return statusBuilder_;
     }
 
-    private apache.rocketmq.v2.Message message_;
     private com.google.protobuf.SingleFieldBuilderV3<
         apache.rocketmq.v2.Message, apache.rocketmq.v2.Message.Builder, apache.rocketmq.v2.MessageOrBuilder> messageBuilder_;
     /**
      * <code>.apache.rocketmq.v2.Message message = 2;</code>
      * @return Whether the message field is set.
      */
+    @java.lang.Override
     public boolean hasMessage() {
-      return messageBuilder_ != null || message_ != null;
+      return contentCase_ == 2;
     }
     /**
      * <code>.apache.rocketmq.v2.Message message = 2;</code>
      * @return The message.
      */
+    @java.lang.Override
     public apache.rocketmq.v2.Message getMessage() {
       if (messageBuilder_ == null) {
-        return message_ == null ? apache.rocketmq.v2.Message.getDefaultInstance() : message_;
+        if (contentCase_ == 2) {
+          return (apache.rocketmq.v2.Message) content_;
+        }
+        return apache.rocketmq.v2.Message.getDefaultInstance();
       } else {
-        return messageBuilder_.getMessage();
+        if (contentCase_ == 2) {
+          return messageBuilder_.getMessage();
+        }
+        return apache.rocketmq.v2.Message.getDefaultInstance();
       }
     }
     /**
@@ -789,12 +757,12 @@ private static final long serialVersionUID = 0L;
         if (value == null) {
           throw new NullPointerException();
         }
-        message_ = value;
+        content_ = value;
         onChanged();
       } else {
         messageBuilder_.setMessage(value);
       }
-
+      contentCase_ = 2;
       return this;
     }
     /**
@@ -803,12 +771,12 @@ private static final long serialVersionUID = 0L;
     public Builder setMessage(
         apache.rocketmq.v2.Message.Builder builderForValue) {
       if (messageBuilder_ == null) {
-        message_ = builderForValue.build();
+        content_ = builderForValue.build();
         onChanged();
       } else {
         messageBuilder_.setMessage(builderForValue.build());
       }
-
+      contentCase_ = 2;
       return this;
     }
     /**
@@ -816,17 +784,21 @@ private static final long serialVersionUID = 0L;
      */
     public Builder mergeMessage(apache.rocketmq.v2.Message value) {
       if (messageBuilder_ == null) {
-        if (message_ != null) {
-          message_ =
-            apache.rocketmq.v2.Message.newBuilder(message_).mergeFrom(value).buildPartial();
+        if (contentCase_ == 2 &&
+            content_ != apache.rocketmq.v2.Message.getDefaultInstance()) {
+          content_ = apache.rocketmq.v2.Message.newBuilder((apache.rocketmq.v2.Message) content_)
+              .mergeFrom(value).buildPartial();
         } else {
-          message_ = value;
+          content_ = value;
         }
         onChanged();
       } else {
-        messageBuilder_.mergeFrom(value);
+        if (contentCase_ == 2) {
+          messageBuilder_.mergeFrom(value);
+        }
+        messageBuilder_.setMessage(value);
       }
-
+      contentCase_ = 2;
       return this;
     }
     /**
@@ -834,32 +806,38 @@ private static final long serialVersionUID = 0L;
      */
     public Builder clearMessage() {
       if (messageBuilder_ == null) {
-        message_ = null;
-        onChanged();
+        if (contentCase_ == 2) {
+          contentCase_ = 0;
+          content_ = null;
+          onChanged();
+        }
       } else {
-        message_ = null;
-        messageBuilder_ = null;
+        if (contentCase_ == 2) {
+          contentCase_ = 0;
+          content_ = null;
+        }
+        messageBuilder_.clear();
       }
-
       return this;
     }
     /**
      * <code>.apache.rocketmq.v2.Message message = 2;</code>
      */
     public apache.rocketmq.v2.Message.Builder getMessageBuilder() {
-      
-      onChanged();
       return getMessageFieldBuilder().getBuilder();
     }
     /**
      * <code>.apache.rocketmq.v2.Message message = 2;</code>
      */
+    @java.lang.Override
     public apache.rocketmq.v2.MessageOrBuilder getMessageOrBuilder() {
-      if (messageBuilder_ != null) {
+      if ((contentCase_ == 2) && (messageBuilder_ != null)) {
         return messageBuilder_.getMessageOrBuilder();
       } else {
-        return message_ == null ?
-            apache.rocketmq.v2.Message.getDefaultInstance() : message_;
+        if (contentCase_ == 2) {
+          return (apache.rocketmq.v2.Message) content_;
+        }
+        return apache.rocketmq.v2.Message.getDefaultInstance();
       }
     }
     /**
@@ -869,253 +847,20 @@ private static final long serialVersionUID = 0L;
         apache.rocketmq.v2.Message, apache.rocketmq.v2.Message.Builder, apache.rocketmq.v2.MessageOrBuilder> 
         getMessageFieldBuilder() {
       if (messageBuilder_ == null) {
+        if (!(contentCase_ == 2)) {
+          content_ = apache.rocketmq.v2.Message.getDefaultInstance();
+        }
         messageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
             apache.rocketmq.v2.Message, apache.rocketmq.v2.Message.Builder, apache.rocketmq.v2.MessageOrBuilder>(
-                getMessage(),
+                (apache.rocketmq.v2.Message) content_,
                 getParentForChildren(),
                 isClean());
-        message_ = null;
+        content_ = null;
       }
+      contentCase_ = 2;
+      onChanged();;
       return messageBuilder_;
     }
-
-    private com.google.protobuf.Timestamp deliveryTimestamp_;
-    private com.google.protobuf.SingleFieldBuilderV3<
-        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> deliveryTimestampBuilder_;
-    /**
-     * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-     * @return Whether the deliveryTimestamp field is set.
-     */
-    public boolean hasDeliveryTimestamp() {
-      return deliveryTimestampBuilder_ != null || deliveryTimestamp_ != null;
-    }
-    /**
-     * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-     * @return The deliveryTimestamp.
-     */
-    public com.google.protobuf.Timestamp getDeliveryTimestamp() {
-      if (deliveryTimestampBuilder_ == null) {
-        return deliveryTimestamp_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : deliveryTimestamp_;
-      } else {
-        return deliveryTimestampBuilder_.getMessage();
-      }
-    }
-    /**
-     * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-     */
-    public Builder setDeliveryTimestamp(com.google.protobuf.Timestamp value) {
-      if (deliveryTimestampBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        deliveryTimestamp_ = value;
-        onChanged();
-      } else {
-        deliveryTimestampBuilder_.setMessage(value);
-      }
-
-      return this;
-    }
-    /**
-     * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-     */
-    public Builder setDeliveryTimestamp(
-        com.google.protobuf.Timestamp.Builder builderForValue) {
-      if (deliveryTimestampBuilder_ == null) {
-        deliveryTimestamp_ = builderForValue.build();
-        onChanged();
-      } else {
-        deliveryTimestampBuilder_.setMessage(builderForValue.build());
-      }
-
-      return this;
-    }
-    /**
-     * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-     */
-    public Builder mergeDeliveryTimestamp(com.google.protobuf.Timestamp value) {
-      if (deliveryTimestampBuilder_ == null) {
-        if (deliveryTimestamp_ != null) {
-          deliveryTimestamp_ =
-            com.google.protobuf.Timestamp.newBuilder(deliveryTimestamp_).mergeFrom(value).buildPartial();
-        } else {
-          deliveryTimestamp_ = value;
-        }
-        onChanged();
-      } else {
-        deliveryTimestampBuilder_.mergeFrom(value);
-      }
-
-      return this;
-    }
-    /**
-     * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-     */
-    public Builder clearDeliveryTimestamp() {
-      if (deliveryTimestampBuilder_ == null) {
-        deliveryTimestamp_ = null;
-        onChanged();
-      } else {
-        deliveryTimestamp_ = null;
-        deliveryTimestampBuilder_ = null;
-      }
-
-      return this;
-    }
-    /**
-     * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-     */
-    public com.google.protobuf.Timestamp.Builder getDeliveryTimestampBuilder() {
-      
-      onChanged();
-      return getDeliveryTimestampFieldBuilder().getBuilder();
-    }
-    /**
-     * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-     */
-    public com.google.protobuf.TimestampOrBuilder getDeliveryTimestampOrBuilder() {
-      if (deliveryTimestampBuilder_ != null) {
-        return deliveryTimestampBuilder_.getMessageOrBuilder();
-      } else {
-        return deliveryTimestamp_ == null ?
-            com.google.protobuf.Timestamp.getDefaultInstance() : deliveryTimestamp_;
-      }
-    }
-    /**
-     * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-     */
-    private com.google.protobuf.SingleFieldBuilderV3<
-        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> 
-        getDeliveryTimestampFieldBuilder() {
-      if (deliveryTimestampBuilder_ == null) {
-        deliveryTimestampBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-            com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
-                getDeliveryTimestamp(),
-                getParentForChildren(),
-                isClean());
-        deliveryTimestamp_ = null;
-      }
-      return deliveryTimestampBuilder_;
-    }
-
-    private com.google.protobuf.Duration invisibleDuration_;
-    private com.google.protobuf.SingleFieldBuilderV3<
-        com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> invisibleDurationBuilder_;
-    /**
-     * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-     * @return Whether the invisibleDuration field is set.
-     */
-    public boolean hasInvisibleDuration() {
-      return invisibleDurationBuilder_ != null || invisibleDuration_ != null;
-    }
-    /**
-     * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-     * @return The invisibleDuration.
-     */
-    public com.google.protobuf.Duration getInvisibleDuration() {
-      if (invisibleDurationBuilder_ == null) {
-        return invisibleDuration_ == null ? com.google.protobuf.Duration.getDefaultInstance() : invisibleDuration_;
-      } else {
-        return invisibleDurationBuilder_.getMessage();
-      }
-    }
-    /**
-     * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-     */
-    public Builder setInvisibleDuration(com.google.protobuf.Duration value) {
-      if (invisibleDurationBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        invisibleDuration_ = value;
-        onChanged();
-      } else {
-        invisibleDurationBuilder_.setMessage(value);
-      }
-
-      return this;
-    }
-    /**
-     * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-     */
-    public Builder setInvisibleDuration(
-        com.google.protobuf.Duration.Builder builderForValue) {
-      if (invisibleDurationBuilder_ == null) {
-        invisibleDuration_ = builderForValue.build();
-        onChanged();
-      } else {
-        invisibleDurationBuilder_.setMessage(builderForValue.build());
-      }
-
-      return this;
-    }
-    /**
-     * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-     */
-    public Builder mergeInvisibleDuration(com.google.protobuf.Duration value) {
-      if (invisibleDurationBuilder_ == null) {
-        if (invisibleDuration_ != null) {
-          invisibleDuration_ =
-            com.google.protobuf.Duration.newBuilder(invisibleDuration_).mergeFrom(value).buildPartial();
-        } else {
-          invisibleDuration_ = value;
-        }
-        onChanged();
-      } else {
-        invisibleDurationBuilder_.mergeFrom(value);
-      }
-
-      return this;
-    }
-    /**
-     * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-     */
-    public Builder clearInvisibleDuration() {
-      if (invisibleDurationBuilder_ == null) {
-        invisibleDuration_ = null;
-        onChanged();
-      } else {
-        invisibleDuration_ = null;
-        invisibleDurationBuilder_ = null;
-      }
-
-      return this;
-    }
-    /**
-     * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-     */
-    public com.google.protobuf.Duration.Builder getInvisibleDurationBuilder() {
-      
-      onChanged();
-      return getInvisibleDurationFieldBuilder().getBuilder();
-    }
-    /**
-     * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-     */
-    public com.google.protobuf.DurationOrBuilder getInvisibleDurationOrBuilder() {
-      if (invisibleDurationBuilder_ != null) {
-        return invisibleDurationBuilder_.getMessageOrBuilder();
-      } else {
-        return invisibleDuration_ == null ?
-            com.google.protobuf.Duration.getDefaultInstance() : invisibleDuration_;
-      }
-    }
-    /**
-     * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-     */
-    private com.google.protobuf.SingleFieldBuilderV3<
-        com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> 
-        getInvisibleDurationFieldBuilder() {
-      if (invisibleDurationBuilder_ == null) {
-        invisibleDurationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-            com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
-                getInvisibleDuration(),
-                getParentForChildren(),
-                isClean());
-        invisibleDuration_ = null;
-      }
-      return invisibleDurationBuilder_;
-    }
     @java.lang.Override
     public final Builder setUnknownFields(
         final com.google.protobuf.UnknownFieldSet unknownFields) {
diff --git a/src/main/java/apache/rocketmq/v2/ReceiveMessageResponseOrBuilder.java b/src/main/java/apache/rocketmq/v2/ReceiveMessageResponseOrBuilder.java
index 59a3f7e..8b8edf5 100644
--- a/src/main/java/apache/rocketmq/v2/ReceiveMessageResponseOrBuilder.java
+++ b/src/main/java/apache/rocketmq/v2/ReceiveMessageResponseOrBuilder.java
@@ -37,33 +37,5 @@ public interface ReceiveMessageResponseOrBuilder extends
    */
   apache.rocketmq.v2.MessageOrBuilder getMessageOrBuilder();
 
-  /**
-   * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-   * @return Whether the deliveryTimestamp field is set.
-   */
-  boolean hasDeliveryTimestamp();
-  /**
-   * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-   * @return The deliveryTimestamp.
-   */
-  com.google.protobuf.Timestamp getDeliveryTimestamp();
-  /**
-   * <code>.google.protobuf.Timestamp delivery_timestamp = 3;</code>
-   */
-  com.google.protobuf.TimestampOrBuilder getDeliveryTimestampOrBuilder();
-
-  /**
-   * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-   * @return Whether the invisibleDuration field is set.
-   */
-  boolean hasInvisibleDuration();
-  /**
-   * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-   * @return The invisibleDuration.
-   */
-  com.google.protobuf.Duration getInvisibleDuration();
-  /**
-   * <code>.google.protobuf.Duration invisible_duration = 4;</code>
-   */
-  com.google.protobuf.DurationOrBuilder getInvisibleDurationOrBuilder();
+  public apache.rocketmq.v2.ReceiveMessageResponse.ContentCase getContentCase();
 }
diff --git a/src/main/resources/proto/apache/rocketmq/v2/service.proto b/src/main/resources/proto/apache/rocketmq/v2/service.proto
index bd5f55f..34c48d3 100644
--- a/src/main/resources/proto/apache/rocketmq/v2/service.proto
+++ b/src/main/resources/proto/apache/rocketmq/v2/service.proto
@@ -83,10 +83,10 @@ message ReceiveMessageRequest {
 }
 
 message ReceiveMessageResponse {
-  Status status = 1;
-  Message message = 2;
-  google.protobuf.Timestamp delivery_timestamp = 3;
-  google.protobuf.Duration invisible_duration = 4;
+  oneof content {
+    Status status = 1;
+    Message message = 2;
+  }
 }
 
 message AckMessageEntry {