Skip to content

Commit 45da36c

Browse files
allxiaoyiliuTo
authored andcommitted
Update expected changes for rabbitmq-sender
1 parent f53fd2d commit 45da36c

File tree

4 files changed

+58
-19
lines changed

4 files changed

+58
-19
lines changed

rabbitmq-sender/pom.xml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,25 @@
1616
<properties>
1717
<java.version>17</java.version>
1818
</properties>
19+
<dependencyManagement>
20+
<dependencies>
21+
<dependency>
22+
<groupId>com.azure.spring</groupId>
23+
<artifactId>spring-cloud-azure-dependencies</artifactId>
24+
<version>5.14.0</version>
25+
<type>pom</type>
26+
<scope>import</scope>
27+
</dependency>
28+
</dependencies>
29+
</dependencyManagement>
1930
<dependencies>
2031
<dependency>
21-
<groupId>org.springframework.boot</groupId>
22-
<artifactId>spring-boot-starter-amqp</artifactId>
32+
<groupId>com.azure.spring</groupId>
33+
<artifactId>spring-cloud-azure-starter</artifactId>
34+
</dependency>
35+
<dependency>
36+
<groupId>com.azure.spring</groupId>
37+
<artifactId>spring-messaging-azure-servicebus</artifactId>
2338
</dependency>
2439

2540
<!--

rabbitmq-sender/src/main/java/com/example/messagingrabbitmq/MessagingRabbitmqApplication.java

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
package com.example.messagingrabbitmq;
22

3+
import com.azure.core.credential.TokenCredential;
4+
import com.azure.core.exception.ResourceNotFoundException;
5+
import com.azure.messaging.servicebus.administration.ServiceBusAdministrationClient;
6+
import com.azure.messaging.servicebus.administration.ServiceBusAdministrationClientBuilder;
7+
import com.azure.messaging.servicebus.administration.models.QueueProperties;
8+
import com.azure.spring.cloud.autoconfigure.implementation.servicebus.properties.AzureServiceBusProperties;
39
import org.springframework.boot.SpringApplication;
410
import org.springframework.boot.autoconfigure.SpringBootApplication;
511
import org.springframework.context.ConfigurableApplicationContext;
612
import org.springframework.context.annotation.Bean;
7-
import org.springframework.amqp.core.Queue;
813

914
@SpringBootApplication
1015
public class MessagingRabbitmqApplication {
@@ -19,13 +24,30 @@ public static void main(String[] args) throws InterruptedException {
1924
}
2025

2126
@Bean
22-
public Queue queue1() {
23-
return new Queue(queueName1, true);
27+
ServiceBusAdministrationClient serviceBusAdministrationClient(
28+
AzureServiceBusProperties properties,
29+
TokenCredential credential) {
30+
return new ServiceBusAdministrationClientBuilder()
31+
.credential(properties.getFullyQualifiedNamespace(), credential)
32+
.buildClient();
2433
}
2534

2635
@Bean
27-
public Queue queue2() {
28-
return new Queue(queueName2, true);
36+
QueueProperties queue1(ServiceBusAdministrationClient adminClient) {
37+
try {
38+
return adminClient.getQueue(queueName1);
39+
} catch (ResourceNotFoundException e) {
40+
return adminClient.createQueue(queueName1);
41+
}
42+
}
43+
44+
@Bean
45+
QueueProperties queue2(ServiceBusAdministrationClient adminClient) {
46+
try {
47+
return adminClient.getQueue(queueName2);
48+
} catch (ResourceNotFoundException e) {
49+
return adminClient.createQueue(queueName2);
50+
}
2951
}
3052

3153
}

rabbitmq-sender/src/main/java/com/example/messagingrabbitmq/Producer.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,31 @@
11
package com.example.messagingrabbitmq;
22

3-
import org.springframework.amqp.core.Message;
3+
import org.springframework.messaging.Message;
44
import org.springframework.stereotype.Component;
5-
import org.springframework.amqp.rabbit.core.RabbitTemplate;
5+
import com.azure.spring.messaging.servicebus.core.ServiceBusTemplate;
6+
import org.springframework.messaging.support.MessageBuilder;
67
import org.springframework.beans.factory.annotation.Autowired;
78

89
@Component
910
public class Producer {
1011

1112
@Autowired
12-
private final RabbitTemplate rabbitTemplate;
13+
private final ServiceBusTemplate serviceBusTemplate;
1314

14-
public Producer(RabbitTemplate rabbitTemplate) {
15-
this.rabbitTemplate = rabbitTemplate;
15+
public Producer(ServiceBusTemplate serviceBusTemplate) {
16+
this.serviceBusTemplate = serviceBusTemplate;
1617
}
1718

1819
public void run() {
1920
for (int i = 0; i < 10; i++) {
2021
System.out.println("Sending message..."+i);
2122
String responseString = "test "+i;
22-
Message responseMessage = new Message(responseString.getBytes());
23+
Message<String> responseMessage = MessageBuilder.withPayload(responseString)
24+
.build();
2325
if (i % 2 == 0) {
24-
rabbitTemplate.convertAndSend(MessagingRabbitmqApplication.queueName2, responseMessage);
26+
serviceBusTemplate.send(MessagingRabbitmqApplication.queueName2, responseMessage);
2527
} else {
26-
rabbitTemplate.convertAndSend(MessagingRabbitmqApplication.queueName1, responseMessage);
28+
serviceBusTemplate.send(MessagingRabbitmqApplication.queueName1, responseMessage);
2729
}
2830
}
2931
}
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
spring.rabbitmq.password=secret
2-
spring.rabbitmq.username=myuser
3-
spring.rabbitmq.host=localhost
4-
spring.rabbitmq.port=5671
1+
spring.cloud.azure.servicebus.entity-type=queue
2+
spring.cloud.azure.servicebus.namespace=
3+
spring.cloud.azure.credential.managed-identity-enabled= true
4+
spring.cloud.azure.credential.client-id=

0 commit comments

Comments
 (0)