diff --git a/deps/rabbit/priv/schema/rabbit.schema b/deps/rabbit/priv/schema/rabbit.schema index 620888253c06..8e5e7c41b31e 100644 --- a/deps/rabbit/priv/schema/rabbit.schema +++ b/deps/rabbit/priv/schema/rabbit.schema @@ -2629,6 +2629,18 @@ end}. {datatype, {enum, [true, false]}} ]}. +%% Enable queue types + +{mapping, "queue_types.classic.enabled", "rabbit.classic_queues_enabled", [ + {datatype, {enum, [true, false]}} +]}. +{mapping, "queue_types.stream.enabled", "rabbit.stream_queues_enabled", [ + {datatype, {enum, [true, false]}} +]}. +{mapping, "queue_types.quorum.enabled", "rabbit.quorum_queues_enabled", [ + {datatype, {enum, [true, false]}} +]}. + %% %% Backing queue version %% diff --git a/deps/rabbit/src/rabbit_classic_queue.erl b/deps/rabbit/src/rabbit_classic_queue.erl index 95a56bc11ac4..a903d21f1c0c 100644 --- a/deps/rabbit/src/rabbit_classic_queue.erl +++ b/deps/rabbit/src/rabbit_classic_queue.erl @@ -126,7 +126,7 @@ validate_policy(Args) -> end. -spec is_enabled() -> boolean(). -is_enabled() -> true. +is_enabled() -> application:get_env(rabbit, classic_queues_enabled, true). -spec is_compatible(boolean(), boolean(), boolean()) -> boolean(). is_compatible(_, _, _) -> diff --git a/deps/rabbit/src/rabbit_quorum_queue.erl b/deps/rabbit/src/rabbit_quorum_queue.erl index 0bf9361e933a..601144d9076f 100644 --- a/deps/rabbit/src/rabbit_quorum_queue.erl +++ b/deps/rabbit/src/rabbit_quorum_queue.erl @@ -201,7 +201,7 @@ merge_policy_value(<<"target-group-size">>, Val, OpVal) -> %%----------- rabbit_queue_type --------------------------------------------- -spec is_enabled() -> boolean(). -is_enabled() -> true. +is_enabled() -> application:get_env(rabbit, quorum_queues_enabled, true). -spec is_compatible(boolean(), boolean(), boolean()) -> boolean(). is_compatible(_Durable = true, diff --git a/deps/rabbit/src/rabbit_stream_queue.erl b/deps/rabbit/src/rabbit_stream_queue.erl index 94bbc755a9b0..1af4620adf98 100644 --- a/deps/rabbit/src/rabbit_stream_queue.erl +++ b/deps/rabbit/src/rabbit_stream_queue.erl @@ -133,7 +133,7 @@ -type client() :: #stream_client{}. -spec is_enabled() -> boolean(). -is_enabled() -> true. +is_enabled() -> application:get_env(rabbit, stream_queues_enabled, true). -spec is_compatible(boolean(), boolean(), boolean()) -> boolean(). is_compatible(_Durable = true,