type=page
status=published
title=create-jms-host
next=create-jms-resource.html
prev=create-jmsdest.html
~~~~~~
create-jms-host
===============

[[create-jms-host-1]][[GSRFM00039]][[create-jms-host]]

create-jms-host
---------------

creates a JMS host

[[sthref344]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] create-jms-host [--help]
--mqhost mq-host --mqport mq-port
--mquser mq-user --mqpassword mq-password
[--target target]
[--force={false|true}]
jms_host_name
----

[[sthref345]]

Description

Creates a Java Message Service (JMS) host within the JMS service.

This subcommand is supported in remote mode only. Remote `asadmin`
subcommands require a running domain administration server (DAS).

[[sthref346]]

Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--mqhost`::
  The host name for the JMS service.
`--mqport`::
  The port number used by the JMS service.
`--mquser`::
  The user name for the JMS service.
`--mqpassword`::
  The password for the JMS service.
`--target`::
  Creates the JMS host only for the specified target. Valid values are
  as follows: +
  `server`;;
    Creates the JMS host for the default server instance. This is the
    default value.
  configuration-name;;
    Creates the JMS host in the specified configuration.
  cluster-name;;
    Creates the JMS host for every server instance in the specified
    cluster.
  instance-name;;
    Creates the JMS host for the specified server instance.
`--force`::
  Specifies whether the subcommand overwrites the existing JMS host of
  the same name. The default value is `false`.

[[sthref347]]

Operands

jms_host_name::
  A unique identifier for the JMS host to be created.

[[sthref348]]

Examples

[[GSRFM496]][[sthref349]]

Example 1   Creating a JMS host using a non-default port

The following command creates a JMS host named `MyNewHost` on the system
`pigeon`.

[source,oac_no_warn]
----
asadmin> create-jms-host --mqhost pigeon.example.com --mqport 7677 
--mquser admin --mqpassword admin MyNewHost
Jms Host MyNewHost created.
Command create-jms-host executed successfully.
----

[[sthref350]]

Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref351]]

See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:delete-jms-host.html#delete-jms-host-1[`delete-jms-host`(1)],
link:jms-ping.html#jms-ping-1[`jms-ping`(1)],
link:list-jms-hosts.html#list-jms-hosts-1[`list-jms-hosts`(1)]


