blob: 4870967503692d6fa73690fbca76815128f99adf [file] [log] [blame]
type=page
status=published
title=appclient
next=asadmin.html
prev=manvol1m.html
~~~~~~
appclient
=========
[[appclient-1m]][[GSRFM00262]][[appclient]]
appclient
---------
launches the Application Client Container and invokes the client
application typically packaged in the application JAR file
[[sthref2357]]
Synopsis
[source,oac_no_warn]
----
appclient [client_application_classfile | -client client_application_jar]
[-mainclass main_class_name | -name display_name]
[-xml sun-acc.xml file] [-textauth]
[-targetserver host[:port][,host[:port]...]]
[-user username] [-passwordfile password_file]
[application-options]
appclient [jvm-options]
[-mainclass main_class_name | -name display_name]
[-xml client_config_xml_file] [-textauth]
[-targetserver host[:port][,host[:port]...]]
[-user username] [-passwordfile password_file]
class-selector [application-options]
----
[[sthref2358]]
Description
Use the `appclient` command to launch the Application Client Container
and invoke a client application that is typically packaged in an
application JAR file. The application client JAR file is specified and
created during deployment by the Administration Console or the
`asadmin deploy` command with the `--retrieve` option. You can also
retrieve the client JAR file using the `asadmin get-client-stubs`
command.
The Application Client Container is a set of Java classes, libraries,
and other files that are required to execute a first-tier application
client program on a Virtual Machine for the Java platform (JVM machine).
The Application Client Container communicates with the server using
RMI-IIOP.
The client JAR file that is retrieved after deploying an application
should be passed with the `-client` or `-jar` option when running the
`appclient` utility. The client JAR file name is of the form
app-name`Client.jar`. For multiple application clients in an EAR file,
you must use the `-mainclass` or `-name` option to specify which client
to invoke.
If the application client is a stand-alone module or the only client in
an EAR file, the Application Client Container can find the client
without using the `-mainclass` or `-name` options. If you provide a
`-mainclass` or `-name` value that does not match what is in the client,
the Application Client Container launches the client anyway but issues a
warning that the selection did not match the information in the client.
The warning also displays what the actual main class and name values are
for the client.
[[sthref2359]]
Options
jvm-options::
optional; you can set JVM options for the client application. These
can be any valid `java` command options except `-client` or `-jar`.
JVM options can be intermixed with other `appclient` command options
as long as both types of options appear before the class-selector.
client_application_classfile::
optional; the file system pathname of the client application `.class`
file. A relative pathname must be relative to the current directory.
This class file must contain the `main()` method to be invoked by the
Application Client Container. +
If you use client_application_classfile and the class is dependent on
other user classes, you must also set the classpath. You can either
use the `-classpath` JVM option in the `appclient` command or set the
`CLASSPATH` environment variable. For more information about setting a
classpath, see Setting the Class Path, Oracle Solaris Version
(`http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/classpath.html`)
or Setting the Class Path, Windows Version
(`http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html`).
`-client`::
optional; the name and location for the client JAR file.
`-mainclass`::
optional; the full classname of the main client application as
specified in the `Main-Class` entry in the `MANIFEST.MF` file. Used
for a multiple client applications. By default, uses the class
specified in the `client jar`. For example,
`com.example.test.AppClient`.
`-name`::
optional; the display name for the client application. Used for
multiple client applications. By default, the display name is
specified in the client jar `application-client.xml` file which is
identified by the `display-name` attribute.
`-xml`::
optional if using the default domain, instance, and name
(`sun-acc.xml`), otherwise it is required; identifies the name and
location of the client configuration XML file. If not specified,
defaults to the `sun-acc.xml` file in the domain-dir`/config`
directory.
`-textauth`::
optional; used to specify using text format authentication when
authentication is needed.
`-targetserver`::
optional; a comma-separated list of one or more server specifications
for ORB endpoints. Each server specification must include at least the
host. Optionally, a server specification can include the port as well.
If the port is omitted from a server specification, the default value,
`3700`, is used for that host.
`-user`::
optional; the application user who is authorized to have access to
particular guarded components in the application, such as EJB
components.
`-passwordfile`::
optional; specifies the name, including the full path, of a file that
contains the password for application clients in the following format: +
[source,oac_no_warn]
----
PASSWORD=appclient-password
----
::
If this option is omitted, the password is specified interactively at
the command prompt. +
[width="100%",cols="100%",]
|=======================================================================
a|
Caution:
Avoid specifying a password interactively at the command prompt. Such
a password can be seen by users who can run commands to display
running processes and the commands to start them, such as `ps`.
|=======================================================================
For security reasons, a password that is specified as an environment
variable is not read by the `appclient` utility.
class-selector::
required; you must specify the client application class using one of
the following class selectors. +
`-jar` jar-file;;
the name and location of the client JAR file. The application client
JAR file is specified and created during deployment by the
`asadmin deploy` command. If specified, the `-classpath` setting is
ignored in deference to the `Class-Path` setting in the client JAR
file's manifest.
class-name;;
the fully qualified name of the application client's main class. The
Application Client Container invokes the `main` method of this class
to start the client. For example, `com.example.test.AppClient`. +
If you use class-name as the class selector, you must also set the
classpath. You can either use the `-classpath` JVM option in the
`appclient` command or set the `CLASSPATH` environment variable. For
more information about setting a classpath, see Setting the Class
Path, Oracle Solaris Version
(`http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/classpath.html`)
or Setting the Class Path, Windows Version
(`http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html`).
application-options::
optional; you can set client application arguments.
[[sthref2360]]
Examples
[[GSRFM804]][[sthref2361]]
Example 1   Using the `appclient` command
[source,oac_no_warn]
----
appclient -xml sun-acc.xml -jar myclientapp.jar scott sample
----
Where: `sun-acc.xml` is the name of the client configuration XML file,
`myclientapp.jar` is the client application `.jar` file, and `scott` and
`sample` are arguments to pass to the application. If `sun-acc.xml` and
`myclientapp.jar` are not in the current directory, you must give the
absolute path locations; otherwise the relative paths are used. The
relative path is relative to the directory where the command is being
executed.
[[sthref2362]]
Attributes
See
http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5attributes-5[`attributes`(5)]
for descriptions of the following attributes:
[width="100%",cols="50%,50%",options="header",]
|===============================
|ATTRIBUTE TYPE |ATTRIBUTE VALUE
|Interface Stability |Unstable
|===============================
[[sthref2363]]
See Also
link:asadmin.html#asadmin-1m[`asadmin`(1M)]
link:get-client-stubs.html#get-client-stubs-1[`get-client-stubs`(1)],
link:package-appclient.html#package-appclient-1m[`package-appclient`(1M)]