📄 xmessenger.java
字号:
/**
* XMessengerBean.java Created on 2003-12-23
*
*/
package com.liuyang.xmessenger.sessionbean;
import java.rmi.RemoteException;
import java.util.Hashtable;
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.jms.Session;
import javax.jms.TextMessage;
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;
/**
* @author liuyang
*
* @ejb.bean description="XMessengerBean"
* display-name="XMessengerBean"
* jndi-name="XMessengerBeanHomeRemote"
* name="XMessengerBean"
* type="Stateless"
* view-type="remote"
* transaction-type = "Container"
*
*
*/
public class XMessenger implements SessionBean {
/**
* @param msg
* @ejb.interface-method view-type = "remote"
*/
public void sendMsg(String msg){
TopicSession topicSession = null;
try {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
env.put(Context.PROVIDER_URL,"localhost");
Context context = new InitialContext(env);
topic = (Topic)context.lookup(TOPIC_JNDI);
TopicConnectionFactory factory = (TopicConnectionFactory)context.lookup(CONNECTION_JNDI);
topicConnection = factory.createTopicConnection();
TopicPublisher topicPublisher = null;
TextMessage message = null;
topicSession = topicConnection.createTopicSession(true, Session.AUTO_ACKNOWLEDGE);
topicPublisher = topicSession.createPublisher(topic);
message = topicSession.createTextMessage();
message.setText(msg);
topicPublisher.publish(message);
System.out.println("Publishing message " + msg);
} catch (Exception ex) {
ex.printStackTrace();
//ctx.setRollbackOnly();
throw new EJBException(ex.toString());
} finally {
if (topicSession != null) {
try {
topicSession.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (topicConnection != null) {
try {
topicConnection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
private static final String CONNECTION_JNDI = "ConnectionFactory";
private static final String TOPIC_JNDI = "topic/chatroom";
private Topic topic = null;
private TopicConnection topicConnection = null;
/**
* @ejb.create-method
*/
public void ejbCreate () {
/*try {
} catch (Exception ex) {
ex.printStackTrace();
throw new EJBException(ex.toString());
} */
}
public void ejbActivate() throws EJBException, RemoteException {
}
public void ejbPassivate() throws EJBException, RemoteException {
}
public void ejbRemove() throws EJBException, RemoteException {
/*if(topicConnection != null) {
try {
topicConnection.close();
} catch (Exception e) {
e.printStackTrace();
}
}*/
}
private SessionContext ctx;
public void setSessionContext(SessionContext sc)
throws EJBException, RemoteException {
ctx = sc;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -