⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sendclient.java

📁 精通Jboss——Ejb和Web Services开发精解的随书源代码
💻 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 + -