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 {productName} 7. 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 {productName} 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 {productName} 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
{productName} 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
{productName} 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 {productName} 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 {productName} 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.html#GSACG[{productName} Add-On
Component Development Guide] for complete details.

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

==== How Do I Add Containers?

{productName} has a highly modular architecture that enables you to
add new types of containers that handle many application types, not just
Jakarta EE. {productName} defines a service provider interface (SPI),
which container developers implement. The {productName} 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 {productName} 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
{productName} 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 {productName} 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 {productName} 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.html#GSADG00701[Update Tool]" in
{productName} Administration Guide.

[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.html#GSADG00014[Extending and Updating
{productName}]" in {productName}
Administration Guide.

[NOTE]
====
Update Tool differs from Upgrade Tool, which is used to migrate the
configuration and deployed applications from an earlier version of
{productName} to the current version. For more information about
Upgrade Tool and upgrading, see the link:upgrade-guide.html#GSUPG[{productName} 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]
----
as-install-parent/bin/updatetool
----
2. Click Preferences.
3. Click the Updates tab.
4. Deselect Automatically Check for Updates and click OK.
