type=page
status=published
title=list-jndi-entries
next=list-jndi-resources.html
prev=list-jms-resources.html
~~~~~~
list-jndi-entries
=================

[[list-jndi-entries-1]][[GSRFM00178]][[list-jndi-entries]]

list-jndi-entries
-----------------

browses and queries the JNDI tree

[[sthref1584]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] list-jndi-entries [--help]
[--context context_name]
[target]
----

[[sthref1585]]

Description

Use this subcommand to browse and query the JNDI tree.

This subcommand is supported in remote mode only.

[[sthref1586]]

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.
`--context`::
  The name of the JNDI context or subcontext. If context is not
  specified, all entries in the naming service are returned. If context
  (such as `ejb`) is specified, all those entries are returned.

[[sthref1587]]

Operands

target::
  This operand specifies the JNDI tree to browse. +
  Possible values are as follows: +
  `server`;;
    Browses the JNDI tree for the default \{product---name} instance
    (default). The default instance is the domain administration server
    (DAS).
  `domain`;;
    Browses the JNDI tree for the current domain.
  cluster-name;;
    Browses the JNDI tree for the specified cluster.
  instance-name;;
    Browses the JNDI tree for the specified \{product---name} instance.

[[sthref1588]]

Examples

[[GSRFM677]][[sthref1589]]

Example 1   Browsing the JNDI Tree

This example browses the JNDI tree for the default \{product---name}
instance.

[source,oac_no_warn]
----
asadmin> list-jndi-entries
java:global: com.sun.enterprise.naming.impl.TransientContext
jdbc: com.sun.enterprise.naming.impl.TransientContext
ejb: com.sun.enterprise.naming.impl.TransientContext
com.sun.enterprise.container.common.spi.util.InjectionManager: 
com.sun.enterprise.container.common.impl.util.InjectionManagerImpl

Command list-jndi-entries executed successfully.
----

[[sthref1590]]

Exit Status

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

[[sthref1591]]

See Also

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

link:create-jndi-resource.html#create-jndi-resource-1[`create-jndi-resource`(1)],
link:delete-jndi-resource.html#delete-jndi-resource-1[`delete-jndi-resource`(1)],
link:list-jndi-resources.html#list-jndi-resources-1[`list-jndi-resources`(1)]


