type=page
status=published
title=jms-ping
next=list.html
prev=install-node-ssh.html
~~~~~~

jms-ping
========

[[jms-ping-1]][[GSRFM00144]][[jms-ping]]

jms-ping
--------

Checks if the JMS service is up and running

[[sthref1275]]

=== Synopsis

[source]
----
asadmin [asadmin-options] jms-ping [--help]
[-- target target]
----

[[sthref1276]]

=== Description

The `jms-ping` subcommand checks if the Java Message Service (JMS)
service (also known as the JMS provider) is up and running. When you
start the {productName}, the JMS service starts by default.

The `jms-ping` subcommand pings only the default JMS host within the JMS
service. It displays an error message when it is unable to ping a
built-in JMS service.

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

[[sthref1277]]

=== 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.
`--target`::
  Specifies the target for which the operation is to be performed. Valid
  values are as follows:

  `server`;;
    Pings the JMS service for the default server instance. This is the
    default value
  configuration-name;;
    Pings the JMS service for all clusters using the specified
    configuration.
  cluster-name;;
    Pings the JMS service for the specified cluster.
  instance-name;;
    Pings the JMS service for the specified server instance.

[[sthref1278]]

=== Examples

[[GSRFM630]][[sthref1279]]

==== Example 1   Verifying that the JMS service is running

The following subcommand checks to see if the JMS service is running on
the default server.

[source]
----
asadmin> jms-ping
JMS-ping command executed successfully
Connector resoure test_jms_adapter created.
Command jms-ping executed successfully.
----

[[sthref1280]]

=== Exit Status

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

[[sthref1281]]

=== See Also

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

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


