?? bbdurable.java
字號:
import javax.naming.*;
import javax.jms.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class BBDurable extends JFrame implements MessageListener {
private Connection connection;
private Session session;
private MessageConsumer consumer;
private JTextArea textArea = new JTextArea(4,32);
public static void main(String[] args) {
BBDurable subscriber = null;
try {
subscriber = new BBDurable("jms/DurableTopicConnectionFactory","jms/bulletinBoard");
}
catch(Exception ex) {
System.err.println("Exception in BulletinBoardSubscriber: " + ex);
try {subscriber.close();} catch(Exception e){}
}
show (subscriber);
}
private static void show(final BBDurable subscriber) {
subscriber.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent ev) {
try {
subscriber.close();
} catch(Exception ex) {
System.err.println("Exception in BulletinBoardSubscriber: " + ex);
}
subscriber.dispose();
System.exit(0);
}
});
subscriber.setSize(500,400);
subscriber.setVisible(true);
}
public BBDurable(String JNDIconnectionFactory, String JNDItopic) throws JMSException, NamingException {
super (JNDIconnectionFactory+":"+JNDItopic);
getContentPane().add(new JScrollPane(textArea));
Context context = new InitialContext();
ConnectionFactory connectionFactory = (ConnectionFactory)context.lookup(JNDIconnectionFactory);
connection = connectionFactory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic bulletinBoard = (Topic)context.lookup(JNDItopic);
consumer = session.createDurableSubscriber(bulletinBoard,"BBS");
consumer.setMessageListener(this);
connection.start();
}
public void onMessage(Message message) {
System.out.println("Message "+message);
try {
if (message instanceof TextMessage) {
String bulletin = ((TextMessage) message).getText();
String text = textArea.getText();
textArea.setText(text+"\n"+bulletin);
}
} catch(JMSException ex) {
System.err.println("Exception in BulletinBoardSubscriber:OnMessage: " + ex);
}
}
public void close() throws JMSException {
connection.close();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -