Camunda はメッセージ キューを統合することで非同期処理タスクを実装できます。一般的なメッセージ キューには RabbitMQ、Kafka、ActiveMQ などがあります。RabbitMQ を統合する手順は次のとおりです。
1. RabbitMQ の依存関係を追加します。
RabbitMQ の依存関係を Camunda プロジェクトの pom.xml ファイルに追加します:
org.springframework.boot spring-boot-starter-amqp
2. RabbitMQ 接続情報の構成
application.properties ファイルで RabbitMQ 接続情報を構成します。
spring.rabbitmq.host=your-rabbitmq-host
spring.rabbitmq.port=your-rabbitmq-port
spring.rabbitmq.username=your-rabbitmq-username
spring.rabbitmq.password=your-rabbitmq-password
3. 非同期タスクを構成する
@Async アノテーションを使用して、非同期で実行する必要があるメソッドをマークします。次に例を示します。
@Service
public class MyService {
@Async
public void processMessage(String message) {
// 处理消息
}
}
4. メッセージを送信する
メッセージを送信する必要がある RabbitTemplate オブジェクトを作成し、その ConvertAndSend メソッドを呼び出してメッセージを送信します。
@Autowired
private RabbitTemplate rabbitTemplate;
public void sendMessage(String message) {
rabbitTemplate.convertAndSend(“my-exchange”, “my-routing-key”, message);
}
5. メッセージを受信する メッセージを受信する
必要がある場合は、リスナーを作成し、 @RabbitListener アノテーションを使用して、リッスンする必要があるキューをマークします。次に例を示します。
@Component
public class MyListener {
@RabbitListener(queues = “my-queue”)
public void processMessage(String message) {
// 处理消息
}
}
上記は RabbitMQ の統合例であり、他のメッセージキューの統合方法も同様です。