Install WebSphere embedded messaging as the JMS provider

 


Overview

There are two Embedded Messaging install options:

  1. Embedded Messaging Server
  2. Installs the messaging server functions of the WebSphere JMS provider, supporting both queues and topics

  3. Embedded Messaging Client
  4. Installs the messaging client functions that enable applications running in WebSphere Application Server to communicate with the WebSphere JMS provider.

Before you install the embedded messaging options of IBM WAS, complete the following steps:

  1. If you want to install embedded messaging on a machine where you already have MQ installed, ensure that you have upgraded to MQ 5.3 with the required MQ features:

    1. If you have the original MQ 5.3 release installed, ensure that you have applied the CSD03 update.

      To determine if your MQ 5.3 installation is at the required level, run the mqver utility provided by MQ. The required level as indicated by mqver is shown below:

      Name:        MQ
      Version:     530.3  CSD03
      CMVC level:  p530-CSD03J
      BuildType:   IKAP - (Production)
      
      

      In comparison, earlier levels of the MQ 5.3 release have indicated levels such as p000-L020617 and p000-L021011.

      For more information about CSD03, see the MQ support page for your platform.

    2. Ensure that you have installed the following MQ features:

      • For a WAS Embedded Messaging Server installation, the required MQ features are "Server" and "Java Messaging".

      • For a WAS Embedded Messaging Client installation, the only required MQ feature is "Java Messaging".

    If you have not installed MQ 5.3 with the required MQ features, then installation of IBM WAS Embedded Messaging options fails with prerequisite check errors.

    The WAS Enterprise package includes copies of the MQ 5.3 and Event Broker installation packages, with restricted licensing. (MQ Event Broker is not available for Linux.) One can use the provided packages to install the required MQ features or WebSphere MQ 5.3 for use with WAS Enterprise.

    One can get MQ books from:

    http://www-3.ibm.com/software/ts/mqseries/library/manualsa/manuals/platspecific.html

  2. Ensure that there is enough space in the file systems where you want to install the Embedded Messaging options and store associated messaging data. On UNIX platforms, you also need to create the required file systems before installing the embedded messaging feature.

  3. The file system into which the Embedded Messaging options are installed is fixed. The following table lists the default locations for the base messaging functions and the messaging broker functions (for publish/subscribe messaging). The table also provides figures for the file system sizes on which you can base your own calculations.
    Installation directory and space needed for embedded messaging - UNIX platforms

     

    Base code Broker code Base data Broker data
     

    /usr/mqm /usr/opt/wemps /var/mqm /var/wemps
    AIX 40MB (server) or 15MB (client) 80MB (server) or 15MB (client) 8MB (server) or 5MB (client) 5MB (server)
     

    /opt/mqm /opt/wemps /var/mqm /var/wemps
    Linux/Intel 40MB (server) or 15MB (client) 100MB (server) or 15MB (client) 8MB (server) or 5MB (client) 5MB (server)
    HP-UX 40MB (server) or 15MB (client) 105MB (server) or 15MB (client) 8MB (server) or 5MB (client) 5MB (server)
    Solaris 40MB (server) or 15MB (client) 70MB (server) or 15MB (client) 20MB (server) or 15MB (client) 5MB (server)


    Before you install WebSphere embedded messaging, create and mount a journalized file system called /var/mqm for your messaging working data. Use a partition strategy with a separate volume for the WebSphere MQ data. This means that other system activity is not affected if a large amount of messaging work builds up in /var/mqm. One can also create separate file systems for your log data (var/mqm/log) and error files (var/mqm/errors). Store log files on a different physical volume from the Embedded Messaging queues (var/mqm). This ensures data integrity in the case of a hardware failure. If you are creating separate file systems, allow a minimum of 30 MB of storage for /var/mqm, 20 MB of storage for /var/mqm/log, and 4 MB of storage for /var/mqm/errors.

    Note: The /var file system is used to store all the security logging information for the system, and is used to store the temporary files for email and printing. Therefore, it is critical that you maintain free space in /var for these operations. If you do not create a separate file system for messaging data, and /var fills up, all security logging will be stopped on the system until some free space is available in /var. Also, email and printing will no longer be possible until some free space is available in /var.

    You have the same options for creating file systems for Embedded Messaging as you do for WebSphere MQ. For example:

    • If you cannot install the Embedded Messaging options in the required file system (for example, if it is too small), you can do one of the following before installing the Embedded Messaging options:

      • Create and mount a new file system for the installation directory.

      • Create a new directory anywhere on your machine, and create a symbolic link from the required installation directory to the new directory. For example, on AIX:

        mkdir /bigdisk/mqm
        ln -s /bigdisk/mqm /usr/mqm
        
        

  4. Define the operating system groups and users needed for embedded messaging:

    • (UNIX platforms only)

      1. If you have not already done so, create the groups mqm and mqbrkrs.

      2. Add the users mqm and root to the mqm group.

      3. Add the user root to the mqbrkrs group.

        Notes:

        1. You are recommended to run the JMS server process under the root user ID. If you run the JMS server process under another user ID, add that user ID to the mqm and mqbrkrs groups

          For more information about running servers under a non-root user ID, see Running an Application Server with a non-root user ID and the nodeagent as root.

        2. User IDs longer than 12 characters cannot be used for authentication with the embedded WebSphere JMS provider.

    • (Solaris only) Several Solaris kernel values are typically too small for the Embedded Messaging options. Start the internal JMS server or client with insufficient kernel resources produces a First Failure Support Technology (FFST) file in the /var/mqm/errors directory.

      Before installing Embedded Messaging, review the machine's configuration. To do this type the following command:

      sysdef -i
      
      

      The kernel values are set in the /etc/system file, as shown in the following example.

      set shmsys:shminfo_shmmax = 4294967295
      set shmsys:shminfo_shmseg = 1024
      set shmsys:shminfo_shmmni = 1024
      set semsys:seminfo_semaem = 16384
      set semsys:seminfo_semmni = 1024
      set semsys:seminfo_semmap = 1026
      set semsys:seminfo_semmns = 16384
      set semsys:seminfo_semmsl = 100
      set semsys:seminfo_semopm = 100
      set semsys:seminfo_semmnu = 2048
      set semsys:seminfo_semume = 256
      set msgsys:msginfo_msgmap = 1026
      set msgsys:msginfo_msgmax = 65535
      set rlim_fd_cur=1024
      
      

      One can change kernel values by editing the /etc/system file then rebooting the operating system. For more information about setting up the Solaris system, see the  

       

      Solaris System Administration documentation ; for example, the  

       

      Solaris Tunable Parameters Reference Manual .

      Note: Queue managers are generally independent of each other. Therefore system kernel parameters, for example shmmni, semmni, semmns, and semmnu need to allow for the number of queue managers in the system.

    • (HP-UX only) Several HP-UX kernel values are typically too small for the Embedded Messaging options. Start the internal JMS server or client with insufficient kernel resources produces a First Failure Support Technology (FFST) file in the /var/mqm/errors directory.

      Before installing Embedded Messaging, review the machine's configuration and, if needed, set appropriate HP-UX kernel settings.

      You should set new values for the following messaging-related kernel parameters (along with the base set of kernel parameters required by IBM WAS):

      Parameter Value
      sema 1
      semaem 16384
      semmns 16384
      semvmx 32767
      shmem 1


      This table lists only those messaging-related kernel parameters that either are extra to the base set or need values that are greater than given in the base set.

      For information about how to review and set the base set of kernel parameters for IBM WAS, see the item "Configure HP-UX kernel settings before installing" in Platform-specific tips for installing and migrating (HP-UX platforms).

      Note: Queue managers are generally independent of each other. Therefore system kernel parameters, for example shmmni, semmni, semmns, and semmnu need to allow for the number of queue managers in the system.

To install the Embedded Messaging options of WAS for use as the WebSphere JMS provider, complete the following steps:

 

  1. Login with the WAS process user ID (defined as part of the prerequisites)

    Note: (UNIX platforms only) Login as root.

  2. On a machine where you want to host queues or topics, install IBM WAS with the Embedded Messaging Server option. If you also want appservers on the host to run messaging applications, install the Embedded Messaging Client option.

    Both options are selected by default.

  3. On a machine where you want appservers to run messaging applications that use a JMS provider on another host, install IBM WAS with the Embedded Messaging Client option.

 

Results

This task has installed WebSphere Application Server with its embedded messaging as the JMS provider.

One can configure JMS resources to be provided by embedded messaging, by using the WAS admin console to define WebSphere JMS resources.

 

What to do next

(UNIX platforms only) Restrict access to the messaging errors directories and logging files; for example, by using the following commands:

  1. For the /var/mqm/errors directory:

    chmod 3777 /var/mqm/errors
    chown mqm:mqm /var/mqm/errors
    
    touch /var/mqm/errors/AMQERR01.LOG 
    chown mqm:mqm /var/mqm/errors/AMQERR01.LOG
    chmod 666 /var/mqm/errors/AMQERR01.LOG
    
    touch /var/mqm/errors/AMQERR02.LOG
    chown mqm:mqm /var/mqm/errors/AMQERR02.LOG
    chmod 666 /var/mqm/errors/AMQERR02.LOG
    
    touch /var/mqm/errors/AMQERR03.LOG
    chown mqm:mqm /var/mqm/errors/AMQERR03.LOG 
    chmod 666 /var/mqm/errors/AMQERR03.LOG
    
    

  2. For the /var/mqm/qmgrs/@SYSTEM/errors directory:

    chmod 3777 /var/mqm/qmgrs/@SYSTEM/errors
    chown mqm:mqm /var/mqm/qmgrs/@SYSTEM/errors
    
    touch /var/mqm/qmgrs/@SYSTEM/errors/AMQERR01.LOG 
    chown mqm:mqm /var/mqm/qmgrs/@SYSTEM/errors/AMQERR01.LOG
    chmod 666 /var/mqm/qmgrs/@SYSTEM/errors/AMQERR01.LOG
    
    touch /var/mqm/qmgrs/@SYSTEM/errors/AMQERR02.LOG
    chown mqm:mqm /var/mqm/qmgrs/@SYSTEM/errors/AMQERR02.LOG
    chmod 666 /var/mqm/qmgrs/@SYSTEM/errors/AMQERR02.LOG
    
    touch /var/mqm/qmgrs/@SYSTEM/errors/AMQERR03.LOG
    chown mqm:mqm /var/mqm/qmgrs/@SYSTEM/errors/AMQERR03.LOG 
    chmod 666 /var/mqm/qmgrs/@SYSTEM/errors/AMQERR03.LOG
    
    

This is part of the procedure to secure the directories and log files needed for WebSphere embedded messaging, as described in Securing messaging directories and log files.

If you have installed the Embedded Messaging Server option on top of MQ, the MQ command setmqcap is set to use parameter 0 instead of -1, which results in:

  • Issuing a license-unit message to the MQ console window whenever a queue manager starts

  • Writing a message to the MQ error log

To prevent this, after you have completed the installation of IBM WAS, issue the setmqcap -1 command from a command line.


Installing and configuring a JMS provider
Moving from the embedded WebSphere JMS provider to MQ
Running an Application Server with a non-root user ID and the nodeagent as root

 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.