자바 activemq 에 어떻게 연결 하고 접근 합 니까?
다운 로드 는 홈 페이지 에서 다운로드 할 수 있 습 니 다.우 리 는 windows 테스트 를 사용 하기 때문에 windows 버 전 을 다운로드 하면 된다.
2.ActiveMQ 시작
zip 파일 을 다운로드 한 후 직접 압축 을 풀 고 압축 을 풀 면 빈 과 conf 디 렉 터 리 에 관심 이 많 습 니 다.
스 크 립 트 파일
conf 는 기본 프로필 을 저장 합 니 다데이터 에 저 장 된 것 은 로그 파일 입 니 다docs 는 설명 문 서 를 저장 합 니 다examples 는 간단 한 인 스 턴 스 를 저장 합 니 다lib 는 activemq 에 필요 한 jar 가방 을 저장 합 니 다웹 앱 은 프로젝트 의 디 렉 터 리 를 저장 하 는 데 사 용 됩 니 다액 티 브 MQ 를 시작 하 는 것 은 매우 간단 하 다.bin 디 렉 터 리 에 들 어가 기
"activemq.bat"를 두 번 누 르 면 실행 이 시 작 됩 니 다.ActiveMQ 는 자바 로 작 성 된 것 이기 때문에 컴퓨터 에 JDK 가 설치 되 어 있 는 지 확인 해 야 합 니 다.
실행 을 더 블 클릭 하면 브 라 우 저 에 입력 할 수 있 습 니 다:http://localhost:8161/admin。ActiveMQ 백 스테이지 에 들 어 갈 수 있 습 니 다.계 정 비밀 번 호 는 기본적으로 admin 입 니 다.
Java 프로그램 연결 포트:61616
61616 포트 를 수정 하면 파일 conf>activemq.xml 을 수정 할 수 있 습 니 다.
로그 인 이름과 비밀 번 호 를 수정 하면 파일 conf>jetty-realm.properties 를 수정 할 수 있 습 니 다.
3.ActiveMQ 프로젝트 만 들 기
여기에 그림 을 한 장 놓 는 것 이 좋 겠 습 니 다.
이 그림 에 따라 우 리 는 대기 열 Queue 의 코드 를 다음 과 같이 실현 했다.
1.pom.xml
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-core</artifactId>
<version>5.7.0</version>
</dependency>
2.소비자 코드
package cn.duanjt;
import java.io.IOException;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.ActiveMQSession;
/**
*
* @author
* @date 2018-11-23
*/
public class Consumer {
//
private static String USERNAME = ActiveMQConnection.DEFAULT_USER;
private static String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;
private static String BROKER = ActiveMQConnection.DEFAULT_BROKER_URL;
public static void main(String[] args) throws IOException {
ConnectionFactory factory;
Connection connection = null;
Session session;
Queue queue;
Message message;
MessageConsumer consumer;
try {
factory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BROKER);
connection = factory.createConnection();
connection.start();
session = connection.createSession(false, ActiveMQSession.AUTO_ACKNOWLEDGE);
queue = session.createQueue("zd-duanjt");
consumer = session.createConsumer(queue);
//
/*while (true) {
message = consumer.receive();
TextMessage tmsg = (TextMessage) message;
System.out.println(" :" + tmsg.getText());
}*/
// ,
consumer.setMessageListener(new MessageListener() {
@Override
public void onMessage(Message message) {
TextMessage tmsg = (TextMessage) message;
try {
System.out.println(" :" + tmsg.getText());
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
} catch (Exception e) {
e.printStackTrace();
} finally{
// , , ,
}
}
}
3.생산자 코드
package cn.duanjt;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.ActiveMQSession;
/**
*
* @author
* @date 2018-11-23
*/
public class Productor {
//
private static String USERNAME = ActiveMQConnection.DEFAULT_USER;
private static String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;
private static String BROKER = ActiveMQConnection.DEFAULT_BROKER_URL;
public static void main(String[] args) throws JMSException {
ConnectionFactory factory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BROKER);
Connection connection = factory.createConnection();
connection.start();
Session session = connection.createSession(false, ActiveMQSession.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue("zd-duanjt");
MessageProducer productor = session.createProducer(queue);
for (int i = 0; i < 3; i++) {
String msg = "Hello world:" + i;
Message message = session.createTextMessage(msg);
productor.send(message);
System.out.println(" :" + msg);
}
connection.close();
}
}
중점 설명:1.Queue queue = session.createQueue("zd-duanjt");하나의 대기 열 을 만 들 수 있 음 을 표시 합 니 다.Topic,Topic topic=session.createTopic("zd-topic")을 만 들 수 있 습 니 다.
2.이 안에 있 는 JMS 와 관련 된 종 류 는 모두 자바 x.jms.*아래 에 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.