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

📄 client.java

📁 自己编写的服务器端jboss向client端发送message的程序
💻 JAVA
字号:
import java.io.IOException;
import java.util.Hashtable;

import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueReceiver;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanException;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.management.ReflectionException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import org.jboss.jmx.adaptor.rmi.RMIAdaptor;


public class Client implements MessageListener {

	private Hashtable env;
	private Context context;
	private QueueConnectionFactory queueConnectionFactory;
	private RMIAdaptor server;
	private QueueConnection queueConnection;
	private QueueSession queueSession = null;
	private QueueReceiver queueReceiver;
	private ClientFrame cf;
	
	
	public Client(String jbossURL){
		try {
            env = new Hashtable();
            env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.NamingContextFactory");
            env.put(Context.PROVIDER_URL, jbossURL);
            context = new InitialContext(env);
            queueConnectionFactory = (QueueConnectionFactory) context.lookup("QueueConnectionFactory");
            server = (RMIAdaptor) context.lookup("jmx/rmi/RMIAdaptor");
            doListening();   
        } catch (Exception e) {
            e.printStackTrace();
        }
	}
	
	public void setClientFrame(ClientFrame cf){
		this.cf = cf;
	}
	
	public void doTransaction(String userNameA, String userNameB, float account) throws MalformedObjectNameException, InstanceNotFoundException, NullPointerException, MBeanException, ReflectionException, IOException{
		invoke("doTransaction",new Object[]{userNameA,userNameB, account},new String []{"java.lang.String","java.lang.String","float"});
	}

	private Object invoke(String operationName, Object[] args, String[] types) throws MalformedObjectNameException, NullPointerException, InstanceNotFoundException, MBeanException, ReflectionException, IOException {
		Object res = null;
        ObjectName on = new ObjectName("BankService:service=doTansaction");
        res = server.invoke(on, operationName, args, types);
        return res;
	}

	private void doListening() throws JMSException, NamingException {
		queueConnection = queueConnectionFactory.createQueueConnection();
		queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
		Queue queue = (Queue) context.lookup("queue/A");
		queueReceiver = queueSession.createReceiver(queue);
		queueConnection.start();
		System.out.println("aaaaaaaaaaaa");
		queueSession.setMessageListener(this);
		System.out.println("CCCCCCCCCCC");
	}

	public void onMessage(Message msg) {
		try {
			System.out.println("bbbbbbbbbbbbbb");
			System.out.println(msg);
			cf.setOutput(((TextMessage)msg).getText());
		} catch (JMSException e) {
			// TODO Auto-generated catch block
			System.out.println(msg);
			e.printStackTrace();
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -