介绍下JMS通信: 首先下载ActiveMQ http://activemq.apache.org/ 以下是Client和Server的代码实现:
Client代码:
package
com.jms.test;

import
javax.jms.Connection;
import
javax.jms.DeliveryMode;
import
javax.jms.Destination;
import
javax.jms.JMSException;
import
javax.jms.Message;
import
javax.jms.MessageConsumer;
import
javax.jms.MessageListener;
import
javax.jms.MessageProducer;
import
javax.jms.Session;
import
javax.jms.TextMessage;

import
org.apache.activemq.ActiveMQConnectionFactory;

public
class
Client
implements
MessageListener
{
private String url = "tcp://127.0.0.1:61616";

protected Connection createConnection() throws JMSException, Exception {
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
url);
Connection connection = connectionFactory.createConnection();

connection.start();
return connection;
}

protected Session createSession(Connection connection) throws Exception {
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
return session;
}

protected MessageProducer createProducer(Session session)
throws JMSException {
Destination destination = session.createQueue("queue.hello");
MessageProducer producer = session.createProducer(destination);
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

return producer;
}
public void onMessage(Message message){
try {
System.out.println("client: "+ ((TextMessage)message).getText());
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static void main(String[] args) {
try {
Client client = new Client();
Connection connection = client.createConnection();
Session session = client.createSession(connection);
Destination destination = session.createQueue("queue.hello");
MessageConsumer consumer = session.createConsumer(destination);

consumer.setMessageListener(client);
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}
Server代码
/**
*
*/
package
com.jms.test;

import
javax.jms.Connection;
import
javax.jms.DeliveryMode;
import
javax.jms.Destination;
import
javax.jms.JMSException;
import
javax.jms.MessageProducer;
import
javax.jms.Session;
import
javax.jms.TextMessage;

import
org.apache.activemq.ActiveMQConnectionFactory;

/**
* @author Sui
*
*/
public
class
Server
{

private String url = "tcp://127.0.0.1:61616";

protected Connection createConnection() throws JMSException, Exception {
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
url);
Connection connection = connectionFactory.createConnection();

connection.start();
return connection;
}

protected Session createSession(Connection connection) throws Exception {
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
return session;
}

protected MessageProducer createProducer(Session session)
throws JMSException {
Destination destination = session.createQueue("queue.hello");
MessageProducer producer = session.createProducer(destination);
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

return producer;
}

public static void main(String[] args) {
try {
Server server = new Server();
Connection connection = server.createConnection();
Session session = server.createSession(connection);
MessageProducer producer = server.createProducer(session);
TextMessage message = session.createTextMessage();
message.setText("Hello !");

producer.send(message);
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}
注:在运行server前要启动activemq
需要导入工程的库文件: activemq-core-5.0.0.jar geronimo-jms_1.1_spec-1.0.jar commons-logging-1.1.jar geronimo-j2ee-management-1.0_spec-1.0 在apache-activemq的lib文件夹下
Client代码:


















































































Server代码













































































注:在运行server前要启动activemq
需要导入工程的库文件: activemq-core-5.0.0.jar geronimo-jms_1.1_spec-1.0.jar commons-logging-1.1.jar geronimo-j2ee-management-1.0_spec-1.0 在apache-activemq的lib文件夹下