论坛首页 Java企业应用论坛

OpenJMS(java消息服务的一个实现)的使用

浏览 5783 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-12-13  

Openjms的使用

jms:java message service中文名字是“java消息服务”
Openjms是实现jms的一个开源程序,它包含一个服务器端和一堆的编程调用jar包。

官方当然有英文版的使用说明,这里只是说说我使用openjms的一些过程。
按照官方的要求,使用openjms分为4个步骤:
1、下载
2、安装
3、启动(启动服务器端)
4、使用

 

  • 1、下载
  • http://nchc.dl.sourceforge.net/project/openjms/openjms/openjms-0.7.7-beta-1/openjms-0.7.7-beta-1.zip
       在网站上之看到只看到一个beta版本,有点失望,不过还是看看吧

     

  • 2、安装
  • 要求:java2运行环境
    (1)解压压缩包
    (2)设置环境变量
    java_home java运行环境,java_home=c:\Program File\java\jdk1.6.0_17
    openjms_home 解压之后的openjms路径openjms_home=e:\Program Files\openjms(建议将0.7.0这种东西去掉,在java中.号比较特殊,在加载类的时候可能导致错误)
    (3)配置数据库
    1)加入数据库驱动(本例中使用mysql数据库),在%OPENJMS_HOME%\bin\setenv.bat中设置
    rem Configures the JDBC driver
    set CLASSPATH=%OPENJMS_HOME%/extlib/mysql-connector-java-5.1.5-bin.jar(注:我是将mysql的驱动放入到openjms目录中,新建了一个外部jar包目录extlib)
    2)修改数据库配置文件,$OPENJMS_HOME/config/openjms.xml
    <DatabaseConfiguration>
          <RdbmsDatabaseConfiguration
            driver="com.mysql.jdbc.Driver"
            url="jdbc:mysql://127.0.0.1:3306/openjms"
            user="root"
            password="123456" />
        </DatabaseConfiguration>
    注释掉: set JAVA_OPTS=%JAVA_OPTS% -Dderby.system.home=%OPENJMS_HOME%\db??
    3)创建数据表
    bin/dbtool.bat -create -config %OPENJMS_HOME%\config\openjms.xml
    如果上面的批处理无法创建数据库表,请手动创建,创建数据库的脚本在$OPENJMS_HOME/db/sql中create_mysql.sql,至此,基本安装结束,准备启动

     

  • 3、启动openjms服务器端
  • bin/startup.bat   就可以启动了,如果一切正常,将会出现
    Server accepting connections on tcp://127.0.0.1:3035/   的类似字样
    当然也在命令行中检验一下端口是否开启 netstat -an|find "3035"

     

  • 4、应用(测试)
  • 4-1、第一种测试方法
    (1)创建一个新的java project
    (2)导入需要的jar包(详细的jar包关系依赖请查看文档docs/usersguide/jars.html)
    openjms-0.7.7-beta-1.jar
    jms-1.1.jar
    jndi-1.2.1.jar
    openjms-0.7.7-beta-1.jar
    openjms-common-0.7.7-beta-1.jar
    openjms-net-0.7.7-beta-1.jar
    commons-codec-1.3.jar
    commons-logging-1.0.4.jar
    concurrent-1.3.4.jar
    spice-jndikit-1.2.jar
    (3)利用%openjms_home%\examples\basic 中的例子测试一下
    将Sender.java和Receiver.java  copy到工程当中去,带参数queue1运行Sender可以看到发送成功,然后带参数queue1运行Receiver可以看到接收到了消息,至此验证完毕。(注:这里之所以都带参数queue1运行程序,是因为在默认的配置中(%openjms_home%\config\openjms.xml),配置了目的地queue1)


    4-2、第二种测试方法
    cd %openjms_home%\examples\basic
    build.bat(执行)
    这个是讲目录中的java文件编译为class文件
    1)run.bat Sender queue1
    2)run.bat Receiver queue1
    这个是调用发送和接受方法进行消息的传递
    如果整个过程没有报错,你会看到对应的结果


     

       发表时间:2010-12-14  
    OpenJMS社区活跃程度、关注度、产品使用程度都远远没有ActiveMQ那么广泛。
    0 请登录后投票
       发表时间:2010-12-15  
    glassFish用的是这个,还可以,只是netbeans的教程里没有远端client访问server jms 的方法,还是需要看OpenJms。
    而OpenJms里的说明又不包含glassFish集成的方式。从Server和Client访问有差异。
    0 请登录后投票
       发表时间:2010-12-15  
    nick.s.ni 写道
    glassFish用的是这个,还可以,只是netbeans的教程里没有远端client访问server jms 的方法,还是需要看OpenJms。
    而OpenJms里的说明又不包含glassFish集成的方式。从Server和Client访问有差异。

    GlassFish用的是OpenMQ
    0 请登录后投票
       发表时间:2010-12-15  
    是的,glassfish使用的是OpenMQ,还挺不错的。
    0 请登录后投票
       发表时间:2011-01-25  
      已经做的项目用的是 ACTIVEMQ ,从介绍来看,这个管理功能不错。
    0 请登录后投票
    论坛首页 Java企业应用版

    跳转论坛:
    Global site tag (gtag.js) - Google Analytics