| type=page |
| status=published |
| title=Eclipse GlassFish Server Add-On Component Development Guide, Release 5.1 |
| next=loe.html |
| ~~~~~~ |
| = Eclipse GlassFish Server Add-On Component Development Guide, Release 5.1 |
| ========================================================================== |
| |
| [[contents]] |
| Contents |
| -------- |
| |
| [[list-of-examples]] |
| link:loe.html[List of Examples] |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| [[list-of-tables]] |
| link:lot.html[List of Tables] |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| [[title-and-copyright-information]] |
| link:title.html[Title and Copyright Information] |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| [[preface]] |
| link:preface.html#sthref2[Preface] |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| * link:preface.html#ghpbz[GlassFish Server Documentation Set] |
| * link:preface.html#giprl[Related Documentation] |
| * link:preface.html#fwbkx[Typographic Conventions] |
| * link:preface.html#fquvc[Symbol Conventions] |
| * link:preface.html#ghpfg[Default Paths and File Names] |
| |
| [[introduction-to-the-development-environment-for-glassfish-server-add-on-components]] |
| link:introduction.html#ghmlv[1 Introduction to the Development Environment for GlassFish Server Add-On Components] |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| * link:introduction.html#ghmje[GlassFish Server Modular Architecture and |
| Add-On Components] |
| * link:introduction.html#ghmrf[OSGi Alliance Module Management Subsystem] |
| * link:introduction.html#ghmnq[Hundred-Kilobyte Kernel] |
| * link:introduction.html#ghmns[Overview of the Development Process for an |
| Add-On Component] |
| |
| ** link:introduction.html#ghpqc[Writing HK2 Components] |
| |
| ** link:introduction.html#ghokn[Extending the Administration Console] |
| |
| ** link:introduction.html#ghohx[Extending the `asadmin` Utility] |
| |
| ** link:introduction.html#ghojs[Adding Monitoring Capabilities] |
| |
| ** link:introduction.html#gkahs[Adding Configuration Data for a |
| Component] |
| |
| ** link:introduction.html#ghojq[Adding Container Capabilities] |
| |
| ** link:introduction.html#gktld[Creating a Session Persistence Module] |
| |
| ** link:introduction.html#ghoiu[Packaging and Delivering an Add-On |
| Component] |
| |
| [[writing-hk2-components]] |
| link:writing-hk2-components.html#ghmna[2 Writing HK2 Components] |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| * link:writing-hk2-components.html#ghokq[HK2 Component Model] |
| * link:writing-hk2-components.html#ghojt[Services in the HK2 Component |
| Model] |
| * link:writing-hk2-components.html#ghokt[HK2 Runtime] |
| |
| ** link:writing-hk2-components.html#ghoib[Scopes of Services] |
| |
| ** link:writing-hk2-components.html#ghoky[Instantiation of Components in |
| HK2] |
| |
| ** link:writing-hk2-components.html#ghois[HK2 Lifecycle Interfaces] |
| * link:writing-hk2-components.html#ghojb[Inversion of Control] |
| |
| ** link:writing-hk2-components.html#ghoiz[Injecting HK2 Components] |
| |
| ** link:writing-hk2-components.html#ghoic[Instantiation Cascading in HK2] |
| * link:writing-hk2-components.html#ghmoe[Identifying a Class as an Add-On |
| Component] |
| * link:writing-hk2-components.html#ghpvp[Using the Apache Maven Build |
| System to Develop HK2 Components] |
| |
| [[extending-the-administration-console]] |
| link:extending-the-admin-console.html#ghmrb[3 Extending the Administration Console] |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| * link:extending-the-admin-console.html#ghmof[Administration Console |
| Architecture] |
| |
| ** link:extending-the-admin-console.html#ghnzl[Implementing a Console |
| Provider] |
| * link:extending-the-admin-console.html#ghmom[About Administration |
| Console Templates] |
| * link:extending-the-admin-console.html#ghmqr[About Integration Points] |
| * link:extending-the-admin-console.html#ghmpg[Specifying the ID of an |
| Add-On Component] |
| * link:extending-the-admin-console.html#ghmpk[Adding Functionality to the |
| Administration Console] |
| |
| ** link:extending-the-admin-console.html#ghocf[Adding a Node to the |
| Navigation Tree] |
| *** link:extending-the-admin-console.html#ghoej[Creating a JavaServer |
| Faces Page for Your Node] |
| |
| ** link:extending-the-admin-console.html#ghotv[Adding Tabs to a Page] |
| *** link:extending-the-admin-console.html#ghovg[Creating JavaServer Faces |
| Pages for Your Tabs] |
| |
| ** link:extending-the-admin-console.html#ghmqw[Adding a Task to the |
| Common Tasks Page] |
| *** link:extending-the-admin-console.html#ghoeu[Creating a JavaServer |
| Faces Page for Your Task] |
| |
| ** link:extending-the-admin-console.html#ghozn[Adding a Task Group to the |
| Common Tasks Page] |
| *** link:extending-the-admin-console.html#ghoya[Creating a JavaServer |
| Faces Page for Your Task Group] |
| |
| ** link:extending-the-admin-console.html#ghmrg[Adding Content to a Page] |
| *** link:extending-the-admin-console.html#ghpao[Creating a JavaServer |
| Faces Page for Your Page Content] |
| |
| ** link:extending-the-admin-console.html#ghmqe[Adding a Page to the |
| Administration Console] |
| * link:extending-the-admin-console.html#ghmqi[Adding Internationalization |
| Support] |
| * link:extending-the-admin-console.html#ghmqg[Changing the Theme or Brand |
| of the Administration Console] |
| * link:extending-the-admin-console.html#ghpkz[Creating an Integration |
| Point Type] |
| |
| ** link:extending-the-admin-console.html#sthref4[To Create an Integration |
| Point Type] |
| |
| [[extending-the-asadmin-utility]] |
| link:extending-asadmin.html#ghmrd[4 Extending the `asadmin` Utility] |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| * link:extending-asadmin.html#ghpuj[About the Administrative Command |
| Infrastructure of GlassFish Server] |
| * link:extending-asadmin.html#ghpwe[Adding an `asadmin` Subcommand] |
| |
| ** link:extending-asadmin.html#ghrqj[Representing an `asadmin` Subcommand |
| as a Java Class] |
| |
| ** link:extending-asadmin.html#ghrpm[Specifying the Name of an `asadmin` |
| Subcommand] |
| |
| ** link:extending-asadmin.html#ghrng[Ensuring That an `AdminCommand` |
| Implementation Is Stateless] |
| |
| ** link:extending-asadmin.html#ghrqx[Example of Adding an `asadmin` |
| Subcommand] |
| * link:extending-asadmin.html#ghpwa[Adding Parameters to an `asadmin` |
| Subcommand] |
| |
| ** link:extending-asadmin.html#ghpvh[Representing a Parameter of an |
| `asadmin` Subcommand] |
| |
| ** link:extending-asadmin.html#ghptx[Identifying a Parameter of an |
| `asadmin` Subcommand] |
| |
| ** link:extending-asadmin.html#ghpxp[Specifying Whether a Parameter Is an |
| Option or an Operand] |
| |
| ** link:extending-asadmin.html#ghpxj[Specifying the Name of an Option] |
| *** link:extending-asadmin.html#ghpvy[Specifying the Long Form of an |
| Option Name] |
| *** link:extending-asadmin.html#sthref5[Specifying the Short Form of an |
| Option Name] |
| |
| ** link:extending-asadmin.html#ghpxl[Specifying the Acceptable Values of |
| a Parameter] |
| |
| ** link:extending-asadmin.html#ghrgt[Specifying the Default Value of a |
| Parameter] |
| |
| ** link:extending-asadmin.html#ghpuk[Specifying Whether a Parameter Is |
| Required or Optional] |
| |
| ** link:extending-asadmin.html#CDCFAJDG[Specifying Whether a Parameter |
| Can Be Used Multiple Times on the Command Line] |
| |
| ** link:extending-asadmin.html#ghpxd[Example of Adding Parameters to an |
| `asadmin` Subcommand] |
| * link:extending-asadmin.html#gkygt[Making `asadmin` Subcommands |
| Cluster-Aware] |
| |
| ** link:extending-asadmin.html#gkyjk[Specifying Allowed Targets] |
| |
| ** link:extending-asadmin.html#gkykm[The `Target` Utility] |
| |
| ** link:extending-asadmin.html#gkyfv[Specifying `asadmin` Subcommand |
| Execution] |
| |
| ** link:extending-asadmin.html#gkyjs[Subcommand Preprocessing and |
| Postprocessing] |
| |
| ** link:extending-asadmin.html#gkyit[Running a Command from Another |
| Command] |
| * link:extending-asadmin.html#ghptw[Adding Message Text Strings to an |
| `asadmin` Subcommand] |
| * link:extending-asadmin.html#ghpvn[Enabling an `asadmin` Subcommand to |
| Run] |
| * link:extending-asadmin.html#ghpvq[Setting the Context of an `asadmin` |
| Subcommand] |
| * link:extending-asadmin.html#ghpwn[Changing the Brand in the GlassFish |
| Server CLI] |
| * link:extending-asadmin.html#ghmza[Examples of Extending the `asadmin` |
| Utility] |
| * link:extending-asadmin.html#gkzlq[Implementing Create, Delete, and List |
| Commands Using Annotations] |
| |
| ** link:extending-asadmin.html#gkzkc[Command Patterns] |
| |
| ** link:extending-asadmin.html#gkzle[Resolvers] |
| |
| ** link:extending-asadmin.html#gkzoy[The `@Create` Annotation] |
| |
| ** link:extending-asadmin.html#gkzoo[The `@Delete` Annotation] |
| |
| ** link:extending-asadmin.html#gkzpl[The `@Listing` Annotation] |
| |
| ** link:extending-asadmin.html#gkznf[Create Command Decorators] |
| |
| ** link:extending-asadmin.html#gkznx[Delete Command Decorators] |
| |
| ** link:extending-asadmin.html#gkzmu[Specifying Command Execution] |
| |
| ** link:extending-asadmin.html#gkznd[Using Multiple Command Annotations] |
| |
| [[adding-monitoring-capabilities]] |
| link:adding-monitoring-capabilities.html#ghmos[5 Adding Monitoring Capabilities] |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| * link:adding-monitoring-capabilities.html#ghopc[Defining Statistics That |
| Are to Be Monitored] |
| |
| ** link:adding-monitoring-capabilities.html#gkadk[Defining an Event |
| Provider] |
| *** link:adding-monitoring-capabilities.html#ghovq[Defining an Event |
| Provider by Writing a Java Class] |
| *** link:adding-monitoring-capabilities.html#gkaec[Defining an Event |
| Provider by Writing an XML Fragment] |
| *** link:adding-monitoring-capabilities.html#gkaie[Packaging a |
| Component's Event Providers] |
| |
| ** link:adding-monitoring-capabilities.html#ghprg[Sending an Event] |
| * link:adding-monitoring-capabilities.html#ghplw[Updating the Monitorable |
| Object Tree] |
| |
| ** link:adding-monitoring-capabilities.html#ghpni[Creating Event |
| Listeners] |
| |
| ** link:adding-monitoring-capabilities.html#ghptp[Representing a |
| Component's Statistics in an Event Listener Class] |
| |
| ** link:adding-monitoring-capabilities.html#ghpml[Subscribing to Events |
| From Event Provider Classes] |
| *** link:adding-monitoring-capabilities.html#ghpsp[Listening for Changes |
| to Values That are Not Part of the Target Method Definition] |
| *** link:adding-monitoring-capabilities.html#ghpsw[Getting Information |
| About a Event Provider] |
| |
| ** link:adding-monitoring-capabilities.html#ghpmt[Listening for Events |
| From Classes That Are Not Event Providers] |
| *** link:adding-monitoring-capabilities.html#ghpql[Monitoring Method |
| Entry] |
| *** link:adding-monitoring-capabilities.html#ghppg[Monitoring Method |
| Exit] |
| *** link:adding-monitoring-capabilities.html#ghplj[Monitoring Exceptions] |
| |
| ** link:adding-monitoring-capabilities.html#ghppo[Registering an Event |
| Listener] |
| * link:adding-monitoring-capabilities.html#ghrma[Dotted Names and REST |
| URLs for an Add-On Component's Statistics] |
| * link:adding-monitoring-capabilities.html#ghmox[Adding a Type to the |
| `monitor` Command] |
| * link:adding-monitoring-capabilities.html#ghptj[Example of Adding |
| Monitoring Capabilities] |
| |
| [[adding-configuration-data-for-a-component]] |
| link:adding-configuration-data.html#gjlpe[6 Adding Configuration Data for a Component] |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| * link:adding-configuration-data.html#gjrdv[How GlassFish Server Stores |
| Configuration Data] |
| * link:adding-configuration-data.html#gjlop[Defining an Element] |
| |
| ** link:adding-configuration-data.html#gjcnt[To Define an Element] |
| * link:adding-configuration-data.html#gjlpb[Defining an Attribute of an |
| Element] |
| |
| ** link:adding-configuration-data.html#gjorj[Representing an Attribute of |
| an Element] |
| |
| ** link:adding-configuration-data.html#gjopa[Specifying the Data Type of |
| an Attribute] |
| |
| ** link:adding-configuration-data.html#gjopm[Identifying an Attribute of |
| an Element] |
| |
| ** link:adding-configuration-data.html#gjopq[Specifying the Name of an |
| Attribute] |
| |
| ** link:adding-configuration-data.html#gjoqj[Specifying the Default Value |
| of an Attribute] |
| |
| ** link:adding-configuration-data.html#gjoui[Specifying Whether an |
| Attribute Is Required or Optional] |
| |
| ** link:adding-configuration-data.html#gjrdz[Example of Defining an |
| Attribute of an Element] |
| * link:adding-configuration-data.html#gjlov[Defining a Subelement] |
| |
| ** link:adding-configuration-data.html#gjzlb[To Define a Subelement] |
| * link:adding-configuration-data.html#gjlpu[Validating Configuration |
| Data] |
| * link:adding-configuration-data.html#gjrdj[Initializing a Component's |
| Configuration Data] |
| |
| ** link:adding-configuration-data.html#gkbgi[To Define a Component's |
| Initial Configuration Data] |
| |
| ** link:adding-configuration-data.html#gjses[To Write a Component's |
| Initial Configuration Data to the `domain.xml` File] |
| * link:adding-configuration-data.html#gjrcz[Creating a Transaction to |
| Update Configuration Data] |
| |
| ** link:adding-configuration-data.html#gkakw[To Create a Transaction to |
| Update Configuration Data] |
| * link:adding-configuration-data.html#gjmkt[Dotted Names and REST URLs of |
| Configuration Attributes] |
| * link:adding-configuration-data.html#gkaal[Examples of Adding |
| Configuration Data for a Component] |
| |
| [[adding-container-capabilities]] |
| link:adding-container-capabilities.html#ghmon[7 Adding Container Capabilities] |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| * link:adding-container-capabilities.html#ghpjl[Creating a `Container` |
| Implementation] |
| |
| ** link:adding-container-capabilities.html#ghogv[Marking the Class With |
| the `@Service` Annotation] |
| |
| ** link:adding-container-capabilities.html#ghohg[Implementing the |
| `Container` Interface] |
| * link:adding-container-capabilities.html#ghozu[Adding an Archive Type] |
| |
| ** link:adding-container-capabilities.html#ghoyp[Implementing the |
| `ArchiveHandler` Interface] |
| * link:adding-container-capabilities.html#ghphp[Creating Connector |
| Modules] |
| |
| ** link:adding-container-capabilities.html#ghozd[Associating File Types |
| With Containers by Using the `Sniffer` Interface] |
| *** link:adding-container-capabilities.html#ghpbx[Making `Sniffer` |
| Implementations Available to the GlassFish Server] |
| * link:adding-container-capabilities.html#gkane[Example of Adding |
| Container Capabilities] |
| |
| ** link:adding-container-capabilities.html#gkbah[Container Component |
| Code] |
| |
| ** link:adding-container-capabilities.html#gkbcq[Web Client Code] |
| |
| [[creating-a-session-persistence-module]] |
| link:session-persistence-modules.html#gkmhj[8 Creating a Session Persistence Module] |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| * link:session-persistence-modules.html#gkmhr[Implementing the |
| `PersistenceStrategyBuilder` Interface] |
| |
| [[packaging-integrating-and-delivering-an-add-on-component]] |
| link:packaging-integrating-delivering.html#ghmxp[9 Packaging, Integrating, and Delivering an Add-On Component] |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| * link:packaging-integrating-delivering.html#ghpun[Packaging an Add-On |
| Component] |
| * link:packaging-integrating-delivering.html#ghmne[Integrating an Add-On |
| Component With GlassFish Server] |
| * link:packaging-integrating-delivering.html#ghpuz[Delivering an Add-On |
| Component Through Update Tool] |
| |
| [[a-integration-point-reference]] |
| link:integration-point-reference.html#ghmrp[A Integration Point Reference] |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| * link:integration-point-reference.html#ghprc[Integration Point |
| Attributes] |
| * link:integration-point-reference.html#ghmwa[`org.glassfish.admingui:navNode` |
| Integration Point] |
| * link:integration-point-reference.html#gjkff[`org.glassfish.admingui:rightPanel` |
| Integration Point] |
| * link:integration-point-reference.html#gjkfq[`org.glassfish.admingui:rightPanelTitle` |
| Integration Point] |
| * link:integration-point-reference.html#ghpkh[`org.glassfish.admingui:serverInstTab` |
| Integration Point] |
| * link:integration-point-reference.html#ghpit[`org.glassfish.admingui:commonTask` |
| Integration Point] |
| * link:integration-point-reference.html#ghphz[`org.glassfish.admingui:configuration` |
| Integration Point] |
| * link:integration-point-reference.html#ghpfm[`org.glassfish.admingui:resources` |
| Integration Point] |
| * link:integration-point-reference.html#ghpiz[`org.glassfish.admingui:customtheme` |
| Integration Point] |
| * link:integration-point-reference.html#ghppm[`org.glassfish.admingui:masthead` |
| Integration Point] |
| * link:integration-point-reference.html#ghppk[`org.glassfish.admingui:loginimage` |
| Integration Point] |
| * link:integration-point-reference.html#ghprk[`org.glassfish.admingui:loginform` |
| Integration Point] |
| * link:integration-point-reference.html#ghpse[`org.glassfish.admingui:versioninfo` |
| Integration Point] |