ActiveMQ 의 설치, 활용
7845 단어 ActiveMQ
2. 압축 을 풀 고 activemq. bat 를 찾 습 니 다. 더 블 클릭 으로 콘 솔 을 열 면 tomcat 를 여 는 것 과 같 습 니 다.그림:
3. 브 라 우 저 에서 activemq 가 올 바 르 게 시작 되 었 는 지 확인 합 니 다.http://localhost:8161/admin, 열 어 보 니 이렇게:
사용자 이름: admin 비밀번호: admin
확인 하면 로그 인 할 수 있 습 니 다.
4 、 Queue 를 새로 만 들 수 있 습 니 다. Queue Name 뒤에 있 는 네모 난 상자 에 "My First Queue" 를 입력 하고, 바로 뒤에 있 는 "Create" 단 추 를 누 르 면 됩 니 다.
아래 Queues: 목록 에 새로 만 든 Queue 가 표 시 됩 니 다.
이것 은 이미 사용 한 것 입 니 다. 사실 처음에 수 치 는 이 랬 습 니 다.
Name : MyFirstQueue
Number Of ending Message : 0
Number Of Consumers :0
Message Enqueued:0
Message Dequeued:0
5. 다음 에 우 리 는 IDEA 를 통 해 두 개의 자바 류 를 만 듭 니 다. 하 나 는 메시지 생산자 이 고 하 나 는 메시지 소비자 입 니 다.
이것 은 소식 생산자 입 니 다.
package com.zfm.activemq;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
public class Sender {
private static final int SEND_NUMBER =5;
public static void main(String[] args){
//ConnectionFactory:
ConnectionFactory connectionFactory;
//Connection:JMS JMS Provider
Connection connection = null;
//Session : ,
Session session;
//Destination:
Destination destination;
//MessageProducer: :
MessageProducer messageProducer;
// connectionFactory
connectionFactory = new ActiveMQConnectionFactory(
ActiveMQConnection.DEFAULT_USER,
ActiveMQConnection.DEFAULT_PASSWORD,
"tcp://localhost:61616"/*ActiveMQ TCP 61616,*/
);
try{
//
connection = connectionFactory.createConnection();
//
connection.start();
//
session = connection.createSession(Boolean.TRUE,
Session.AUTO_ACKNOWLEDGE);
// session
destination = session.createQueue("FMDemo");
//
messageProducer = session.createProducer(destination);
// ·
messageProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
//
sendMeaasge(session,messageProducer);
session.commit();
}catch (Exception e){
e.printStackTrace();
}finally {
try{
if(null!=connection){
connection.close();
}
}catch (Throwable t){
}
}
}
public static void sendMeaasge(Session session,MessageProducer producer) throws JMSException {
for(int i=1;i<=SEND_NUMBER;i++){
TextMessage message = session.createTextMessage("ActiveMq " +i);
//
System.out.println(" : ActiveMq :" + i);
producer.send(message);
}
}
}
메시지 소비자:
package com.zfm.activemq;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
public class Receiver {
public static void main(String[] rags) throws JMSException {
//Connection
ConnectionFactory connectionFactory;
//Connection:JMS JMS provider
Connection connection = null;
//Session : ·
Session session;
//Destination: ,
Destination destination;
// ,
MessageConsumer messageConsumer;
connectionFactory = new ActiveMQConnectionFactory(
ActiveMQConnection.DEFAULT_USER,
ActiveMQConnection.DEFAULT_PASSWORD,
"tcp://localhost:61616"//ActiveMQ TCP 61616,
);
try{
//
connection = connectionFactory.createConnection();
//
connection.start();
//
session = connection.createSession(Boolean.FALSE
,Session.AUTO_ACKNOWLEDGE);
destination = session.createQueue("FMDemo");
messageConsumer = session.createConsumer(destination);
while(true){
//
TextMessage message = (TextMessage)messageConsumer.receive(100000);
if(null!=message){
System.out.println(" " + message.getText());
}else{
break;
}
}
}catch (Exception e){
}finally {
try{
if(null != connection) {
connection.close();
}
}catch(Throwable t){
}
}
}
}
Sender. java 를 실행 하면 새로 고침http://localhost:8161/admin/queues.jsp때,
Queues 표 의 인자 가 변 했 습 니 다:
Name : MyFirstQueue
Number Of Pending Message :5
Number Of Consumers :0
Message Enqueued :5
Message Dequeued :0
이 때 메 시 지 를 보 냈 고 Sender 의 main 함수 가 계속 실행 되 지 않 았 기 때문에 콘 솔 에 인쇄 되 었 습 니 다.
발송 메시지: ActiveMq 발송 메시지: 1 발송 메시지: ActiveMq 발송 메시지: 2 발송 메시지: ActiveMq 발송 메시지: 3 발송 메시지: ActiveMq 발송 메시지: 4 발송 메시지: ActiveMq 발송 메시지: 5Process finished with exit code 0
프로 세 스 가 끝 났 습 니 다.
이 때 Receiver. java 를 다시 실행 하고 콘 솔 에서 인쇄 합 니 다.
받 은 메시지 ActiveMq 보 낸 메시지 1 받 은 메시지 ActiveMq 보 낸 메시지 2 받 은 메시지 ActiveMq 보 낸 메시지 3 받 은 메시지 ActiveMq 보 낸 메시지 4 받 은 메시지 ActiveMq 보 낸 메시지 5
Process finished with exit code 0
이때, 다시 갱신http://localhost:8161/admin/queues.jsp이 때 표 의 수 치 는 다음 과 같 습 니 다.
Name : MyFirstQueue
Number Of Pending Message :0
Number Of Consumers :0
Message Enqueued :5
Message Dequeued :5
또 하 나 는 Receiver. java 가 실행 이 끝나 지 않 았 을 때 Receiver 프로 세 스 만 열 었 기 때문에 Number Of Consumers:1。
Sender 가 보 낸 메 시 지 는 Receiver 에 의 해 받 았 음 을 알 수 있다.당신 은 먼저 Sender 메 시 지 를 보 낼 수 있 습 니 다. 이 럴 때 메시지 가 이미 메시지 대기 열 에 도착 했다 면 발송 자가 어떤 답장 을 받 기 를 바라 지 않 는 다 면 Sender 를 멈 출 수 있 습 니 다.Receiver 는 똑 같이 메 시 지 를 받 습 니 다.
다음은 ActiveMQ 의 몇 가지 기본 통신 방식 을 소개 합 니 다. 게시 - 구독 모드 와 점 대 점 모드 입 니 다.
기본 프로 세 스:
1. ActiveMQConnection Factory 획득.
2. factory 를 이용 하여 Connection 을 획득 합 니 다.
3. connection 을 시작 합 니 다.
4. connection 을 통 해 Session 을 만 듭 니 다.
5. 세 션 의 Destination 을 지정 합 니 다.
6. 메 시 지 를 보 내 는 사람 은 Message Producer 를 만 들 고 메 시 지 를 받 는 사람 은 Message Consumer 를 만 듭 니 다.
7. JMS Message 를 보 내 고 받 습 니 다.
8. 모든 JMS 자원 을 닫 습 니 다.
ActiveMQ 자세 한 내용 은 다음 과 같 습 니 다.http://shmilyaw-hotmail-com.iteye.com/blog/1897635
ActiveMQ 에 대해 말하자면 그 는 자바 메시지 서비스 (JMS) 의 규범 중 하나 입 니 다. JMS 상세 한 내용 은 다음 과 같 습 니 다.http://blog.csdn.net/jiuqiyuliang/article/details/46701559 화해시키다 http://blog.csdn.net/jiuqiyuliang/article/details/47160259。
어떤 경우 에 ActiveMQ 를 사용 합 니까?
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
glassfish+mdb+activeMQ자세히 보기 1. active 콘솔에 새로운queue:batchAdjust 2.glassfish의 구성 스크립트를 스크립트로 설정하면 다음과 같습니다. 2. 그리고 netbean6.1로 생성된 MDB에 빨간색 부분을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.