- 메시지 브로커와의 연결을 설정하는 데 사용되는 메서드를 제공합니다. 이 클래스의 메서드를 사용하여 Exchange와 큐를 바인딩하고, 라우팅 키를 설정하고, 바인딩의 다양한 속성을 정의할 수 있습니다. - 이는 애플리케이션의 메시지 전송 및 수신을 관리하는 데 필수적인 도구입니다.
// BindingBuilder와 DestinationConfigurer를 사용한 예시
DirectExchange directExchange = new DirectExchange("my.direct.exchange");
Queue queue = new Queue("my.queue");
// directExchange에 queue를 바인딩하는 코드
Binding binding = BindingBuilder
.bind(queue) // 대상 Queue 설정
.to(directExchange) // DirectExchange 유형의 교환기를 대상으로 설정
.with("my.routing.key"); // 라우팅 키 설정
// BindingBuilder와 DirectExchangeRoutingKeyConfigurer를 사용한 예시
DirectExchange directExchange = new DirectExchange("my.direct.exchange");
Queue queue = new Queue("my.queue");
// directExchange에 queue를 바인딩하고, 라우팅 키를 설정하는 코드
Binding binding = BindingBuilder
.bind(queue) // 대상 Queue 설정
.to(directExchange) // DirectExchange 유형의 교환기를 대상으로 설정
.with("my.routing.key"); // 라우팅 키 설정
3. BindingBuilder.GenericArgumentsConfigurer
💡 BindingBuilder.GenericArgumentsConfigurer
-BindingBuilder 클래스의 다른 내부 클래스입니다. 이 클래스는 BindingBuilder에서 생성된 바인딩에 대해 제네릭 인자를 설정하는 메서드를 제공합니다. - 이를 통해 바인딩 설정에 더욱 상세한 제어를 할 수 있게 됩니다.
// BindingBuilder와 GenericArgumentsConfigurer를 사용한 예시
DirectExchange directExchange = new DirectExchange("my.direct.exchange");
Queue queue = new Queue("my.queue");
// 바인딩에 제네릭 인자를 추가하는 코드
Map<String, Object> arguments = new HashMap<>();
arguments.put("x-message-ttl", 60000); // 메시지 TTL을 60초로 설정
Binding binding = BindingBuilder
.bind(queue) // 대상 Queue 설정
.to(directExchange) // DirectExchange 유형의 교환기를 대상으로 설정
.with("my.routing.key") // 라우팅 키 설정
.and(arguments); // 제네릭 인자 설정
// BindingBuilder와 TopicExchangeRoutingKeyConfigurer를 사용한 예시
TopicExchange topicExchange = new TopicExchange("my.topic.exchange");
Queue queue = new Queue("my.queue");
// topicExchange에 queue를 바인딩하고, 라우팅 키를 설정하는 코드
Binding binding = BindingBuilder
.bind(queue) // 대상 Queue 설정
.to(topicExchange) // TopicExchange 유형의 교환기를 대상으로 설정
.with("my.*.routing.key"); // 라우팅 키 설정
5. BindingBuilder.HeadersExchangeMapConfigurer
💡 BindingBuilder.HeadersExchangeMapConfigurer
- BindingBuilder 클래스의 다른 내부 클래스입니다. 이 클래스는 Headers Exchange 유형의 교환기를 사용할 때 맵을 설정하는 메서드를 제공합니다. - 이를 통해 메시지가 올바른 대상으로 정확하게 이동할 수 있도록 합니다.
- BindingBuilder 클래스의 내부 클래스입니다. 이 클래스는 Topic Exchange 유형의 교환기를 사용할 때 라우팅 키를 설정하는 메서드를 제공합니다. - 이 클래스의 메서드를 사용하면 메시지가 특정 토픽에 따라 올바른 대상으로 정확하게 라우팅 될 수 있습니다.
// BindingBuilder와 TopicExchangeRoutingKeyConfigurer를 사용한 예시
TopicExchange topicExchange = new TopicExchange("my.topic.exchange");
Queue queue = new Queue("my.queue");
// topicExchange에 queue를 바인딩하고, 라우팅 키를 설정하는 코드
Binding binding = BindingBuilder
.bind(queue) // 대상 Queue 설정
.to(topicExchange) // TopicExchange 유형의 교환기를 대상으로 설정
.with("my.*.routing.key"); // 라우팅 키 설정