RabbitMQ 사용 총화(코드)

1396 단어 RabbitMQ
응용 상황:
SpringCloud 프로젝트 에 서 는 모듈 A 호출 모듈 B 의 방법 으로 메시지 큐 RabbitMQ 를 사용 합 니 다.
모듈 A 에 설정 을 추가 해 야 합 니 다:
/**
 * rabbitmq  
 * Springboot      Rabbitmq  
 * @author Administrator
 *
 */
@Configuration
public class RabbitmqConfig {

	@Bean
	public TopicExchange topicExchange() {
		return new TopicExchange(UserCenterMq.MQ_EXCHANGE_USER);
	}
}

대응 인터페이스:
/**
 * rabbitmq exchange routing key  
 * 
 * @author Administrator
 *
 */
public interface UserCenterMq {

	/**
	 *     exchange 
	 */
	String MQ_EXCHANGE_USER = "user.topic.exchange";

	/**
	 *     routing key
	 */
	String ROUTING_KEY_ROLE_DELETE = "role.delete";
}


발표 메시지:
		amqpTemplate.convertAndSend(UserCenterMq.MQ_EXCHANGE_USER, UserCenterMq.ROUTING_KEY_ROLE_DELETE, id);


모듈 B 의 설정:
/**
 *      ,    
 * 
 * @author Administrator
 *
 */
@Slf4j
@Component
@RabbitListener(queues = RabbitmqConfig.ROLE_DELETE_QUEUE)
public class RoleDeleteConsumer {

	@Autowired
	private RoleMenuDao roleMenuDao;

	/**
	 *           
* * * @param roleId */ @RabbitHandler public void roleDeleteHandler(String roleId) { log.info(" ,roleId:{}", roleId); try { roleMenuDao.delete(roleId, null); } catch (Exception e) { log.error(" ", e); } } }

좋은 웹페이지 즐겨찾기