#### To configure general properties for the JMS provider

Use the JMS Service page to configure properties to be used by all JMS connections.

For more information about configuring the JMS service, see Chapter 18, "Using the Java Message Service," in Sun Java System Application Server Enterprise Edition 9.1 Developer's Guide.

1. In the tree component, select the Configurations node.

2. Select the instance to configure:

   - To configure a particular instance, select the instance's config node. For example, for the default instance, `server`, select the `server-config` node.

   - To configure the default settings for future instances that use a copy of `default-config`, select the `default-config` node.

3. Select the Java Message Service node to open the JMS Service page.

4. Edit the value in the Startup Timeout field to change the time the Application Server waits for the JMS service to start before aborting the startup.

   On a slow or overloaded system, increase the value from the default (60).

5. From the Type drop-down list:

   - Choose `EMBEDDED` to access the JMS service on the local host. The JMS service is started in-process and managed by the Application Server. This is the default type of JMS Service for the Platform Edition.

   - Choose `LOCAL` (the default for the `server-config` configuration) to access the JMS service on the local host. The JMS service is started and managed by the Application Server.

   - Choose `REMOTE` (the default for the `default-config` configuration) to access the JMS service on another system or on a cluster. If you choose `REMOTE`, the JMS service is not started by the Application Server the next time the server starts. Instead, the JMS service is started and managed via Message Queue, so you must start the Message Queue broker separately. For information about starting the broker, see the Message Queue Administration Guide. If you choose this value and are using a remote host, follow the instructions in To edit a JMS host to specify the name of the remote host.

6. In the Startup Timeout field, enter the number of seconds to wait for the JMS service to start.

7. In the Start Arguments field, type arguments to customize the JMS service startup.

   Use any arguments available through the MQ-install-dir`/imq/bin/imqbrokerd` command.

8. Select the Reconnect checkbox to make the JMS service attempt to reconnect to a message server (or the list of addresses in the AddressList) when a connection is lost.

   By default, reconnection is enabled.

9. In the Reconnect Interval field, type the number of seconds between reconnect attempts.

   This applies for attempts on each address in the AddressList and for successive addresses in the list. If it is too short, this time interval does not give a broker time to recover. If it is too long, the reconnect might represent an unacceptable delay.

   The default value is 60 seconds.

10. In the Reconnect Attempts field, type the number of attempts to connect (or reconnect) for each address in the AddressList before the client runtime tries the next address in the list.

    A value of -1 indicates that the number of reconnect attempts is unlimited (the client runtime attempts to connect to the first address until it succeeds). The default value is 3.

11. Choose a host from the Default JMS Host drop-down list. The default is `default_JMS_host`.

12. In the Address List Behavior drop-down list, choose the order of connection attempts.

    `priority` means that the reconnect always tries to connect to the first server address in the AddressList and uses another one only if the first broker is not available.

    `random` (the default) means to select an address from the AddressList randomly. If there are many clients attempting a connection using the same connection factory, specify `random` to prevent them from all being connected to the same address.

13. In the Address List Iterations field, type the number of times the JMS service iterates through the AddressList in an effort to establish (or reestablish) a connection).

    A value of -1 indicates that the number of attempts is unlimited.

    The default value is 3.

14. In the MQ Scheme and MQ Service fields, type the Message Queue address scheme name and the Message Queue connection service name if a non-default scheme or service is to be used.

    The full syntax for a message service address is

        scheme://address-syntax

    where the scheme and address-syntax are described in the table below.

    The MQ Scheme and MQ Service are the values shown in the first two columns of the following table.

    Scheme Name | Connection Service | Description | Address Syntax
    --- | --- | --- | ---

    `mq`

    `jms` and `ssljms`

    Message Queue client runtime makes a connection to the MQ Port Mapper at the specified host and port. The Port Mapper returns a list of the dynamically established connection service ports, and the Message Queue client runtime then makes a connection to the port hosting the specified connection service.

    `[`hostName`][:`port`][/`serviceName`]`

    Defaults: hostName = `localhost`, port = `7676`, serviceName = `jms`

    Defaults only apply to the `jms` connection service. For the `ssljms` connection service, all variables need to be specified.

    Example: `mq:MyHost:7677/ssljms`

    `mqtcp` | `jms` | Message Queue client runtime makes a TCP connection to the specified host and port (bypassing the MQ Port Mapper) to establish a connection. | hostName`:`port`/jms` Example: `mqtcp:localhost:7676/jms`
    `mqssl` | `ssljms` | Message Queue client runtime makes a secure SSL connection to the specified host and port (bypassing the MQ Port Mapper) to establish a connection. | hostName`:`port`/ssljms` Example: `mqssl:localhost:7676/ssljms`

    `http`

    `httpjms`

    Message Queue client runtime makes an HTTP connection to an Message Queue tunnel servlet at the specified URL. (The broker must be configured to access the HTTP tunnel servlet, as described in the Message Queue Administrator's Guide.)

    hostName`:`port`/`contextRoot`/tunnel`

    If multiple broker instances are using the same tunnel servlet, then the syntax for connecting to a specific broker instance (rather than a randomly selected one) is: `http://`hostName`:`port`/`contextRoot`/tunnel?`serverName`=`hostName`:`instanceName

    `https`

    `httpsjms`

    Message Queue client runtime makes a secure HTTPS connection to the specified Message Queue tunnel servlet URL. (The broker must be configured to access the HTTPS tunnel servlet, as described in the Message Queue Administrator's Guide.)

    hostName`:`port`/`contextRoot`/tunnel`

    If multiple broker instances are using the same tunnel servlet, then the syntax for connecting to a specific broker instance (rather than a randomly selected one) is: `http://`hostName`:`port`/`contextRoot`/tunnel?`serverName`=`hostName`:`instanceName

15. In the Additional Properties area, click Add Property to add a property.

    The following table lists the available Sun Java System Message Queue broker configuration properties.

    Property Name | Description
    --- | ---
    `instance-name` | Specifies the full Message Queue broker instance name. The default is `imqbroker`.
    `instance-name-suffix` | Specifies a suffix to add to the full Message Queue broker instance name. The suffix is separated from the instance name by an underscore character (`_`). For example, if the instance name is `imqbroker`, appending the suffix `xyz` changes the instance name to `imqbroker_xyz`.
    `append-version` | If `true`, appends the major and minor version numbers, preceded by underscore characters (`_`), to the full Message Queue broker instance name. For example, if the instance name is `imqbroker`, appending the version numbers changes the instance name to `imqbroker_8_0`. The default is `false`.

16. Click Save to save the changes, or click Load Defaults to restore the default values for the service.

##### More Information
Accessing Remote Servers

Changing the provider and host to a remote system causes all JMS applications to run on the remote server. To use both the local server and one or more remote servers, create a connection factory resource with the `AddressList` property to create connections that access remote servers. See Broken Link (Target ID: ABLKC).

##### See Also

- To create a JMS host

- To edit a JMS host

- To delete a JMS host

- Broken Link (Target ID: ABLKC)