📄 messageproducer.java
字号:
package bankaccount;
import javax.jms.*;
import javax.naming.*;
public final class MessageProducer extends BaseClient{
private QueueConnection queueConnection = null;
private QueueSender queueSender = null;
private QueueSession queueSession = null;
private Queue queue = null;
private MapMessage msg = null;
public MessageProducer(String [] argv) throws Exception
{
super(argv);
try {
Context ctx = getInitialContext();
QueueConnectionFactory factory = (QueueConnectionFactory)
ctx.lookup("weblogic.jms.ConnectionFactory");
queueConnection = factory.createQueueConnection();
// Create a non-transacted JMS Session
queueSession =
queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
queue = (Queue) ctx.lookup("MessageQueue");
queueSender = queueSession.createSender(queue);
msg = queueSession.createMapMessage();
queueConnection.start();
} catch (Exception e) {
System.err.println("Error while attempting to connect to the "+
"server and lookup the JMS QueueConnectionFactory.");
}
}
public static void main(String[] argv) throws Exception
{
MessageProducer producer = new MessageProducer(argv);
producer.send(5004, "Li Peng", 1000,1);
producer.send(5005, "Tom Hank",200,2);
producer.send(5007, "FengLin ",30, 3);
producer.kill();
}
public void send(int accountid, String ownername,float accountvalue,
int accountlevel) throws JMSException
{
try {
msg.clearBody();
msg.setInt("accountID", accountid);
msg.setString("ownerName", ownername);
msg.setFloat("accountValue", accountvalue);
msg.setInt("accountLevel", accountlevel);
queueSender.send(msg);
} catch (JMSException e) {
System.err.println("Failed while sending to queue: MessageQueue");
}
}
public void kill() throws JMSException{
try {
queueSender.close();
queueSession.close();
queueConnection.close();
} catch (JMSException e) {
System.err.println("Failed while closing JMS resources.");
e.printStackTrace();
throw e;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -