eg:新建java项目JMSLession 1.导入jar包
webservices.jar wlclient.jar wljmsclient.jar2.新建消息发送类MessageSender.java消息发送类
public class MessageSender { //3.测试 public static void main(String[] args) { // TODO Auto-generated method stub try { MessageSender ms = new MessageSender(); ms.sendMessage(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } //2.发送消息:向weblogic服务器发送消息 public void sendMessage() throws Exception { //定义WebLogic默认的连接工厂的JNDI final String CONNECTION_FACTORY_JNDI = "weblogic.jms.ConnectionFactory"; //获取JNDI服务的context对象 Context ctx = getInitialContext(); //1.通过JNDI查找获取连接工厂对象 ConnectionFactory connFactory = (ConnectionFactory) ctx.lookup(CONNECTION_FACTORY_JNDI); //7.通过JNDI查找获取消息目的(配置的资源名称MessageQueue) Destination dest = (Destination) ctx.lookup("MessageQueue"); //2.通过连接工厂创建一个连接对象(创建真正的连接对象) Connection conn = connFactory.createConnection(); //3.利用jms连接创建jms会话 1.false 非事务性会话(没有提交过程) AUTO_ACKNOWLEDGE 自动确认模式 一旦确认消息就会确认消息接收 Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); //4.利用JMS会话创建消息的生产者 dest消息目的(8.消息生产者产生的消息给消息队列/目的) MessageProducer sender = session.createProducer(dest); //5.设置消息生产者生产出来的消息的传递模式 有效时间 PERSISTENT 持久 sender.setDeliveryMode(DeliveryMode.PERSISTENT); sender.setTimeToLive(20000); //5.通过JMS会话创建一个空的消息文本 TextMessage msg = session.createTextMessage(); //6.设置向消息队列发送的数据 msg.setText("HELLOWORLD"); //发送消息(正式发送) sender.send(msg); msg.setText("WELCOME TO JMS"); sender.send(msg); session.close(); //9.关闭JMS连接 conn.close(); } //1.用来获取命名服务的Context对象 获取服务容器对象 private Context getInitialContext() throws Exception { //定义初始化工厂 final String INIT_FACTORY = "weblogic.jndi.WLInitialContextFactory"; //定义服务器地址,t3协议等同http协议,weblogic提供的固有的。 final String SERVER_URL = "t3://localhost:7001"; Context ctx = null; //容器的初始化过程 //属性对象Properties:存放一个键值对的组合,类似HasMap Properties props = new Properties(); //通过属性对象来封装创建容器对象的工厂命名和weblogic服务器的URL props.put(Context.PROVIDER_URL, SERVER_URL); props.put(Context.INITIAL_CONTEXT_FACTORY, INIT_FACTORY); ctx = new InitialContext(props); return ctx; } }可以在WebLogic的JMS模块里的资源概要的监视里看到发送消息的条数