您的位置:首页 > 运维架构 > Apache

Apache activemq example

2016-05-20 14:37 591 查看
public class JMSProducer {

private static final String USERNAME = ActiveMQConnection.DEFAULT_USER;
private static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;
private static final String BORKEURL = ActiveMQConnection.DEFAULT_BROKER_URL;

public static void main(String[] args) {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BORKEURL);

try {
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("firstQueue");
MessageProducer producer = session.createProducer(destination);
sendMessage(session, producer);
session.commit();

} catch (JMSException e) {
e.printStackTrace();
}
}

private static void sendMessage(Session session, MessageProducer producer) throws JMSException {
for (int i = 0; i < 10; i++) {
TextMessage message = session.createTextMessage("I am producer"+i);
System.out.println("send message:"+"I am producer"+i);
producer.send(message);
}

}

}


public class JMSConsumer {

private static final String USERNAME = ActiveMQConnection.DEFAULT_USER;
private static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;
private static final String BORKEURL = ActiveMQConnection.DEFAULT_BROKER_URL;

public static void main(String[] args) {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BORKEURL);

try {
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("firstQueue");
MessageConsumer consumer = session.createConsumer(destination);
consumer.setMessageListener(new Listener());

} catch (JMSException e) {
e.printStackTrace();
}

}
}


public class Listener implements MessageListener {

public void onMessage(Message message) {
try {
System.out.println("receive message: "+((TextMessage)message).getText());
} catch (JMSException e) {
e.printStackTrace();
}

}
}


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


public class Publisher {

public static void main(String[] args) {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");

try {
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
Topic responseTopic= session.createTopic("responseTopic");
MessageProducer producer = session.createProducer(responseTopic);

TextMessage message = session.createTextMessage("hello world");
producer.send(message);

System.out.println("Sent message '" + message.getText() + "'");

// connection.close();
} catch (JMSException e) {
e.printStackTrace();
}

}

}


public class Subscriber {

public  void recrieve(final String name) {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");

try {
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
Topic responseTopic = session.createTopic("ResponseTopic");
MessageConsumer consumer = session.createConsumer(responseTopic);

consumer.setMessageListener(new MessageListener() {
public void onMessage(Message message) {
TextMessage tm = (TextMessage) message;
try {
System.out.println(name +" Received message: " + tm.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
});

} catch (JMSException e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
Subscriber subscriber1 = new Subscriber();
subscriber1.recrieve("subscriber1");
Subscriber subscriber2 = new Subscriber();
subscriber2.recrieve("subscriber2");
Subscriber subscriber3 = new Subscriber();
subscriber3.recrieve("subscriber3");
Subscriber subscriber4 = new Subscriber();
subscriber4.recrieve("subscriber4");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息