📄 sendclient.java
字号:
/*
* Created on 2003-7-15
*/
package com.liuyang.jboss.message.jms.topic;
/**
* @author 刘洋
*
*/
import java.io.Serializable;
import java.util.Enumeration;
import java.util.Hashtable;
import javax.jms.BytesMessage;
import javax.jms.DeliveryMode;
import javax.jms.JMSException;
import javax.jms.MapMessage;
import javax.jms.Message;
import javax.jms.ObjectMessage;
import javax.jms.StreamMessage;
import javax.jms.Topic;
import javax.jms.TopicConnection;
import javax.jms.TopicConnectionFactory;
import javax.jms.TopicPublisher;
import javax.jms.TopicSession;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
*
* @version 1.0 Edit on 2003-7-14 9:39:27
* @author
* <a href="mailto:liuyang@softtouchit.com">刘洋</a>
*
*/
public class SendClient {
public static void main(String[] args) {
SendClient client = new SendClient();
try {
client.setup();
client.send("刘洋");
client.stop();
} catch (NamingException e) {
e.printStackTrace();
} catch (JMSException e) {
e.printStackTrace();
}
}
private TopicSession session;
private Topic topic;
private TopicConnection conn;
private TopicPublisher send ;
private Context iniCtx;
public void setup() throws NamingException, JMSException{
/*Properties properties = System.getProperties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,"org.jboss.naming.HttpNamingContextFactory");
properties.put(Context.PROVIDER_URL,"http://127.0.0.1:8080/invoker/JNDIFactory");
iniCtx = new InitialContext(properties);
Object tmp = iniCtx.lookup("HTTPConnectionFactory");
TopicConnectionFactory tcf = (TopicConnectionFactory) tmp;
*/
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
env.put(Context.PROVIDER_URL,"localhost");
Context iniCtx = new InitialContext(env);
Object tmp = iniCtx.lookup("ConnectionFactory");
TopicConnectionFactory tcf = (TopicConnectionFactory) tmp;
topic = (Topic)iniCtx.lookup("topic/topictest");
conn = tcf.createTopicConnection();
session = conn.createTopicSession(false,TopicSession.AUTO_ACKNOWLEDGE);
conn.start();
send = session.createPublisher(topic);
System.out.println("conn.start()");
}
public void stop() throws JMSException{
send.close();
conn.stop();
session.close();
System.out.println("session.close()");
conn.close();
System.out.println("conn.close()");
try {
if(iniCtx!=null)
iniCtx.close();
} catch (NamingException e) {
e.printStackTrace();
}
}
public String send(Serializable data) throws JMSException{
ObjectMessage om = session.createObjectMessage(data);
om.setObject("");
om.setStringProperty("name","liuyang");
MapMessage mapmsg = session.createMapMessage();
mapmsg.setString("name","value");
mapmsg.setBoolean("boolean",true);
mapmsg.setDouble("double",1000);
mapmsg.setLong("long",1000);
String Stringvalue = mapmsg.getString("name");
boolean booleanvalue = mapmsg.getBoolean("boolean");
double doublevalue = mapmsg.getDouble("double");
long longvalue = mapmsg.getLong("long");
Message msg = null;
msg.setStringProperty("name","value");
//String msg.getStringProperty("name");
//boolean msg.getBooleanProperty("name");
Enumeration d;
msg.getPropertyNames();
send.publish(om,DeliveryMode.NON_PERSISTENT,7,3000);
System.out.println("send.publish(om)");
return "send ok";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -