Novell exteNd Messaging Platform 5.2

Java Message Service (JMS) - README

Contents

Introduction

Welcome to Novell exteNd Messaging Platform's JMS - a 100% pure Java implementation of the Java Messaging Service (JMS) API based on high performance, scalable and enterprise class IIOP support in the Novell exteNd Messaging Platform's ORB. The JMS server is fully compliant with version 1.1 of the JMS specification and implements all features, including transactional messaging and concurrent message processing using the ServerSession API.

With support for both the point-to-point (PTP) and publish/subscribe (Pub/Sub) messaging models, Novell exteNd Messaging Platform's JMS is a very flexible messaging system, which can be used in enterprise systems with very diverse and stringent requirements. In addition to the standard JMS features, several value-added functions, including built-in system name space, security, and administration are provided.

This release includes support for clustering (fault tolerance and load balancing), improved memory management, and HTTP client connectivity via the ORB's HTTP tunnel. Furthermore, the 5.2 release supports message start times, a new individual message acknowledge mode, additional databases and platforms, and runtime monitoring of the JMS server's properties. Please consult the datasheet for a full list of features.

What's New

Version 5.2 is a maintenance and bug fix release. Version 5.1 introduces the following new features:

System Requirements

The JMS server requires Java 2, ORB version 5.2 (or higher), and JNDI 1.2 (with COS Naming provider). Database access is required for persisting messages and maintaining security, queue, and topic information. You need database client software, including the JDBC driver, and any configuration necessary to enable Java applications to connect to the database. The following databases are supported:

The JMS clients have the same requirements as the JMS server except that the clients do not require a database.

Getting Started

Once you've installed the Novell exteNd Messaging Platform, you must configure the environment. If a database was successfully created as part of the installation procedure, the environment has already been configured accordingly. Otherwise, please perform the following steps to configure and startup the JMS server:

  1. To use Java 2 Runtime that shipped with Novell eXtend AppServer, prepend $SilverStream_InstallDirectory/jre/bin to your PATH environment variable. Otherwise, ensure that your preferred version of Java in included in the PATH.

  2. To run the JMS server and tools, make sure that the top-level bin directory is in your path:

  3. If you have not installed the ORB as a Java 2 extension, ensure that the JVM can locate the ORB native library:

  4. Nothing needs to be done for Windows and NetWare, as the library path is the same as the regular PATH environment variable.

  5. Update the system CLASSPATH environment variable to include a suitable JDBC driver. For instance:

  6. You can also copy these libraries into the top-level lib directory as the binaries automatically add all jar and zip files in this directory to the CLASSPATH before executing. If the ORB was not installed as an extension, you also need to add mp-orb.jar to your CLASSPATH.

  7. Edit the msgsvc.logs property in the lib/msgsvc.properties file to specify where the error and advisory messages are written. Also edit the msgsvc.name and msgsvc.port properties to change server name and port settings if necessary.

  8. Edit the msgsvc.jdbc.* properties in the lib/msgsvc.properties file to specify an existing Sybase Adaptive Server Anywhere 8.0, Oracle 8.1.x/9i, Microsoft SQL Server 2000, or Cloudscape 3.6/4.0 database and user.

    For Oracle 8.1.x/9i using the Oracle thin JDBC driver:

       msgsvc.store=ORACLE
       msgsvc.jdbc.driver=oracle.jdbc.pool.OracleConnectionPoolDataSource
       msgsvc.jdbc.url=jdbc:oracle:thin:@localhost:1521:SID
       msgsvc.jdbc.user=scott
       msgsvc.jdbc.password=tiger
       msgsvc.jdbc.minpoolsize=10
       msgsvc.jdbc.maxpoolsize=20
    

    For Sybase Adaptive Server Anywhere 8.0 using jConnect for JDBC 5.5:

       msgsvc.store=ASAnywhere
       msgsvc.jdbc.driver=com.sybase.jdbc2.jdbc.SybDriver
       msgsvc.jdbc.url=jdbc:sybase:Tds:localhost:2638/databasename
       msgsvc.jdbc.user=dba
       msgsvc.jdbc.password=sql
       msgsvc.jdbc.minpoolsize=10
       msgsvc.jdbc.maxpoolsize=20
       msgsvc.jdbc.maxmsgsize=1048576
    

    For Microsoft SQL Server 2000 using Merant JDBC driver:

       msgsvc.store=SQLServer
       msgsvc.jdbc.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
       msgsvc.jdbc.url=jdbc:microsoft:sqlserver://localhost:1433;SelectMethod=cursor
       msgsvc.jdbc.user=test
       msgsvc.jdbc.password=secret
       msgsvc.jdbc.minpoolsize=10
       msgsvc.jdbc.maxpoolsize=20
    

    For IBM DB2 Universal Database Version 7.x using the DB2 thin JDBC driver:

       msgsvc.store=DB2
       msgsvc.jdbc.driver=COM.ibm.db2.jdbc.net.DB2Driver
       msgsvc.jdbc.url=jdbc:db2://localhost:6789/database
       msgsvc.jdbc.user=db2admin
       msgsvc.jdbc.password=db2password
       msgsvc.jdbc.minpoolsize=10
       msgsvc.jdbc.maxpoolsize=20
    

    For IBM Informix Dynamic Server 9 using the Informix thin JDBC driver:

       msgsvc.store=Informix
       msgsvc.jdbc.driver=com.informix.jdbc.IfxDriver
       msgsvc.jdbc.url=jdbc:informix-sqli:localhost:1526/database:INFORMIXSERVER=servername
       msgsvc.jdbc.user=user
       msgsvc.jdbc.password=password
       msgsvc.jdbc.minpoolsize=10
       msgsvc.jdbc.maxpoolsize=20
    

    For MySQL using using MySQL Connector/J Driver:

       msgsvc.store=mySQL
       msgsvc.jdbc.driver=com.mysql.jdbc.Driver
       msgsvc.jdbc.url=jdbc:mysql://localhost/database
       msgsvc.jdbc.user=mysql
       msgsvc.jdbc.password=secret
       msgsvc.jdbc.minpoolsize=10
       msgsvc.jdbc.maxpoolsize=20
    

    For Cloudscape 3.6/4.0:

       msgsvc.store=Cloudscape
       msgsvc.jdbc.driver=COM.cloudscape.core.JDBCDriver
       msgsvc.jdbc.url=jdbc:cloudscape:DBNAME;create=true
       msgsvc.jdbc.user=
       msgsvc.jdbc.password=
       msgsvc.jdbc.minpoolsize=10
       msgsvc.jdbc.maxpoolsize=20
    

    You must edit the entries in bold for to connect properly to the database. Note that for Cloudscape, you only need to add create=true to the URL when you are first creating the database.

  9. If you are upgrading from a previous release of the JMS server, migrate the database. Otherwise, create JMS server tables in the database by running:

       dbinit -create
    

    If you are using Sybase Adaptive Server, Oracle, DB2 or Microsoft SQL server to store your tables, the database must be running before you execute the above command. When using the Sybase Adaptive Server database, the port in the properties file must match the port on which the database is running. The following command illustrates how to start the database on port 2638:

       dbeng6 -b -x tcpip(ServerPort=2638) databasename
    

    Where the 'databasename' parameter corresponds to the database that will contain the JMS server's system tables. NOTE: Sybase Adaptive Server also supplies a dbinit command. To make sure that you are running the correct dbinit program, make the top-level bin directory appear before any Sybase Adaptive Server Anywhere entries on the PATH.

    If the Sybase Adaptive Server database is already running and you are unsure of the listener's port number, you can use a tool like netstat to find the port information. For the Sybase Adaptive Server database, netstat will display two similar lines where the state of the TCP ports is LISTENING.

  10. Start the JMS server by running

       jmqserv
    

    If you are using JDK 1.4, we recommend using the server VM, i.e. start JMS server using the following command:

       jmqserv -J-server
    

Please refer to the FAQ for installation problems.

Migration from Previous Versions

The database schema used by version 5.2 is not compatible with versions prior to 2.1. You have two migration options:

  1. To save the security, queue or topic settings that you defined in a previous version, use the database migration tool described below.

  2. To discard the security, queue, or topic settings that you defined in a previous version, use the destroy tool described below.

To migrate the database and save your data:

  1. Stop the JMS server if it is running

  2. Backup the database

  3. If you are also upgrading from Cloudscape 3.6 to 4.0, append upgrade=true to the URL in the msgsvc.properties file

  4. Type the following:

       dbinit -migrate
    

    Please be patient and give the migration program time according to the size of your database. A small database with less than 20 destinations and a few hundred messages will typically migrate in less than ten seconds, but larger databases will take longer.

NOTE: Once you migrate the database, you can no longer access it using a previous version of the JMS server. The migration tool can migrate both the database from version 1.0, 1.1, 1.3, 2.0 and 2.1 of JMS.

To migrate the database without saving data:

  1. Stop the JMS server if it is running.

  2. Type the following:

  3.    dbinit -destroy
    

    NOTE: Once you use the -destroy option, you can no longer access the topics, queues, or destinations it used to contain. Once the previous schema has been destroyed, you can create a new schema using the usual 'dbinit -create' command.

Documentation

The following documentation is included.

Sample Programs

The Novell exteNd Messaging Platform's JMS comes with a number of pre-built examples. These examples show how to use most of the features of the JMS product. The JMS tutorial contains a detailed description of each example. The Java source for the examples can be found in the examples/jms directory.

Resources on the Internet

There are many JMS resources available on the Internet:

Back to top.



Copyright © 2003, 2004 Novell, Inc. All rights reserved. Copyright © 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.