Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
M
mq-man
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
M. A. Rased
mq-man
Commits
4fe8c6eb
Commit
4fe8c6eb
authored
Nov 06, 2025
by
Sajid Shrestha
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove stomp queues and policies separately
parent
6e356bf1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
52 additions
and
10 deletions
+52
-10
readme.md
readme.md
+7
-1
run-remove-stomp.bat
run-remove-stomp.bat
+2
-0
DeadLetterQueueService.java
...n/java/com/example/deadletter/DeadLetterQueueService.java
+43
-9
No files found.
readme.md
View file @
4fe8c6eb
...
@@ -19,9 +19,15 @@ or
...
@@ -19,9 +19,15 @@ or
run-remove.bat
**
run-remove.bat
**
-
reads all dead letter queue that starts with 'dl-'
-
reads all dead letter queue that starts with 'dl-'
-
removes letter exchange DLX
-
removes
dead
letter exchange DLX
-
removes dead letter policies
-
removes dead letter policies
**
java -jar .
\b
uild
\l
ibs
\d
ead-letter-0.0.1-SNAPSHOT.jar remove-stomp
or
run-remove-stomp.bat
**
-
reads all dead letter queue that starts with 'dl-stomp'
-
removes dead letter policies that starts with 'dlx-stomp'
**java -jar .\build\libs\dead-letter-0.0.1-SNAPSHOT.jar <queue_name>**
**java -jar .\build\libs\dead-letter-0.0.1-SNAPSHOT.jar <queue_name>**
...
...
run-remove-stomp.bat
0 → 100644
View file @
4fe8c6eb
java -jar .\build\libs\dead-letter-0.0.1-SNAPSHOT.jar remove-stomp
\ No newline at end of file
src/main/java/com/example/deadletter/DeadLetterQueueService.java
View file @
4fe8c6eb
...
@@ -10,10 +10,8 @@ import org.springframework.stereotype.Service;
...
@@ -10,10 +10,8 @@ import org.springframework.stereotype.Service;
import
org.springframework.web.client.HttpClientErrorException
;
import
org.springframework.web.client.HttpClientErrorException
;
import
org.springframework.web.client.RestTemplate
;
import
org.springframework.web.client.RestTemplate
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.Base64
;
import
java.util.stream.Collectors
;
import
java.util.List
;
import
java.util.Scanner
;
@Service
@Service
public
class
DeadLetterQueueService
{
public
class
DeadLetterQueueService
{
...
@@ -36,18 +34,33 @@ public class DeadLetterQueueService {
...
@@ -36,18 +34,33 @@ public class DeadLetterQueueService {
private
final
RestTemplate
restTemplate
=
new
RestTemplate
();
private
final
RestTemplate
restTemplate
=
new
RestTemplate
();
public
void
setup
(
String
[]
args
)
{
public
void
setup
(
String
[]
args
)
{
// create dl queues, policies for all queues
if
(
args
.
length
==
0
)
{
if
(
args
.
length
==
0
)
{
args
=
getAllQueue
();
args
=
getAllQueue
();
}
}
// remove dl queues, policies
if
(
args
.
length
==
1
&&
args
[
0
].
equals
(
"remove"
))
{
if
(
args
.
length
==
1
&&
args
[
0
].
equals
(
"remove"
))
{
removeDeadLetterExchange
();
removeDL
();
removeDeadLetterQueue
();
removeDeadLetterPolicies
();
return
;
return
;
}
}
// remove stomp dl queues
if
(
args
.
length
==
1
&&
args
[
0
].
equals
(
"remove-stomp"
)){
removeStompDL
();
return
;
}
// create dl queues, policies for specific queues if provided in args
String
deadLetterExchange
=
"DLX"
;
String
deadLetterExchange
=
"DLX"
;
createDeadLetterExchange
(
deadLetterExchange
);
createDeadLetterExchange
(
deadLetterExchange
);
System
.
out
.
println
(
"\n\nDEAD LETTER QUEUES TO CREATE \n"
+
Arrays
.
toString
(
args
));
System
.
out
.
println
(
"\npress y to create"
);
Scanner
scanner
=
new
Scanner
(
System
.
in
);
String
input
=
scanner
.
next
();
if
(!
input
.
equalsIgnoreCase
(
"y"
))
return
;
for
(
String
queue
:
args
)
{
for
(
String
queue
:
args
)
{
System
.
out
.
println
(
"\n\nQUEUE NAME : "
+
queue
);
System
.
out
.
println
(
"\n\nQUEUE NAME : "
+
queue
);
...
@@ -58,13 +71,28 @@ public class DeadLetterQueueService {
...
@@ -58,13 +71,28 @@ public class DeadLetterQueueService {
createDeadLetterQueue
(
queue
,
deadLetterExchange
);
createDeadLetterQueue
(
queue
,
deadLetterExchange
);
setDLXPolicy
(
queue
,
deadLetterExchange
);
setDLXPolicy
(
queue
,
deadLetterExchange
);
}
}
}
private
void
removeStompDL
(){
removeDeadLetterQueue
(
true
);
removeDeadLetterPolicies
(
true
);
}
private
void
removeDL
(){
removeDeadLetterExchange
();
removeDeadLetterQueue
(
false
);
removeDeadLetterPolicies
(
false
);
}
}
private
void
removeDeadLetterPolicies
()
{
private
void
removeDeadLetterPolicies
(
boolean
removeOnlyStomp
)
{
List
<
String
>
policyList
=
getAllPolicies
();
List
<
String
>
policyList
=
getAllPolicies
();
if
(
policyList
.
isEmpty
())
if
(
policyList
.
isEmpty
())
return
;
return
;
if
(
removeOnlyStomp
){
policyList
=
policyList
.
stream
().
filter
(
p
->
p
.
startsWith
(
"dlx-stomp"
)).
toList
();
}
System
.
out
.
println
(
"\n\n\nPOLICIES TO DELETE \n"
+
policyList
);
System
.
out
.
println
(
"\n\n\nPOLICIES TO DELETE \n"
+
policyList
);
System
.
out
.
println
(
"\npress y to delete"
);
System
.
out
.
println
(
"\npress y to delete"
);
Scanner
scanner
=
new
Scanner
(
System
.
in
);
Scanner
scanner
=
new
Scanner
(
System
.
in
);
...
@@ -119,11 +147,17 @@ public class DeadLetterQueueService {
...
@@ -119,11 +147,17 @@ public class DeadLetterQueueService {
}
}
}
}
private
void
removeDeadLetterQueue
()
{
private
void
removeDeadLetterQueue
(
boolean
removeOnlyStomp
)
{
List
<
String
>
deadLetterQueueList
=
getDeadLetterQueue
();
List
<
String
>
deadLetterQueueList
=
getDeadLetterQueue
();
if
(
deadLetterQueueList
.
isEmpty
())
if
(
deadLetterQueueList
.
isEmpty
())
return
;
return
;
if
(
removeOnlyStomp
){
deadLetterQueueList
=
deadLetterQueueList
.
stream
()
.
filter
(
queue
->
queue
.
startsWith
(
"dl-stomp"
))
.
toList
();
}
System
.
out
.
println
(
"\n\nDEAD LETTER QUEUES TO DELETE \n"
+
deadLetterQueueList
);
System
.
out
.
println
(
"\n\nDEAD LETTER QUEUES TO DELETE \n"
+
deadLetterQueueList
);
System
.
out
.
println
(
"\npress y to delete"
);
System
.
out
.
println
(
"\npress y to delete"
);
Scanner
scanner
=
new
Scanner
(
System
.
in
);
Scanner
scanner
=
new
Scanner
(
System
.
in
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment