type=page
status=published
title=Frequently Asked Questions
prev=specific-issues.html
~~~~~~
Frequently Asked Questions
==========================

[[GSTSG00006]][[abgkd]]


[[frequently-asked-questions]]
3 Frequently Asked Questions
----------------------------

This chapter lists a few of the Frequently Asked Questions (FAQs)
related to Oracle GlassFish Server 4.0. For the latest FAQs, see the
GlassFish wiki at
`http://wikis.sun.com/display/GlassFish/GlassFishFAQIndex`.

This chapter contains the following:

* link:#ghynj[Administration FAQs]
* link:#ghyaf[Application FAQs]
* link:#ghyak[Eclipse FAQs]
* link:#ghybv[Extensibility FAQs]
* link:#ghybi[Java Persistence FAQs]
* link:#ghybd[Update Tool FAQs]

[[ghynj]][[GSTSG00071]][[administration-faqs]]

Administration FAQs
~~~~~~~~~~~~~~~~~~~

[[ghvhr]][[GSTSG00252]][[which-asadmin-commands-are-supported]]

Which `asadmin` Commands are Supported?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Use `asadmin` `list-commands` to determine which commands are supported
and available for use. For related information, see
"link:../administration-guide/asadmin-subcommands.html#GSADG00023[Subcommands for the asadmin Utility]" in GlassFish
Server Open Source Edition Administration Guide.

[[ghyaf]][[GSTSG00072]][[application-faqs]]

Application FAQs
~~~~~~~~~~~~~~~~

[[ghybu]][[GSTSG00253]][[how-do-i-debug-applications]]

How Do I Debug Applications?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

See "link:../application-development-guide/debugging-apps.html#GSDVG00004[Debugging Applications]" in GlassFish Server Open
Source Edition Application Development Guide.

[[ghybh]][[GSTSG00254]][[how-do-i-change-application-permissions]]

How Do I Change Application Permissions?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

See "link:../application-development-guide/securing-apps.html#GSDVG00372[Changing Permissions for an Application]" in
Eclipse GlassFish Server Application Development Guide.

[[ghybt]][[GSTSG00255]][[what-are-the-restrictions-and-optimizations-for-session-beans]]

What Are the Restrictions and Optimizations for Session Beans?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

See "link:../application-development-guide/ejb.html#GSDVG00427[Session Bean Restrictions and Optimizations]" in
Eclipse GlassFish Server Application Development Guide.

[[ghyak]][[GSTSG00073]][[eclipse-faqs]]

Eclipse FAQs
~~~~~~~~~~~~

[[ghvmc]][[GSTSG00256]][[where-can-i-find-more-information-about-eclipse-and-glassfish-server-integration]]

Where Can I Find More Information About Eclipse and GlassFish Server
Integration?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Eclipse is a development environment that provides a framework, tools,
and runtime for deploying and managing software. The GlassFish plugin
for Eclipse provides important changes to better support GlassFish
Server and to provide optimal redeployment of web applications. For more
information, see the GlassFish Plugins page:
`http://glassfishplugins.java.net`.

[[ghybv]][[GSTSG00074]][[extensibility-faqs]]

Extensibility FAQs
~~~~~~~~~~~~~~~~~~

[[ghyaw]][[GSTSG00257]][[how-do-i-develop-add-on-components]]

How Do I Develop Add-On Components?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

See the link:../add-on-component-development-guide/toc.html#GSACG[Eclipse GlassFish Server Add-On
Component Development Guide] for complete details.

[[ghvhg]][[GSTSG00258]][[how-do-i-add-containers]]

How Do I Add Containers?
^^^^^^^^^^^^^^^^^^^^^^^^

GlassFish Server has a highly modular architecture that enables you to
add new types of containers that handle many application types, not just
Java EE. GlassFish Server defines a service provider interface (SPI),
which container developers implement. The GlassFish Server framework
then invokes the container's implementation of the SPI to detect,
deploy, and manage applications of the new type.

For more information, see "link:../add-on-component-development-guide/adding-container-capabilities.html#GSACG00007[Adding Container
Capabilities]" in Eclipse GlassFish Server Add-On Component
Development Guide.

[[ghvgv]][[GSTSG00259]][[how-do-i-extend-the-administration-console]]

How Do I Extend the Administration Console?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

See "link:../add-on-component-development-guide/extending-the-admin-console.html#GSACG00003[Extending the Administration Console]" in
Eclipse GlassFish Server Add-On Component Development Guide.

[[ghybi]][[GSTSG00075]][[java-persistence-faqs]]

Java Persistence FAQs
~~~~~~~~~~~~~~~~~~~~~

[[ghvnl]][[GSTSG00260]][[what-are-the-restrictions-and-optimizations-for-the-java-persistence-api]]

What Are the Restrictions and Optimizations for the Java Persistence
API?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

See "link:../application-development-guide/jpa.html#GSDVG00139[Restrictions and Optimizations]" in GlassFish
Server Open Source Edition Application Development Guide.

[[ghybd]][[GSTSG00076]][[update-tool-faqs]]

Update Tool FAQs
~~~~~~~~~~~~~~~~

[[ghvly]][[GSTSG00261]][[how-do-i-use-update-tool-to-extend-my-glassfish-server-installation]]

How Do I Use Update Tool to Extend My GlassFish Server Installation?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Enterprise Server provides an administrative tool called Update Tool
that enables you to install updates and add-on components to your
existing Enterprise Server installation.

Update Tool can be accessed as a standalone graphical tool from the
command line (using the `updatetool` command from
as-install-parent`/bin`), or as a browser-based graphical tool from the
Administration Console (using the Update Tool node). For more
information about Update Tool, see "link:../administration-guide/toc.html#GSADG00701[Update Tool]" in
Eclipse GlassFish Server Administration Guide.


[width="100%",cols="<100%",]
|=======================================================================
a|
Note:

To update or remove installed components, you must use the standalone
graphical Update Tool, not the Administration Console Update Tool.

|=======================================================================


A command-line interface is also available for Update Tool. This
interface uses the `pkg` command and enables you to perform most of the
tasks provided by the standalone graphical version. For more information
about the `pkg` command, see "link:../administration-guide/toc.html#GSADG00014[Extending and Updating
GlassFish Server]" in Eclipse GlassFish Server
Administration Guide.


[width="100%",cols="<100%",]
|=======================================================================
a|
Note:

Update Tool differs from Upgrade Tool, which is used to migrate the
configuration and deployed applications from an earlier version of
GlassFish Server to the current version. For more information about
Upgrade Tool and upgrading, see the link:../upgrade-guide/toc.html#GSUPG[GlassFish Server Open
Source Edition Upgrade Guide].

|=======================================================================


[[gjjoq]][[GSTSG00262]][[how-do-i-turn-off-the-notifier]]

How Do I Turn Off the Notifier?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Update Tool provides automatic notifications of available updates after
installation. These notifications can be turned off if desired.

[[gjjox]][[GSTSG00028]][[to-turn-off-the-notifier]]

To Turn Off the Notifier
++++++++++++++++++++++++

1.  Launch the standalone graphical tool using the `updatetool` command: +
[source,oac_no_warn]
----
as-install-parent/bin/updatetool
----
2.  Click Preferences.
3.  Click the Updates tab.
4.  Deselect Automatically Check for Updates and click OK.
