2017-03-28 11 views
2

ActiveMQ를 사용하고 있으며 일부 메시지에 대해 생성자와 소비자를 만듭니다.프로그래밍 방식으로 서비스가 아닌 ActiveMQ 시작

이 방법은 내가 연결을 만들고, 내가 대상 생성 :

ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(username,password,"tcp://localhost:61616"); 
Connection connection = factory.createConnection(); 
connection.start(); 
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); 
Destination destination = session.createQueue("MyQueue"); 

내가 프로듀서를 만들고 메시지 보내기 방법 :

Producer producer = session.createProducer(destination); 
producer.send(msgToSend); 

나는 소비자를 작성하고 I로 설정 그 수신기 (MessageListener 인터페이스를 구현하는 클래스)

Consumer consumer = session.createConsumer(destination); 
consumer.setMessageListener(this); 

ㄴ 온 서머는 목적지에 연결하고 메시지를 듣고 있습니다. "MyQueue"큐에서 메시지를 가져 오면 MessageListener의 onMessage() 메서드가 트리거되고 메시지로 원하는 모든 작업을 수행합니다.

내 코드 작업과 나는 메시지를 생성하고 소비 할 수 있습니다. 제작자는 서버에 있고 소비자는 클라이언트 (별도의 프로젝트)에 있습니다.

제대로 작동하게하려면 here에서 apache-activemq-5.14.4-bin.zip을 설치했습니다.

<dependency> 
    <groupId>org.apache.activemq</groupId> 
    <artifactId>activemq-all</artifactId> 
    <version>5.14.0</version> 
</dependency> 

는 자, 이제 설치 ActiveMQ를 컴퓨터가 시작될 때 시작하는 서비스입니다 : 내가 pom.xml 파일의 종속성을 넣어. 서비스로 설치하고 싶지는 않지만 Java에서 프로그래밍 방식으로 시작하고 중지하십시오. 예를 들어, 시작 버튼을 누르고 코드를 실행하여 시작하고 미리 멈추고 중지하십시오.

프로그래밍 방식으로 ActiveMQ를 서비스로 설치할 수 있습니까?

답변