Skip to content

Commit a2b1e37

Browse files
authored
Merge pull request #137 from rabbitmq/exchange-delete-queue-delete-methods
Deprecate exchangeDeletion and queueDeletion methods
2 parents bf5f815 + 006e2e1 commit a2b1e37

19 files changed

+122
-81
lines changed

src/main/java/com/rabbitmq/client/amqp/Management.java

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,25 @@ public interface Management extends AutoCloseable {
5555
* Delete a queue.
5656
*
5757
* @return the queue deletion
58+
* @deprecated use {@link #queueDelete(String)} instead
5859
*/
60+
@Deprecated(forRemoval = true)
5961
QueueDeletion queueDeletion();
6062

63+
/**
64+
* Delete a queue.
65+
*
66+
* @param name the name of the queue
67+
*/
68+
void queueDelete(String name);
69+
70+
/**
71+
* Purge (delete all messages) from a queue.
72+
*
73+
* @param queue queue to delete messages from
74+
*/
75+
void queuePurge(String queue);
76+
6177
/**
6278
* Start exchange specification.
6379
*
@@ -77,9 +93,18 @@ public interface Management extends AutoCloseable {
7793
* Delete an exchange.
7894
*
7995
* @return the exchange deletion
96+
* @deprecated use {@link #exchangeDelete(String)} instead
8097
*/
98+
@Deprecated(forRemoval = true)
8199
ExchangeDeletion exchangeDeletion();
82100

101+
/**
102+
* Delete an exchange.
103+
*
104+
* @param name the name of the exchange
105+
*/
106+
void exchangeDelete(String name);
107+
83108
/**
84109
* Start binding specification.
85110
*
@@ -94,8 +119,6 @@ public interface Management extends AutoCloseable {
94119
*/
95120
UnbindSpecification unbind();
96121

97-
void queuePurge(String queue);
98-
99122
/** Close the management instance and release its resources. */
100123
@Override
101124
void close();
@@ -575,7 +598,12 @@ public int version() {
575598
}
576599
}
577600

578-
/** Queue deletion. */
601+
/**
602+
* Queue deletion.
603+
*
604+
* @deprecated use {@link #queueDelete(String)} instead
605+
*/
606+
@Deprecated(forRemoval = true)
579607
interface QueueDeletion {
580608

581609
/**
@@ -674,7 +702,12 @@ enum ExchangeType {
674702
HEADERS
675703
}
676704

677-
/** Exchange deletion. */
705+
/**
706+
* Exchange deletion.
707+
*
708+
* @deprecated use {@link #exchangeDelete(String)} instead
709+
*/
710+
@Deprecated(forRemoval = true)
678711
interface ExchangeDeletion {
679712

680713
/**

src/main/java/com/rabbitmq/client/amqp/impl/AmqpManagement.java

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -130,15 +130,19 @@ public QueueInfo queueInfo(String name) {
130130
}
131131

132132
@Override
133+
@SuppressWarnings("removal")
133134
public QueueDeletion queueDeletion() {
135+
return this::queueDelete;
136+
}
137+
138+
@Override
139+
public void queueDelete(String name) {
134140
checkAvailable();
135-
return name -> {
136-
Map<String, Object> responseBody = delete(queueLocation(name), CODE_200);
137-
this.topologyListener.queueDeleted(name);
138-
if (!responseBody.containsKey("message_count")) {
139-
throw new AmqpException("Response body should contain message_count");
140-
}
141-
};
141+
Map<String, Object> responseBody = delete(queueLocation(name), CODE_200);
142+
this.topologyListener.queueDeleted(name);
143+
if (!responseBody.containsKey("message_count")) {
144+
throw new AmqpException("Response body should contain message_count");
145+
}
142146
}
143147

144148
@Override
@@ -154,12 +158,16 @@ public ExchangeSpecification exchange(String name) {
154158
}
155159

156160
@Override
161+
@SuppressWarnings("removal")
157162
public ExchangeDeletion exchangeDeletion() {
163+
return this::exchangeDelete;
164+
}
165+
166+
@Override
167+
public void exchangeDelete(String name) {
158168
checkAvailable();
159-
return name -> {
160-
this.delete(exchangeLocation(name), CODE_204);
161-
this.topologyListener.exchangeDeleted(name);
162-
};
169+
this.delete(exchangeLocation(name), CODE_204);
170+
this.topologyListener.exchangeDeleted(name);
163171
}
164172

165173
@Override

src/test/java/com/rabbitmq/client/amqp/docs/WebsiteDocumentation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ void managementExchange() {
188188
.argument("x-delayed-type", "direct")
189189
.declare();
190190

191-
management.exchangeDeletion().delete("my-exchange");
191+
management.exchangeDelete("my-exchange");
192192
}
193193

194194
void managementQueues() {
@@ -222,7 +222,7 @@ void managementQueues() {
222222
int consumerCount = info.consumerCount();
223223
String leaderNode = info.leader();
224224

225-
management.queueDeletion().delete("my-queue");
225+
management.queueDelete("my-queue");
226226
}
227227

228228
void binding() {

src/test/java/com/rabbitmq/client/amqp/impl/AddressFormatTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ void exchangeKeyInAddress(TestInfo info) {
6767
publisher.publish(publisher.message(), ctx -> {});
6868
Assertions.assertThat(consumeLatch).completes();
6969
} finally {
70-
management.queueDeletion().delete(q);
71-
management.exchangeDeletion().delete(e);
70+
management.queueDelete(q);
71+
management.exchangeDelete(e);
7272
}
7373
}
7474

@@ -108,8 +108,8 @@ void exchangeInAddress(TestInfo info) {
108108
publisher.publish(publisher.message(), ctx -> {});
109109
Assertions.assertThat(consumeLatch).completes();
110110
} finally {
111-
management.queueDeletion().delete(q);
112-
management.exchangeDeletion().delete(e);
111+
management.queueDelete(q);
112+
management.exchangeDelete(e);
113113
}
114114
}
115115

@@ -136,7 +136,7 @@ void queueInTargetAddress(TestInfo info) {
136136
publisher.publish(publisher.message(), ctx -> {});
137137
Assertions.assertThat(consumeLatch).completes();
138138
} finally {
139-
management.queueDeletion().delete(q);
139+
management.queueDelete(q);
140140
}
141141
}
142142

@@ -185,8 +185,8 @@ void exchangeKeyInToField(TestInfo info) {
185185
publisher.publish(publisher.message().toAddress().queue(q).message(), ctx -> {});
186186
Assertions.assertThat(consumeLatch).completes();
187187
} finally {
188-
management.queueDeletion().delete(q);
189-
management.exchangeDeletion().delete(e);
188+
management.queueDelete(q);
189+
management.exchangeDelete(e);
190190
}
191191
}
192192

src/test/java/com/rabbitmq/client/amqp/impl/AffinityTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ void sameConnectionShouldBeReturnedIfSameAffinityAndReuseActivated(
5959
assertThat(c1.id()).isNotEqualTo(c2.id());
6060
assertThat(c3.id()).isIn(c1.id(), c2.id());
6161
} finally {
62-
management.queueDeletion().delete(name);
62+
management.queueDelete(name);
6363
}
6464
}
6565

src/test/java/com/rabbitmq/client/amqp/impl/AmqpConnectionRecoveryTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ void connectionShouldRecoverAfterClosingIt(boolean isolateResources, TestInfo in
167167
.hasSameSizeAs(publishedMessageIds)
168168
.containsAll(publishedMessageIds);
169169
} finally {
170-
c.management().queueDeletion().delete(q);
170+
c.management().queueDelete(q);
171171
c.close();
172172
}
173173
}

src/test/java/com/rabbitmq/client/amqp/impl/AmqpConsumerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ void init(TestInfo info) {
5555
@AfterEach
5656
void tearDown() {
5757
waitAtMost(Duration.ofSeconds(5), () -> ((ResourceBase) connection).state() == OPEN);
58-
connection.management().queueDeletion().delete(this.q);
58+
connection.management().queueDelete(this.q);
5959
}
6060

6161
@Test

src/test/java/com/rabbitmq/client/amqp/impl/AmqpTest.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ void queueInfoTest() {
7676
.hasArgument("x-queue-type", "quorum");
7777

7878
} finally {
79-
management.queueDeletion().delete(name);
79+
management.queueDelete(name);
8080
}
8181
}
8282

@@ -131,7 +131,7 @@ void queueDeclareDeletePublishConsume(String subject) {
131131
consumer.close();
132132
publisher.close();
133133
} finally {
134-
connection.management().queueDeletion().delete(name);
134+
connection.management().queueDelete(name);
135135
}
136136
}
137137

@@ -215,9 +215,9 @@ void binding(String prefix, boolean addBindingArguments, TestInfo info) {
215215
.key(rk)
216216
.arguments(bindingArguments)
217217
.unbind();
218-
management.exchangeDeletion().delete(e2);
219-
management.exchangeDeletion().delete(e1);
220-
management.queueDeletion().delete(q);
218+
management.exchangeDelete(e2);
219+
management.exchangeDelete(e1);
220+
management.queueDelete(q);
221221
}
222222
}
223223

@@ -313,7 +313,7 @@ void publisherSendingShouldThrowWhenExchangeHasBeenDeleted() {
313313
publisher.publish(publisher.message(), acceptedCallback(sync));
314314
assertThat(sync).completes();
315315
} finally {
316-
connection.management().exchangeDeletion().delete(name);
316+
connection.management().exchangeDelete(name);
317317
}
318318
AtomicReference<Exception> exception = new AtomicReference<>();
319319
waitAtMost(
@@ -361,7 +361,7 @@ void publisherSendingShouldThrowWhenQueueHasBeenDeleted() {
361361
publisher.publish(publisher.message(), acceptedCallback(sync));
362362
assertThat(sync).completes();
363363
} finally {
364-
connection.management().queueDeletion().delete(name);
364+
connection.management().queueDelete(name);
365365
}
366366
AtomicReference<Exception> exception = new AtomicReference<>();
367367
waitAtMost(
@@ -461,7 +461,7 @@ void consumerShouldGetClosedWhenQueueIsDeleted() {
461461
Publisher publisher = connection.publisherBuilder().queue(name).build();
462462
publisher.publish(publisher.message(), ctx -> {});
463463
assertThat(consumeSync).completes();
464-
connection.management().queueDeletion().delete(name);
464+
connection.management().queueDelete(name);
465465
assertThat(closedSync).completes();
466466
org.assertj.core.api.Assertions.assertThat(exception.get())
467467
.isInstanceOf(AmqpException.AmqpEntityDoesNotExistException.class)
@@ -642,7 +642,7 @@ void redeclareQueueWithDifferentArguments() {
642642
} catch (AmqpException e) {
643643
// OK
644644
} finally {
645-
management.queueDeletion().delete(name);
645+
management.queueDelete(name);
646646
}
647647
}
648648

@@ -657,7 +657,7 @@ void redeclareExchangesWithDifferentArguments() {
657657
org.assertj.core.api.Assertions.assertThat(e).hasMessageContaining("409");
658658
// OK
659659
} finally {
660-
management.exchangeDeletion().delete(name);
660+
management.exchangeDelete(name);
661661
}
662662
}
663663

@@ -703,7 +703,7 @@ void publishedMessageShouldBeRejectedWhenQueueLimitIsReached(TestInfo info) {
703703
.forEach(ignored -> publisher.publish(publisher.message(), callback));
704704
assertThat(rejectedLatch).completes();
705705
} finally {
706-
management.queueDeletion().delete(q);
706+
management.queueDelete(q);
707707
}
708708
}
709709

src/test/java/com/rabbitmq/client/amqp/impl/AuthorizationTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ void entityCreationAttemptWithoutAuthorizationShouldThrow() {
8787
waitAtMost(
8888
() -> {
8989
try {
90-
c.management().queueDeletion().delete(authorizedName);
90+
c.management().queueDelete(authorizedName);
9191
return true;
9292
} catch (AmqpException e) {
9393
return false;
@@ -121,7 +121,7 @@ void publishingToUnauthorizedExchangeShouldThrow() {
121121
.hasMessageContaining("access")
122122
.hasMessageContaining(this.name);
123123
} finally {
124-
gc.management().exchangeDeletion().delete(this.name);
124+
gc.management().exchangeDelete(this.name);
125125
}
126126
}
127127
}
@@ -136,7 +136,7 @@ void publishingToUnauthorizedQueueShouldThrow() {
136136
.isInstanceOf(AmqpException.AmqpSecurityException.class)
137137
.hasMessageContaining("access");
138138
} finally {
139-
gc.management().queueDeletion().delete(this.name);
139+
gc.management().queueDelete(this.name);
140140
}
141141
}
142142
}
@@ -165,7 +165,7 @@ void publishingToUnauthorizedExchangeWithToPropertyShouldThrow() throws Exceptio
165165
.hasMessageContaining("access")
166166
.hasMessageContaining(this.name);
167167
} finally {
168-
gc.management().exchangeDeletion().delete(this.name);
168+
gc.management().exchangeDelete(this.name);
169169
}
170170
}
171171
}
@@ -183,7 +183,7 @@ void consumingFromUnauthorizedQueueShouldThrow() {
183183
.hasMessageContaining("access")
184184
.hasMessageContaining(this.name);
185185
} finally {
186-
gc.management().queueDeletion().delete(this.name);
186+
gc.management().queueDelete(this.name);
187187
}
188188
}
189189
}

src/test/java/com/rabbitmq/client/amqp/impl/ClientTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ void init(TestInfo info) {
6868

6969
@AfterEach
7070
void tearDown() {
71-
management.queueDeletion().delete(q);
71+
management.queueDelete(q);
7272
}
7373

7474
@AfterAll
@@ -272,7 +272,7 @@ void queueDeletionImpactOnReceiver(TestInfo info) throws Exception {
272272
receiver.openFuture().get();
273273
Delivery delivery = receiver.tryReceive();
274274
assertThat(delivery).isNull();
275-
connection.management().queueDeletion().delete(queue);
275+
connection.management().queueDelete(queue);
276276
try {
277277
receiver.receive(10, SECONDS);
278278
fail("Receiver should have been closed after queue deletion");
@@ -306,7 +306,7 @@ void exchangeDeletionImpactOnSender(TestInfo info) throws Exception {
306306
tracker.awaitSettlement(10, SECONDS);
307307
assertThat(tracker.remoteState()).isEqualTo(DeliveryState.accepted());
308308

309-
connection.management().exchangeDeletion().delete(exchange);
309+
connection.management().exchangeDelete(exchange);
310310
try {
311311
int count = 0;
312312
while (count++ < 10) {

0 commit comments

Comments
 (0)