By GokiSoft.com|
19:30 04/11/2020|
Java Web + EJB (EAD)
[Share Code] Chia sẻ TMS - Lập trình EJB - Phần 1
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package receiver;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.JMSDestinationDefinition;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
/**
*
* @author Admin
*/
@JMSDestinationDefinition(name = "java:app/myQueue", interfaceName = "javax.jms.Queue", resourceAdapter = "jmsra", destinationName = "myQueue")
@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationLookup", propertyValue = "java:app/myQueue")
,
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
})
public class ReceiverMessageBean implements MessageListener {
public ReceiverMessageBean() {
}
@Override
public void onMessage(Message message) {
System.out.println("Receiver...");
if(message instanceof TextMessage) {
String msg;
try {
msg = ((TextMessage) message).getText();
System.out.println("msg > " + msg);
} catch (JMSException ex) {
Logger.getLogger(ReceiverMessageBean.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package aptech;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Resource;
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 javax.jms.TextMessage;
/**
*
* @author Admin
*/
public class Main {
@Resource(mappedName = "java:app/myQueue")
private static Queue java_appMyQueue;
@Resource(mappedName = "jms/__defaultConnectionFactory")
private static ConnectionFactory java_appMyQueueFactory;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try {
// TODO code application logic here
sendJMSMessageToMyQueue("HELLO");
} catch (JMSException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
private static Message createJMSMessageForjava_appMyQueue(Session session, Object messageData) throws JMSException {
// TODO create and populate message to send
TextMessage tm = session.createTextMessage();
tm.setText(messageData.toString());
return tm;
}
private static void sendJMSMessageToMyQueue(Object messageData) throws JMSException {
Connection connection = null;
Session session = null;
try {
connection = java_appMyQueueFactory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer messageProducer = session.createProducer(java_appMyQueue);
messageProducer.send(createJMSMessageForjava_appMyQueue(session, messageData));
} finally {
if (session != null) {
try {
session.close();
} catch (JMSException e) {
}
}
if (connection != null) {
connection.close();
}
}
}
}
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)