Spring-Topic
1. pom 파일
org.springframework.boot
spring-boot-starter-activemq
2. yml 파일
# springboot
server:
port: 8083
# activeMQ
spring:
activemq:
broker-url: tcp://112.124.20.231:61616 # activeMQ ip
user: admin
password: admin
#
jms:
pub-sub-domain: true # false = Queue | true = Topic
#
myTopicName: springboot-activemq-topic
3. bean 설정
@Component
@EnableJms
public class ConfigBean {
@Value("${myTopicName}")
private String topicName;
@Bean
public ActiveMQTopic activeMQTopic(){
return new ActiveMQTopic(topicName);
}
}
4. Topic_Producer
@Component
public class Topic_Producer {
@Autowired
private JmsMessagingTemplate jmsMessagingTemplate;
@Autowired
private ActiveMQTopic activeMQTopic;
@Scheduled(fixedDelay = 3000)
public void producer(){
jmsMessagingTemplate.convertAndSend(activeMQTopic," :"+ UUID.randomUUID().toString());
}
}
5. 시작 클래스
@SpringBootApplication
@EnableScheduling
public class BootTopicProducerApplication {
public static void main(String[] args) {
SpringApplication.run(BootTopicProducerApplication.class, args);
}
}
소비자
pom.xml
org.springframework.boot
spring-boot-starter-activemq
yml 파일
# springboot
server:
port: 8084
# activeMQ
spring:
activemq:
broker-url: tcp://112.124.20.231:61616 # activeMQ ip
user: admin
password: admin
#
jms:
pub-sub-domain: true # false = Queue | true = Topic
#
myTopicName: springboot-activemq-topic
Topic_Consumer
@Component
public class Topic_Consumer {
@JmsListener(destination = "${myTopicName}")
public void consumer(TextMessage textMessage) throws Exception{
System.out.println(" :"+textMessage.getText());
}
}
시동 을 걸다
@SpringBootApplication
public class BootTopicConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(BootTopicConsumerApplication.class, args);
}
}
영구 판
configBean 설정
@Component
@EnableJms
public class ConfigBean {
@Value("${spring.activemq.broker-url}")
private String brokerUrl;
@Value("${spring.activemq.user}")
private String user;
@Value("${spring.activemq.password}")
private String password;
public ConnectionFactory connectionFactory(){
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();
connectionFactory.setBrokerURL(brokerUrl);
connectionFactory.setUserName(user);
connectionFactory.setPassword(password);
return connectionFactory;
}
@Bean(name = "jmsListenerContainerFactory")
public DefaultJmsListenerContainerFactory defaultJmsListenerContainerFactory(){
DefaultJmsListenerContainerFactory defaultJmsListenerContainerFactory = new DefaultJmsListenerContainerFactory();
defaultJmsListenerContainerFactory.setConnectionFactory(connectionFactory());
defaultJmsListenerContainerFactory.setSubscriptionDurable(true);
defaultJmsListenerContainerFactory.setClientId(" ");
return defaultJmsListenerContainerFactory;
}
}
Topic_Consumer
@Component
public class Topic_Consumer {
@JmsListener(destination = "${myTopicName}",containerFactory = "jmsListenerContainerFactory")
public void consumer(TextMessage textMessage) throws Exception{
System.out.println(" :"+textMessage.getText());
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.