📄 client.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 + -