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]
----
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]
----
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)]


