Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Jbuilder8开发J2ee学习笔记(6)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

Jbuilder8开发J2ee学习笔记(6)

                                                                          作者:缪青

开发JMS

1.建立JMS

首先建立JMS,由于需要调用SessionBean所以加入一个FieldsessHome”,注意类型一定是SessHome。对于JMS的一些参数都是我们在前面Weblogic6.1配置中所提前配置好的,忘了的话,回去看看。

 

这样一个简单的点对点的JMS接收器就差不多了。

2.书写代码

  public void onMessage(Message msg) {

    try {

      TextMessage TMS = (TextMessage) msg;

      String a1 = TMS.getText();

      String b1 = a1;

      System.out.println("Message getted Is :" + a1 + ">>>>>>>>>>>OK");

      Context context = getInitialContext();

      Object ref = context.lookup("SessBean");

      sessHome = (SessHome) PortableRemoteObject.narrow(ref, SessHome.class);

      sessHome.create().insTableAa11(a1, b1);

      //这是通过SessioninsTableAa11调用EntityBeanejbHomeEjbInsertAa11

      //功能其是很简单,插入Aa11表一条记录(a1,a1)

    }

    catch (Exception ex) {

      ex.printStackTrace();

    }

  }

代码很简单,几乎和SessionBean的测试端代码差不多,没什么问题吧。

3.发布JMS

和上一节讲的一样,使用ReDelpoy发布EJBWeblogic6.1

4.开发测试程序

现在要开发JMS的发布端了,这里只要新建一个CLASS就可以了。

代码下面给出:

package userjmssesenbdb;

import java.util.*;

import javax.jms.*;

import javax.naming.*;

 

public class Client {

  public final static String

      JNDI_FACTORY = "weblogic.jndi.WLInitialContextFactory";

  public final static String URL = "t3://127.0.0.1:7001";

  private static final String QUEUE_CONNECTION_FACTORY =

      "DemoJMSConnectionFactory";

  private static final String QUEUE = "DemoJMSQueue";

  private static InitialContext getInitialContext(String url) throws

      NamingException {

    Hashtable env = new Hashtable();

    env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);

    env.put(Context.PROVIDER_URL, url);

    return new InitialContext(env);

  }

 

  public static void main(String[] args) throws Exception {

    Context ctx = getInitialContext(URL);

    QueueConnectionFactory qConnFact =

    (QueueConnectionFactory) ctx.lookup(QUEUE_CONNECTION_FACTORY);

    QueueConnection qConn = qConnFact.createQueueConnection();

    QueueSession qSess = qConn.createQueueSession(false,

                                                  Session.AUTO_ACKNOWLEDGE);

    Queue q = (Queue) ctx.lookup(QUEUE);

    QueueSender qSend = qSess.createSender(q);

 

    TextMessage txtMsg = qSess.createTextMessage("c");

    System.out.println("Sending a message to queue");

    qSend.send(txtMsg);

    //---------------------------------------------------------//

    txtMsg = qSess.createTextMessage("a");

    System.out.println("Sending a message to queue");

    qSend.send(txtMsg);

    //---------------------------------------------------------//

    qConn.close();

    System.exit(0);

  }

}

看懂了么,其实就是发送“c”,“a”到接收端。执行一下,是不是数据表aa11中又多了2条记录。




相关文章

相关软件