diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 28a0fef..177f5d1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,30 +1,3 @@ ---- +#### :warning:This project is now part of the EE4J initiative. This repository has been archived as all activities are now happening in the [corresponding Eclipse repository](https://github.com/eclipse-ee4j/glassfish-tutorial). See [here](https://www.eclipse.org/ee4j/status.php) for the overall EE4J transition status. --- - -# Source Code Submissions -We welcome your contributions and look forward to collaborating with you. We can only accept source code repository -submissions from users who have signed and returned the Oracle -Contributor Agreement. You will find details and the agreement to sign at this OTN web page: -[Oracle Contributor Agreement](http://www.oracle.com/technetwork/community/oca-486395.html). - -# Other Contrbutions -For all project Submissions other than source code repository contributions, the following also applies: Oracle does -not claim ownership of Your Submissions. However, in order to fulfill -the purposes of this project, You must give Oracle and all Users -the right to post, access, discuss, use, publish, disseminate, and refine -Your Submissions. - -In legalese: *You hereby grant to Oracle and all -Users a royalty-free, perpetual, irrevocable, worldwide, non-exclusive, -and fully sub-licensable right and license, under Your intellectual -property rights, to reproduce, modify, adapt, publish, translate, create -derivative works from, distribute, perform, display, and use Your -Submissions (in whole or part) and to incorporate or implement them in -other works in any form, media, or technology now known or later -developed, all subject to the obligation to retain any copyright notices -included in Your Submissions. All Users, Oracle, and their -sublicensees are responsible for any modifications they make to the -Submissions of others.* - -Copyright © 2017 Oracle and/or its affiliates. All rights reserved diff --git a/README.md b/README.md index c3d8fbe..c956536 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +#### :warning:This project is now part of the EE4J initiative. This repository has been archived as all activities are now happening in the [corresponding Eclipse repository](https://github.com/eclipse-ee4j/glassfish-tutorial). See [here](https://www.eclipse.org/ee4j/status.php) for the overall EE4J transition status. + +--- + # Java EE Tutorial This repository contains the source files that are used to build the [_Java Platform, Enterprise Edition (Java EE) 8 diff --git a/src/main/jbake/content/batch-processing.adoc b/src/main/jbake/content/batch-processing.adoc index 71c7d01..901e373 100644 --- a/src/main/jbake/content/batch-processing.adoc +++ b/src/main/jbake/content/batch-processing.adoc @@ -7,9 +7,8 @@ prev=interceptors003.html Batch Processing ================ -[[GKJIQ6]] +[[GKJIQ6]][[batch-processing]] -[[batch-processing]] 59 Batch Processing ------------------- diff --git a/src/main/jbake/content/batch-processing001.adoc b/src/main/jbake/content/batch-processing001.adoc index 15c47d8..e6419c6 100644 --- a/src/main/jbake/content/batch-processing001.adoc +++ b/src/main/jbake/content/batch-processing001.adoc @@ -7,9 +7,8 @@ prev=batch-processing.html Introduction to Batch Processing ================================ -[[BCGJDEEH]] +[[BCGJDEEH]][[introduction-to-batch-processing]] -[[introduction-to-batch-processing]] Introduction to Batch Processing -------------------------------- @@ -47,9 +46,8 @@ decision elements or groups of steps that run in parallel. The following sections describe steps in more detail and provide information about other common characteristics of batch frameworks. -[[sthref261]] +[[sthref261]][[steps-in-batch-jobs]] -[[steps-in-batch-jobs]] Steps in Batch Jobs ~~~~~~~~~~~~~~~~~~~ @@ -109,9 +107,8 @@ database records and generates printable versions of each bill. This application could also contain a task step that cleaned up the files from the bills generated for the previous month. -[[sthref263]] +[[sthref263]][[parallel-processing]] -[[parallel-processing]] Parallel Processing ~~~~~~~~~~~~~~~~~~~ @@ -128,9 +125,8 @@ Batch frameworks provide mechanisms for developers to define groups of independent steps and to split chunk-oriented steps in parts that can run in parallel. -[[sthref264]] +[[sthref264]][[status-and-decision-elements]] -[[status-and-decision-elements]] Status and Decision Elements ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -162,9 +158,8 @@ condition is based on the status of step B. If condition 1 is true, the job terminates; otherwise the job continues with step C and then the job ends."] -[[sthref266]] +[[sthref266]][[batch-framework-functionality]] -[[batch-framework-functionality]] Batch Framework Functionality ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/batch-processing002.adoc b/src/main/jbake/content/batch-processing002.adoc index 8a7fe79..aec0506 100644 --- a/src/main/jbake/content/batch-processing002.adoc +++ b/src/main/jbake/content/batch-processing002.adoc @@ -7,9 +7,8 @@ prev=batch-processing001.html = Batch Processing in Java EE -[[BCGGIBHA]] +[[BCGGIBHA]][[batch-processing-in-java-ee]] -[[batch-processing-in-java-ee]] Batch Processing in Java EE --------------------------- @@ -26,9 +25,8 @@ The following topics are addressed here: * link:#BABHJGDH[Job Instances and Job Executions] * link:#BABBFGEF[Batch and Exit Status] -[[BABEAFJI]] +[[BABEAFJI]][[the-batch-processing-framework]] -[[the-batch-processing-framework]] The Batch Processing Framework ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -50,9 +48,8 @@ the application logic of the batch artifacts defined in the XML files. The batch runtime parses the XML files and loads the batch artifacts as Java classes to run the jobs in a batch application. -[[BABCGDHJ]] +[[BABCGDHJ]][[creating-batch-applications]] -[[creating-batch-applications]] Creating Batch Applications ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -86,9 +83,8 @@ application. The following sections describe in detail how to use the components of the batch processing framework in Java EE to create batch applications. -[[BABDGDJB]] +[[BABDGDJB]][[elements-of-a-batch-job]] -[[elements-of-a-batch-job]] Elements of a Batch Job ~~~~~~~~~~~~~~~~~~~~~~~ @@ -118,9 +114,8 @@ flows complete. Decision elements use the exit status of the previous step to determine the next step or to terminate the batch job. -[[BABHJEJC]] +[[BABHJEJC]][[properties-and-parameters]] -[[properties-and-parameters]] Properties and Parameters ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -149,9 +144,8 @@ in batch artifacts is demonstrated in link:batch-processing009.html#BCGFCACD[The phonebilling Example Application]. -[[BABHJGDH]] +[[BABHJGDH]][[job-instances-and-job-executions]] -[[job-instances-and-job-executions]] Job Instances and Job Executions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -161,9 +155,8 @@ batch runtime maintains information about job instances and job executions, as described in link:batch-processing006.html#BCGIBGFC[Checking the Status of a Job]. -[[BABBFGEF]] +[[BABBFGEF]][[batch-and-exit-status]] -[[batch-and-exit-status]] Batch and Exit Status ~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/batch-processing003.adoc b/src/main/jbake/content/batch-processing003.adoc index 9043d29..aa0e3cd 100644 --- a/src/main/jbake/content/batch-processing003.adoc +++ b/src/main/jbake/content/batch-processing003.adoc @@ -7,9 +7,8 @@ prev=batch-processing002.html Simple Use Case =============== -[[BCGHBJIG]] +[[BCGHBJIG]][[simple-use-case]] -[[simple-use-case]] Simple Use Case --------------- @@ -44,9 +43,8 @@ follows: ---- -[[sthref268]] +[[sthref268]][[chunk-step]] -[[chunk-step]] Chunk Step ~~~~~~~~~~ @@ -173,9 +171,8 @@ public class MyWriter implements javax.batch.api.chunk.ItemWriter { } ---- -[[sthref269]] +[[sthref269]][[task-step]] -[[task-step]] Task Step ~~~~~~~~~ diff --git a/src/main/jbake/content/batch-processing004.adoc b/src/main/jbake/content/batch-processing004.adoc index 8435370..f9e6648 100644 --- a/src/main/jbake/content/batch-processing004.adoc +++ b/src/main/jbake/content/batch-processing004.adoc @@ -7,9 +7,8 @@ prev=batch-processing003.html = Using the Job Specification Language -[[BCGDDBBG]] +[[BCGDDBBG]][[using-the-job-specification-language]] -[[using-the-job-specification-language]] Using the Job Specification Language ------------------------------------ @@ -65,9 +64,8 @@ The following sections describe the elements of the Job Specification Language (JSL) in more detail and show the most common attributes and child elements. -[[sthref270]] +[[sthref270]][[the-job-element]] -[[the-job-element]] The job Element ~~~~~~~~~~~~~~~ @@ -104,9 +102,8 @@ Artifacts] for an example of a job listener implementation. The first `step`, `flow`, or `split` element inside the `job` element executes first. -[[sthref271]] +[[sthref271]][[the-step-element]] -[[the-step-element]] The step Element ~~~~~~~~~~~~~~~~ @@ -185,9 +182,8 @@ The following is an example of a task step: ---- -[[sthref272]] +[[sthref272]][[the-chunk-element]] -[[the-chunk-element]] The chunk Element ^^^^^^^^^^^^^^^^^ @@ -313,9 +309,8 @@ up to a maximum of ten skipped exceptions. The step retries a chunk when a `MyResourceTempUnavailable` exception occurs, up to a maximum of three attempts. -[[sthref274]] +[[sthref274]][[the-batchlet-element]] -[[the-batchlet-element]] The batchlet Element ^^^^^^^^^^^^^^^^^^^^ @@ -339,9 +334,8 @@ The following is an example of a task-oriented step: This example defines a batch step and specifies its batch artifact. -[[sthref275]] +[[sthref275]][[the-partition-element]] -[[the-partition-element]] The partition Element ^^^^^^^^^^^^^^^^^^^^^ @@ -481,9 +475,8 @@ Refer to link:batch-processing009.html#BCGFCACD[The phonebilling Example Application] for an example implementation of the `PartitionMapper` interface. -[[sthref276]] +[[sthref276]][[the-flow-element]] -[[the-flow-element]] The flow Element ~~~~~~~~~~~~~~~~ @@ -518,9 +511,8 @@ This example flow contains three steps, one flow, and one split. The last step does not have the `next` attribute. The flow transitions to `stepE` when its last step completes. -[[sthref277]] +[[sthref277]][[the-split-element]] -[[the-split-element]] The split Element ~~~~~~~~~~~~~~~~~ @@ -542,9 +534,8 @@ concurrently: ---- -[[sthref278]] +[[sthref278]][[the-decision-element]] -[[the-decision-element]] The decision Element ~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/batch-processing005.adoc b/src/main/jbake/content/batch-processing005.adoc index ce4731f..fe3c4e2 100644 --- a/src/main/jbake/content/batch-processing005.adoc +++ b/src/main/jbake/content/batch-processing005.adoc @@ -7,9 +7,8 @@ prev=batch-processing004.html = Creating Batch Artifacts -[[BCGHDHGH]] +[[BCGHDHGH]][[creating-batch-artifacts]] -[[creating-batch-artifacts]] Creating Batch Artifacts ------------------------ @@ -28,9 +27,8 @@ The following topics are addressed here: * link:#BCGIFJBB[Dependency Injection in Batch Artifacts] * link:#BCGCJEEF[Using the Context Objects from the Batch Runtime] -[[BABDAIBI]] +[[BABDAIBI]][[batch-artifact-interfaces]] -[[batch-artifact-interfaces]] Batch Artifact Interfaces ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -50,7 +48,6 @@ artifacts for job and step listeners. [[sthref279]][[BCGGCIDC]] - *Table 58-3 Main Batch Artifact Interfaces* @@ -84,7 +81,6 @@ element. [[sthref280]][[BCGEAAEA]] - Table 58-4 Partition Batch Artifact Interfaces @@ -116,7 +112,6 @@ element inside the `partition` element. [[sthref281]][[BCGCAEDI]] - *Table 58-5 Listener Batch Artifact Interfaces* @@ -177,9 +172,8 @@ referenced from the `listener` element inside the `step` element. |======================================================================= -[[BCGIFJBB]] +[[BCGIFJBB]][[dependency-injection-in-batch-artifacts]] -[[dependency-injection-in-batch-artifacts]] Dependency Injection in Batch Artifacts ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -263,9 +257,8 @@ procedure. * The batch artifacts throw null pointer exceptions when accessing injected objects. -[[BCGCJEEF]] +[[BCGCJEEF]][[using-the-context-objects-from-the-batch-runtime]] -[[using-the-context-objects-from-the-batch-runtime]] Using the Context Objects from the Batch Runtime ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/batch-processing006.adoc b/src/main/jbake/content/batch-processing006.adoc index db87f09..0a72df6 100644 --- a/src/main/jbake/content/batch-processing006.adoc +++ b/src/main/jbake/content/batch-processing006.adoc @@ -7,9 +7,8 @@ prev=batch-processing005.html Submitting Jobs to the Batch Runtime ==================================== -[[BCGCAHCB]] +[[BCGCAHCB]][[submitting-jobs-to-the-batch-runtime]] -[[submitting-jobs-to-the-batch-runtime]] Submitting Jobs to the Batch Runtime ------------------------------------ @@ -25,9 +24,8 @@ functionality. The `BatchRuntime` class in the `javax.batch.runtime` package provides the `getJobOperator` factory method to obtain `JobOperator` objects. -[[sthref282]] +[[sthref282]][[starting-a-job]] -[[starting-a-job]] Starting a Job ~~~~~~~~~~~~~~ @@ -49,9 +47,8 @@ job as specified in its job definition file. The second parameter is a execution. You can use job parameters to pass to a job information that is only known at runtime. -[[BCGIBGFC]] +[[BCGIBGFC]][[checking-the-status-of-a-job]] -[[checking-the-status-of-a-job]] Checking the Status of a Job ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -73,9 +70,8 @@ JobExecution jobExec = jobOperator.getJobExecution(execID); String status = jobExec.getBatchStatus().toString(); ---- -[[sthref283]] +[[sthref283]][[invoking-the-batch-runtime-in-your-application]] -[[invoking-the-batch-runtime-in-your-application]] Invoking the Batch Runtime in Your Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/batch-processing007.adoc b/src/main/jbake/content/batch-processing007.adoc index 165b26a..9b9953c 100644 --- a/src/main/jbake/content/batch-processing007.adoc +++ b/src/main/jbake/content/batch-processing007.adoc @@ -7,9 +7,8 @@ prev=batch-processing006.html Packaging Batch Applications ============================ -[[BCGBBGJI]] +[[BCGBBGJI]][[packaging-batch-applications]] -[[packaging-batch-applications]] Packaging Batch Applications ---------------------------- diff --git a/src/main/jbake/content/batch-processing008.adoc b/src/main/jbake/content/batch-processing008.adoc index 166b8ad..acda20f 100644 --- a/src/main/jbake/content/batch-processing008.adoc +++ b/src/main/jbake/content/batch-processing008.adoc @@ -7,9 +7,8 @@ prev=batch-processing007.html The webserverlog Example Application ==================================== -[[BCGJHEHJ]] +[[BCGJHEHJ]][[the-webserverlog-example-application]] -[[the-webserverlog-example-application]] The webserverlog Example Application ------------------------------------ @@ -24,9 +23,8 @@ The following topics are addressed here: * link:#BABCHDFB[Architecture of the webserverlog Example Application] * link:#BABFIHJA[Running the webserverlog Example Application] -[[BABCHDFB]] +[[BABCHDFB]][[architecture-of-the-webserverlog-example-application]] -[[architecture-of-the-webserverlog-example-application]] Architecture of the webserverlog Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -58,9 +56,8 @@ results. The bean submits the job to the batch runtime, checks on the status of the job, and reads the results from a text file. -[[BABFGCEC]] +[[BABFGCEC]][[the-job-definition-file]] -[[the-job-definition-file]] The Job Definition File ^^^^^^^^^^^^^^^^^^^^^^^ @@ -124,9 +121,8 @@ The second step is defined as follows: This step is a task step that specifies the batch artifact that implements it. This is the last step of the job. -[[BABIHBFF]] +[[BABIHBFF]][[the-logline-and-logfilteredline-items]] -[[the-logline-and-logfilteredline-items]] The LogLine and LogFilteredLine Items ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -148,9 +144,8 @@ public class LogLine { The `LogFileteredLine` class is similar to this class but only has two fields: the IP address of the client and the URL. -[[sthref284]] +[[sthref284]][[the-chunk-step-batch-artifacts]] -[[the-chunk-step-batch-artifacts]] The Chunk Step Batch Artifacts ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -258,9 +253,8 @@ public void writeItems(List items) throws Exception { } ---- -[[BCGCCFAC]] +[[BCGCCFAC]][[the-listener-batch-artifacts]] -[[the-listener-batch-artifacts]] The Listener Batch Artifacts ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -301,9 +295,8 @@ public class InfoItemProcessListener implements ItemProcessListener { } ---- -[[sthref285]] +[[sthref285]][[the-task-step-batch-artifact]] -[[the-task-step-batch-artifact]] The Task Step Batch Artifact ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -332,9 +325,8 @@ public String process() throws Exception { } ---- -[[sthref286]] +[[sthref286]][[the-javaserver-faces-pages]] -[[the-javaserver-faces-pages]] The JavaServer Faces Pages ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -373,9 +365,8 @@ status of the batch job and displays the results when the job finishes: ---- -[[sthref287]] +[[sthref287]][[the-managed-bean]] -[[the-managed-bean]] The Managed Bean ^^^^^^^^^^^^^^^^ @@ -407,9 +398,8 @@ public String getJobStatus() { The `showResults` method reads the results from a text file. -[[BABFIHJA]] +[[BABFIHJA]][[running-the-webserverlog-example-application]] -[[running-the-webserverlog-example-application]] Running the webserverlog Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -423,9 +413,8 @@ NetBeans IDE] * link:#BABGACCD[To Run the webserverlog Example Application Using Maven] -[[BABHIJBE]] +[[BABHIJBE]][[to-run-the-webserverlog-example-application-using-netbeans-ide]] -[[to-run-the-webserverlog-example-application-using-netbeans-ide]] To Run the webserverlog Example Application Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -453,9 +442,8 @@ the server; and launches a web browser window at the following URL: http://localhost:8080/webserverlog/ ---- -[[BABGACCD]] +[[BABGACCD]][[to-run-the-webserverlog-example-application-using-maven]] -[[to-run-the-webserverlog-example-application-using-maven]] To Run the webserverlog Example Application Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/batch-processing009.adoc b/src/main/jbake/content/batch-processing009.adoc index 800f8bc..03965cf 100644 --- a/src/main/jbake/content/batch-processing009.adoc +++ b/src/main/jbake/content/batch-processing009.adoc @@ -7,9 +7,8 @@ prev=batch-processing008.html The phonebilling Example Application ==================================== -[[BCGFCACD]] +[[BCGFCACD]][[the-phonebilling-example-application]] -[[the-phonebilling-example-application]] The phonebilling Example Application ------------------------------------ @@ -24,9 +23,8 @@ The following topics are addressed here: * link:#BABDEIFG[Architecture of the phonebilling Example Application] * link:#BABBGDAA[Running the phonebilling Example Application] -[[BABDEIFG]] +[[BABDEIFG]][[architecture-of-the-phonebilling-example-application]] -[[architecture-of-the-phonebilling-example-application]] Architecture of the phonebilling Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -61,9 +59,8 @@ resulting bill for each customer. The bean submits the job to the batch runtime, checks on the status of the job, and reads the text files for each bill. -[[sthref288]] +[[sthref288]][[the-job-definition-file]] -[[the-job-definition-file]] The Job Definition File ^^^^^^^^^^^^^^^^^^^^^^^ @@ -126,9 +123,8 @@ This step is a partitioned chunk step. The partition plan is specified through the `BillPartitionMapper` artifact instead of using the `plan` element. -[[sthref289]] +[[sthref289]][[the-callrecord-and-phonebill-entities]] -[[the-callrecord-and-phonebill-entities]] The CallRecord and PhoneBill Entities ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -221,9 +217,8 @@ link:persistence-intro.html#BNBPZ[Chapter 40, "Introduction to the Java Persistence API"]. For more information on the JSON Processing API, see link:jsonp.html#GLRBB[Chapter 20, "JSON Processing"]. -[[sthref290]] +[[sthref290]][[the-call-records-chunk-step]] -[[the-call-records-chunk-step]] The Call Records Chunk Step ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -310,9 +305,8 @@ public void writeItems(List callList) throws Exception { } ---- -[[BCGGGAHB]] +[[BCGGGAHB]][[the-phone-billing-chunk-step]] -[[the-phone-billing-chunk-step]] The Phone Billing Chunk Step ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -412,9 +406,8 @@ bill and calculates the tax and total amount due for each bill. The `BillWriter` artifact writes each bill to a plain text file. -[[sthref291]] +[[sthref291]][[the-javaserver-faces-pages]] -[[the-javaserver-faces-pages]] The JavaServer Faces Pages ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -459,9 +452,8 @@ status of the batch job and displays the bills when the job finishes: ---- -[[sthref292]] +[[sthref292]][[the-managed-bean]] -[[the-managed-bean]] The Managed Bean ^^^^^^^^^^^^^^^^ @@ -495,9 +487,8 @@ public String getJobStatus() { The `getRowList` method of the bean creates a list of bills to be displayed on the `jobstarted.xhtml` JSF page using a table. -[[BABBGDAA]] +[[BABBGDAA]][[running-the-phonebilling-example-application]] -[[running-the-phonebilling-example-application]] Running the phonebilling Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -511,9 +502,8 @@ NetBeans IDE] * link:#BABFHIIB[To Run the phonebilling Example Application Using Maven] -[[BABIBBBG]] +[[BABIBBBG]][[to-run-the-phonebilling-example-application-using-netbeans-ide]] -[[to-run-the-phonebilling-example-application-using-netbeans-ide]] To Run the phonebilling Example Application Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -541,9 +531,8 @@ the server; and launches a web browser window at the following URL: http://localhost:8080/phonebilling/ ---- -[[BABFHIIB]] +[[BABFHIIB]][[to-run-the-phonebilling-example-application-using-maven]] -[[to-run-the-phonebilling-example-application-using-maven]] To Run the phonebilling Example Application Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/batch-processing010.adoc b/src/main/jbake/content/batch-processing010.adoc index 9bb2bda..4b4985f 100644 --- a/src/main/jbake/content/batch-processing010.adoc +++ b/src/main/jbake/content/batch-processing010.adoc @@ -7,9 +7,8 @@ prev=batch-processing009.html Further Information about Batch Processing ========================================== -[[BCGHCHAJ]] +[[BCGHCHAJ]][[further-information-about-batch-processing]] -[[further-information-about-batch-processing]] Further Information about Batch Processing ------------------------------------------ diff --git a/src/main/jbake/content/bean-validation-advanced.adoc b/src/main/jbake/content/bean-validation-advanced.adoc index 2072449..481662c 100644 --- a/src/main/jbake/content/bean-validation-advanced.adoc +++ b/src/main/jbake/content/bean-validation-advanced.adoc @@ -7,9 +7,8 @@ prev=bean-validation005.html Bean Validation: Advanced Topics ================================ -[[GKAHP]] +[[GKAHP]][[bean-validation-advanced-topics]] -[[bean-validation-advanced-topics]] 24 Bean Validation: Advanced Topics ----------------------------------- diff --git a/src/main/jbake/content/bean-validation-advanced001.adoc b/src/main/jbake/content/bean-validation-advanced001.adoc index f5b8b26..f77b92d 100644 --- a/src/main/jbake/content/bean-validation-advanced001.adoc +++ b/src/main/jbake/content/bean-validation-advanced001.adoc @@ -7,9 +7,8 @@ prev=bean-validation-advanced.html # Creating Custom Constraints -[[GKFGX]] +[[GKFGX]][[creating-custom-constraints]] -[[creating-custom-constraints]] Creating Custom Constraints --------------------------- @@ -23,9 +22,8 @@ The following topics are addressed here: * link:#implementing-temporal-constraints-using-clockprovider[Implementing Temporal Constraints Using ClockProvider] * link:#custom-constraints[Custom Constraints] -[[GKAIA]] +[[GKAIA]][[using-the-built-in-constraints-to-make-a-new-constraint]] -[[using-the-built-in-constraints-to-make-a-new-constraint]] Using the Built-In Constraints to Make a New Constraint ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -86,9 +84,8 @@ You can also implement a `Constraint Validator` to validate the constraint `@USP protected String phone; ---- -[[CIHCICAI]] +[[CIHCICAI]][[removing-ambiguity-in-constraint-targets]] -[[removing-ambiguity-in-constraint-targets]] Removing Ambiguity in Constraint Targets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/bean-validation-advanced002.adoc b/src/main/jbake/content/bean-validation-advanced002.adoc index c6425c3..d04ca36 100644 --- a/src/main/jbake/content/bean-validation-advanced002.adoc +++ b/src/main/jbake/content/bean-validation-advanced002.adoc @@ -7,9 +7,8 @@ prev=bean-validation-advanced001.html Customizing Validator Messages ============================== -[[GKAHI]] +[[GKAHI]][[customizing-validator-messages]] -[[customizing-validator-messages]] Customizing Validator Messages ------------------------------ @@ -21,9 +20,8 @@ The following topics are addressed here: * link:#GKAGY[The ValidationMessages Resource Bundle] -[[GKAGY]] +[[GKAGY]][[the-validationmessages-resource-bundle]] -[[the-validationmessages-resource-bundle]] The ValidationMessages Resource Bundle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -33,9 +31,8 @@ messages. The `ValidationMessages` resource bundle is typically a properties file, `ValidationMessages.properties`, in the default package of an application. -[[GKAIQ]] +[[GKAIQ]][[localizing-validation-messages]] -[[localizing-validation-messages]] Localizing Validation Messages ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/bean-validation-advanced003.adoc b/src/main/jbake/content/bean-validation-advanced003.adoc index 50ffbf2..6109dd6 100644 --- a/src/main/jbake/content/bean-validation-advanced003.adoc +++ b/src/main/jbake/content/bean-validation-advanced003.adoc @@ -7,9 +7,8 @@ prev=bean-validation-advanced002.html Grouping Constraints ==================== -[[GKAGV]] +[[GKAGV]][[grouping-constraints]] -[[grouping-constraints]] Grouping Constraints -------------------- @@ -58,9 +57,8 @@ validating all constraints declared as part of the supergroup. For example, validating the `Manager` group results in the `workPhone` field being validated, because `Employee` is a superinterface of `Manager`. -[[GKAGU]] +[[GKAGU]][[customizing-group-validation-order]] -[[customizing-group-validation-order]] Customizing Group Validation Order ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/bean-validation-advanced004.adoc b/src/main/jbake/content/bean-validation-advanced004.adoc index 05bd8c9..b87105e 100644 --- a/src/main/jbake/content/bean-validation-advanced004.adoc +++ b/src/main/jbake/content/bean-validation-advanced004.adoc @@ -7,9 +7,8 @@ prev=bean-validation-advanced003.html Using Method Constraints in Type Hierarchies ============================================ -[[CIHGJBGI]] +[[CIHGJBGI]][[using-method-constraints-in-type-hierarchies]] -[[using-method-constraints-in-type-hierarchies]] Using Method Constraints in Type Hierarchies -------------------------------------------- @@ -111,9 +110,8 @@ that calls `PaymentService.processOrder` doesn't expect these constraints. This is another example of strengthening the preconditions of a subtype and will result in a `ConstraintDeclarationException`. -[[sthref125]] +[[sthref125]][[rules-for-using-method-constraints-in-type-hierarchies]] -[[rules-for-using-method-constraints-in-type-hierarchies]] Rules for Using Method Constraints in Type Hierarchies ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/bean-validation.adoc b/src/main/jbake/content/bean-validation.adoc index 73c6a04..562ef51 100644 --- a/src/main/jbake/content/bean-validation.adoc +++ b/src/main/jbake/content/bean-validation.adoc @@ -7,9 +7,8 @@ prev=partbeanvalidation.html = Introduction to Bean Validation -[[CHDGJIIA]] +[[CHDGJIIA]][[introduction-to-bean-validation]] -[[introduction-to-bean-validation]] 23 Introduction to Bean Validation ---------------------------------- diff --git a/src/main/jbake/content/bean-validation001.adoc b/src/main/jbake/content/bean-validation001.adoc index 327ef5c..1364543 100644 --- a/src/main/jbake/content/bean-validation001.adoc +++ b/src/main/jbake/content/bean-validation001.adoc @@ -7,9 +7,8 @@ prev=bean-validation.html # Overview of Bean Validation -[[A1101988]] +[[A1101988]][[overview-of-bean-validation]] -[[overview-of-bean-validation]] Overview of Bean Validation --------------------------- diff --git a/src/main/jbake/content/bean-validation002.adoc b/src/main/jbake/content/bean-validation002.adoc index 3e566fd..f5bd0bd 100644 --- a/src/main/jbake/content/bean-validation002.adoc +++ b/src/main/jbake/content/bean-validation002.adoc @@ -7,9 +7,8 @@ prev=bean-validation001.html # Using Bean Validation Constraints -[[GIRCZ]] +[[GIRCZ]][[using-bean-validation-constraints]] -[[using-bean-validation-constraints]] Using Bean Validation Constraints --------------------------------- diff --git a/src/main/jbake/content/bean-validation003.adoc b/src/main/jbake/content/bean-validation003.adoc index 9604ef5..f5bedc1 100644 --- a/src/main/jbake/content/bean-validation003.adoc +++ b/src/main/jbake/content/bean-validation003.adoc @@ -7,9 +7,8 @@ prev=bean-validation002.html # Validating Null and Empty Strings -[[GKCRG]] +[[GKCRG]][[validating-null-and-empty-strings]] -[[validating-null-and-empty-strings]] Validating Null and Empty Strings --------------------------------- diff --git a/src/main/jbake/content/bean-validation004.adoc b/src/main/jbake/content/bean-validation004.adoc index 74a4588..7383840 100644 --- a/src/main/jbake/content/bean-validation004.adoc +++ b/src/main/jbake/content/bean-validation004.adoc @@ -7,9 +7,8 @@ prev=bean-validation003.html # Validating Constructors and Methods -[[CACJIBEJ]] +[[CACJIBEJ]][[validating-constructors-and-methods]] -[[validating-constructors-and-methods]] Validating Constructors and Methods ----------------------------------- @@ -48,9 +47,8 @@ care must be taken to avoid unintended behavior by subtypes. See link:bean-validation-advanced004.html#CIHGJBGI[Using Method Constraints in Type Hierarchies] for more information. -[[sthref122]] +[[sthref122]][[cross-parameter-constraints]] -[[cross-parameter-constraints]] Cross-Parameter Constraints ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -107,9 +105,9 @@ public Map<@NotNull String, @USPhoneNumber String> getAddressesByType() { } In this sample, `@Email` is an in-built constraint supported by Bean Validation, and `@USPhoneNumber` is a user-defined constraint. See link:bean-validation-advanced001.html#GKAIA[Using the Built-In Constraints to Make a New Constraint]. `@USPhoneNumber` has `ElementType.TYPE_USE` as one of its `@Target`, and therefore it is possible to use `@USPhoneNumber` constraint for validating type arguments of parameterized types. -[[sthref123]] -[[identifying-parameter-constraint-violations]] +[[sthref123]][[identifying-parameter-constraint-violations]] + Identifying Parameter Constraint Violations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -119,9 +117,8 @@ parameter caused the constraint violation. The parameter index is in the form `arg`PARAMETER_INDEX, where PARAMETER_INDEX is an integer that starts at 0 for the first parameter of the method or constructor. -[[sthref124]] +[[sthref124]][[adding-constraints-to-method-return-values]] -[[adding-constraints-to-method-return-values]] Adding Constraints to Method Return Values ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/bean-validation005.adoc b/src/main/jbake/content/bean-validation005.adoc index 8a5d334..ed620cb 100644 --- a/src/main/jbake/content/bean-validation005.adoc +++ b/src/main/jbake/content/bean-validation005.adoc @@ -7,9 +7,8 @@ prev=bean-validation004.html Further Information about Bean Validation ========================================= -[[CACDECFE]] +[[CACDECFE]][[further-information-about-bean-validation]] -[[further-information-about-bean-validation]] Further Information about Bean Validation ----------------------------------------- diff --git a/src/main/jbake/content/cdi-adv-examples.adoc b/src/main/jbake/content/cdi-adv-examples.adoc index dc47de9..289325e 100644 --- a/src/main/jbake/content/cdi-adv-examples.adoc +++ b/src/main/jbake/content/cdi-adv-examples.adoc @@ -7,9 +7,8 @@ prev=cdi-bootstrap-se8002.html = Running the Advanced Contexts and Dependency Injection Examples -[[GKHRE]] +[[GKHRE]][[running-the-advanced-contexts-and-dependency-injection-examples]] -[[running-the-advanced-contexts-and-dependency-injection-examples]] 29 Running the Advanced Contexts and Dependency Injection Examples ------------------------------------------------------------------ diff --git a/src/main/jbake/content/cdi-adv-examples001.adoc b/src/main/jbake/content/cdi-adv-examples001.adoc index 60dafb9..98e2968 100644 --- a/src/main/jbake/content/cdi-adv-examples001.adoc +++ b/src/main/jbake/content/cdi-adv-examples001.adoc @@ -7,9 +7,8 @@ prev=cdi-adv-examples.html = Building and Running the CDI Advanced Examples -[[A1251406]] +[[A1251406]][[building-and-running-the-cdi-advanced-examples]] -[[building-and-running-the-cdi-advanced-examples]] Building and Running the CDI Advanced Examples ---------------------------------------------- diff --git a/src/main/jbake/content/cdi-adv-examples002.adoc b/src/main/jbake/content/cdi-adv-examples002.adoc index 8787098..0e28b39 100644 --- a/src/main/jbake/content/cdi-adv-examples002.adoc +++ b/src/main/jbake/content/cdi-adv-examples002.adoc @@ -7,9 +7,8 @@ prev=cdi-adv-examples001.html = The encoder Example: Using Alternatives -[[GKHPU]] +[[GKHPU]][[the-encoder-example-using-alternatives]] -[[the-encoder-example-using-alternatives]] The encoder Example: Using Alternatives --------------------------------------- @@ -29,9 +28,8 @@ The following topics are addressed here: * link:#GKHPM[The encoder Facelets Page and Managed Bean] * link:#GKHQQ[Running the encoder Example] -[[GKHQA]] +[[GKHQA]][[the-coder-interface-and-implementations]] -[[the-coder-interface-and-implementations]] The Coder Interface and Implementations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -88,9 +86,8 @@ This means that by default, the `TestCoderImpl` class, annotated `@Alternative`, will not be used. Instead, the `CoderImpl` class will be used. -[[GKHPM]] +[[GKHPM]][[the-encoder-facelets-page-and-managed-bean]] -[[the-encoder-facelets-page-and-managed-bean]] The encoder Facelets Page and Managed Bean ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -190,18 +187,16 @@ Facelets page: } ---- -[[GKHQQ]] +[[GKHQQ]][[running-the-encoder-example]] -[[running-the-encoder-example]] Running the encoder Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can use either NetBeans IDE or Maven to build, package, deploy, and run the `encoder` application. -[[GKHOW]] +[[GKHOW]][[to-build-package-and-deploy-the-encoder-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-encoder-example-using-netbeans-ide]] To Build, Package, and Deploy the encoder Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -224,9 +219,8 @@ This command builds and packages the application into a WAR file, `encoder.war`, located in the `target` directory, and then deploys it to GlassFish Server. -[[GKHQU]] +[[GKHQU]][[to-run-the-encoder-example-using-netbeans-ide]] -[[to-run-the-encoder-example-using-netbeans-ide]] To Run the encoder Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -275,9 +269,8 @@ enter `Java` and `4`, the result is: Result: input string is Java, shift value is 4 ---- -[[GKHQL]] +[[GKHQL]][[to-build-package-and-deploy-the-encoder-example-using-maven]] -[[to-build-package-and-deploy-the-encoder-example-using-maven]] To Build, Package, and Deploy the encoder Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -301,9 +294,8 @@ This command builds and packages the application into a WAR file, `encoder.war`, located in the `target` directory, and then deploys it to GlassFish Server. -[[GKHOL]] +[[GKHOL]][[to-run-the-encoder-example-using-maven]] -[[to-run-the-encoder-example-using-maven]] To Run the encoder Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/cdi-adv-examples003.adoc b/src/main/jbake/content/cdi-adv-examples003.adoc index bfebf33..0f006df 100644 --- a/src/main/jbake/content/cdi-adv-examples003.adoc +++ b/src/main/jbake/content/cdi-adv-examples003.adoc @@ -7,9 +7,8 @@ prev=cdi-adv-examples002.html = The producermethods Example: Using a Producer Method to Choose a Bean Implementation -[[GKHPY]] +[[GKHPY]][[the-producermethods-example-using-a-producer-method-to-choose-a-bean-implementation]] -[[the-producermethods-example-using-a-producer-method-to-choose-a-bean-implementation]] The producermethods Example: Using a Producer Method to Choose a Bean Implementation ------------------------------------------------------------------------------------ @@ -29,9 +28,8 @@ The following topics are addressed here: * link:#GKHRO[Components of the producermethods Example] * link:#GKHQE[Running the producermethods Example] -[[GKHRO]] +[[GKHRO]][[components-of-the-producermethods-example]] -[[components-of-the-producermethods-example]] Components of the producermethods Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -120,9 +118,8 @@ whose selected value is assigned to the property `coderBean.coderType`: ... ---- -[[GKHQE]] +[[GKHQE]][[running-the-producermethods-example]] -[[running-the-producermethods-example]] Running the producermethods Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -137,9 +134,8 @@ Using NetBeans IDE] Using Maven] * link:#GKHQG[To Run the producermethods Example] -[[GKHPE]] +[[GKHPE]][[to-build-package-and-deploy-the-producermethods-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-producermethods-example-using-netbeans-ide]] To Build, Package, and Deploy the producermethods Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -162,9 +158,8 @@ This command builds and packages the application into a WAR file, `producermethods.war`, located in the `target` directory, and then deploys it to GlassFish Server. -[[GKHPS]] +[[GKHPS]][[to-build-package-and-deploy-the-producermethods-example-using-maven]] -[[to-build-package-and-deploy-the-producermethods-example-using-maven]] To Build, Package, and Deploy the producermethods Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -188,9 +183,8 @@ This command builds and packages the application into a WAR file, `producermethods.war`, located in the `target` directory, and then deploys it to GlassFish Server. -[[GKHQG]] +[[GKHQG]][[to-run-the-producermethods-example]] -[[to-run-the-producermethods-example]] To Run the producermethods Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/cdi-adv-examples004.adoc b/src/main/jbake/content/cdi-adv-examples004.adoc index 742ad3c..62398b9 100644 --- a/src/main/jbake/content/cdi-adv-examples004.adoc +++ b/src/main/jbake/content/cdi-adv-examples004.adoc @@ -7,9 +7,8 @@ prev=cdi-adv-examples003.html = The producerfields Example: Using Producer Fields to Generate Resources -[[GKHRG]] +[[GKHRG]][[the-producerfields-example-using-producer-fields-to-generate-resources]] -[[the-producerfields-example-using-producer-fields-to-generate-resources]] The producerfields Example: Using Producer Fields to Generate Resources ----------------------------------------------------------------------- @@ -35,9 +34,8 @@ The following topics are addressed here: * link:#GKHPF[The producerfields Facelets Pages and Managed Bean] * link:#GKHRH[Running the producerfields Example] -[[GKHPP]] +[[GKHPP]][[the-producer-field-for-the-producerfields-example]] -[[the-producer-field-for-the-producerfields-example]] The Producer Field for the producerfields Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -126,9 +124,8 @@ public class JPAResourceProducer { The `EntityManagerFactory` declarations also allow applications to use an application-managed entity manager. -[[GKHPD]] +[[GKHPD]][[the-producerfields-entity-and-session-bean]] -[[the-producerfields-entity-and-session-bean]] The producerfields Entity and Session Bean ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -217,9 +214,8 @@ created so far by creating a query: } ---- -[[GKHPF]] +[[GKHPF]][[the-producerfields-facelets-pages-and-managed-bean]] -[[the-producerfields-facelets-pages-and-managed-bean]] The producerfields Facelets Pages and Managed Bean ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -339,9 +335,8 @@ bean's `getToDos` method. Each row of the table displays the `timeCreated` and `taskText` fields of the individual task. Finally, a Back button returns the user to the `index.xhtml` page. -[[GKHRH]] +[[GKHRH]][[running-the-producerfields-example]] -[[running-the-producerfields-example]] Running the producerfields Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -356,9 +351,8 @@ Using NetBeans IDE] Using Maven] * link:#GKHRR[To Run the producerfields Example] -[[GKHPB]] +[[GKHPB]][[to-build-package-and-deploy-the-producerfields-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-producerfields-example-using-netbeans-ide]] To Build, Package, and Deploy the producerfields Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -384,9 +378,8 @@ This command builds and packages the application into a WAR file, `producerfields.war`, located in the `target` directory, and then deploys it to GlassFish Server. -[[GKHRM]] +[[GKHRM]][[to-build-package-and-deploy-the-producerfields-example-using-maven]] -[[to-build-package-and-deploy-the-producerfields-example-using-maven]] To Build, Package, and Deploy the producerfields Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -413,9 +406,8 @@ This command builds and packages the application into a WAR file, `producerfields.war`, located in the `target` directory, and then deploys it to GlassFish Server. -[[GKHRR]] +[[GKHRR]][[to-run-the-producerfields-example]] -[[to-run-the-producerfields-example]] To Run the producerfields Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/cdi-adv-examples005.adoc b/src/main/jbake/content/cdi-adv-examples005.adoc index 1d7ace9..362d680 100644 --- a/src/main/jbake/content/cdi-adv-examples005.adoc +++ b/src/main/jbake/content/cdi-adv-examples005.adoc @@ -7,9 +7,8 @@ prev=cdi-adv-examples004.html = The billpayment Example: Using Events and Interceptors -[[GKHPA]] +[[GKHPA]][[the-billpayment-example-using-events-and-interceptors]] -[[the-billpayment-example-using-events-and-interceptors]] The billpayment Example: Using Events and Interceptors ------------------------------------------------------ @@ -28,9 +27,8 @@ The following topics are addressed here: * link:#GKHRQ[The LoggedInterceptor Interceptor Class] * link:#GKHPK[Running the billpayment Example] -[[CHDIBGDF]] +[[CHDIBGDF]][[overview-of-the-billpayment-example]] -[[overview-of-the-billpayment-example]] Overview of the billpayment Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -42,9 +40,8 @@ listener handles the event using observer methods. The example also defines an interceptor that is set on a class and on two methods of another class. -[[GKHOK]] +[[GKHOK]][[the-paymentevent-event-class]] -[[the-paymentevent-event-class]] The PaymentEvent Event Class ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -80,9 +77,8 @@ bean using `new` and then populated. For this reason, the CDI container cannot intercept the creation of the bean, and hence it cannot allow interception of its getter and setter methods. -[[GKHRB]] +[[GKHRB]][[the-paymenthandler-event-listener]] -[[the-paymenthandler-event-listener]] The PaymentHandler Event Listener ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -123,9 +119,8 @@ link:#GKHRJ[The billpayment Facelets Pages and Managed Bean]. The `PaymentHandler` bean is annotated `@Logged` so that all its methods can be intercepted. -[[GKHRJ]] +[[GKHRJ]][[the-billpayment-facelets-pages-and-managed-bean]] -[[the-billpayment-facelets-pages-and-managed-bean]] The billpayment Facelets Pages and Managed Bean ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -285,9 +280,8 @@ expression to display the payment method: ---- -[[GKHRQ]] +[[GKHRQ]][[the-loggedinterceptor-interceptor-class]] -[[the-loggedinterceptor-interceptor-class]] The LoggedInterceptor Interceptor Class ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -350,9 +344,8 @@ annotated `@Logged`, so all their methods are intercepted. In `PaymentBean`, only the `pay` and `reset` methods are annotated `@Logged`, so only those methods are intercepted. -[[GKHPK]] +[[GKHPK]][[running-the-billpayment-example]] -[[running-the-billpayment-example]] Running the billpayment Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -367,9 +360,8 @@ Using NetBeans IDE] Using Maven] * link:#GKHPT[To Run the billpayment Example] -[[GKHQS]] +[[GKHQS]][[to-build-package-and-deploy-the-billpayment-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-billpayment-example-using-netbeans-ide]] To Build, Package, and Deploy the billpayment Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -392,9 +384,8 @@ This command builds and packages the application into a WAR file, `billpayment.war`, located in the `target` directory, and then deploys it to GlassFish Server. -[[GKHPX]] +[[GKHPX]][[to-build-package-and-deploy-the-billpayment-example-using-maven]] -[[to-build-package-and-deploy-the-billpayment-example-using-maven]] To Build, Package, and Deploy the billpayment Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -418,9 +409,8 @@ This command builds and packages the application into a WAR file, `billpayment.war`, located in the `target` directory, and then deploys it to GlassFish Server. -[[GKHPT]] +[[GKHPT]][[to-run-the-billpayment-example]] -[[to-run-the-billpayment-example]] To Run the billpayment Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/cdi-adv-examples006.adoc b/src/main/jbake/content/cdi-adv-examples006.adoc index 9452ea5..b9766f1 100644 --- a/src/main/jbake/content/cdi-adv-examples006.adoc +++ b/src/main/jbake/content/cdi-adv-examples006.adoc @@ -7,9 +7,8 @@ prev=cdi-adv-examples005.html The decorators Example: Decorating a Bean ========================================= -[[GKPAX]] +[[GKPAX]][[the-decorators-example-decorating-a-bean]] -[[the-decorators-example-decorating-a-bean]] The decorators Example: Decorating a Bean ----------------------------------------- @@ -27,9 +26,8 @@ The following topics are addressed here: * link:#GKPAQ[Components of the decorators Example] * link:#GKPBK[Running the decorators Example] -[[CHDDDFCI]] +[[CHDDDFCI]][[overview-of-the-decorators-example]] -[[overview-of-the-decorators-example]] Overview of the decorators Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -42,9 +40,8 @@ The example includes an interface, an implementation of it, a decorator, an interceptor, a managed bean, a Facelets page, and configuration files. -[[GKPAQ]] +[[GKPAQ]][[components-of-the-decorators-example]] -[[components-of-the-decorators-example]] Components of the decorators Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -102,9 +99,8 @@ The `beans.xml` file specifies both the decorator and the interceptor: ---- -[[GKPBK]] +[[GKPBK]][[running-the-decorators-example]] -[[running-the-decorators-example]] Running the decorators Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -119,9 +115,8 @@ NetBeans IDE] Maven] * link:#GKPAN[To Run the decorators Example] -[[GKPAG]] +[[GKPAG]][[to-build-package-and-deploy-the-decorators-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-decorators-example-using-netbeans-ide]] To Build, Package, and Deploy the decorators Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -144,9 +139,8 @@ This command builds and packages the application into a WAR file, `decorators.war`, located in the `target` directory, and then deploys it to GlassFish Server. -[[GKPAJ]] +[[GKPAJ]][[to-build-package-and-deploy-the-decorators-example-using-maven]] -[[to-build-package-and-deploy-the-decorators-example-using-maven]] To Build, Package, and Deploy the decorators Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -170,9 +164,8 @@ This command builds and packages the application into a WAR file, `decorators.war`, located in the `target` directory, and then deploys it to GlassFish Server. -[[GKPAN]] +[[GKPAN]][[to-run-the-decorators-example]] -[[to-run-the-decorators-example]] To Run the decorators Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/cdi-adv.adoc b/src/main/jbake/content/cdi-adv.adoc index d4eba73..2df0032 100644 --- a/src/main/jbake/content/cdi-adv.adoc +++ b/src/main/jbake/content/cdi-adv.adoc @@ -7,9 +7,8 @@ prev=cdi-basicexamples003.html = Contexts and Dependency Injection for Java EE: Advanced Topics -[[GJEHI]] +[[GJEHI]][[contexts-and-dependency-injection-for-java-ee-advanced-topics]] -[[contexts-and-dependency-injection-for-java-ee-advanced-topics]] 27 Contexts and Dependency Injection for Java EE: Advanced Topics ----------------------------------------------------------------- diff --git a/src/main/jbake/content/cdi-adv001.adoc b/src/main/jbake/content/cdi-adv001.adoc index 3a2acf7..92605d3 100644 --- a/src/main/jbake/content/cdi-adv001.adoc +++ b/src/main/jbake/content/cdi-adv001.adoc @@ -7,9 +7,8 @@ prev=cdi-adv.html = Packaging CDI Applications -[[CACDCFDE]] +[[CACDCFDE]][[packaging-cdi-applications]] -[[packaging-cdi-applications]] Packaging CDI Applications -------------------------- diff --git a/src/main/jbake/content/cdi-adv002.adoc b/src/main/jbake/content/cdi-adv002.adoc index 96af169..6751aab 100644 --- a/src/main/jbake/content/cdi-adv002.adoc +++ b/src/main/jbake/content/cdi-adv002.adoc @@ -7,9 +7,8 @@ prev=cdi-adv001.html = Using Alternatives in CDI Applications -[[GJSDF]] +[[GJSDF]][[using-alternatives-in-cdi-applications]] -[[using-alternatives-in-cdi-applications]] Using Alternatives in CDI Applications -------------------------------------- @@ -100,9 +99,8 @@ alternative beans that implement the same interface are annotated with `@Priority`. You do not need to specify the alternative in the `beans.xml` file when you use the `@Priority` annotation. -[[GKHPO]] +[[GKHPO]][[using-specialization]] -[[using-specialization]] Using Specialization ~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/cdi-adv003.adoc b/src/main/jbake/content/cdi-adv003.adoc index 39e9001..00a25e6 100644 --- a/src/main/jbake/content/cdi-adv003.adoc +++ b/src/main/jbake/content/cdi-adv003.adoc @@ -7,9 +7,8 @@ prev=cdi-adv002.html = Using Producer Methods, Producer Fields, and Disposer Methods in CDI Applications -[[GKGKV]] +[[GKGKV]][[using-producer-methods-producer-fields-and-disposer-methods-in-cdi-applications]] -[[using-producer-methods-producer-fields-and-disposer-methods-in-cdi-applications]] Using Producer Methods, Producer Fields, and Disposer Methods in CDI Applications --------------------------------------------------------------------------------- @@ -35,9 +34,8 @@ service references. A producer method or field is annotated with the `javax.enterprise.inject.Produces` annotation. -[[sthref127]] +[[sthref127]][[using-producer-methods]] -[[using-producer-methods]] Using Producer Methods ~~~~~~~~~~~~~~~~~~~~~~ @@ -83,9 +81,8 @@ between `CoderImpl`, `TestCoderImpl`, and the one returned by `getCoder` and would cancel deployment, informing the user of the ambiguous dependency. -[[sthref128]] +[[sthref128]][[using-producer-fields-to-generate-resources]] -[[using-producer-fields-to-generate-resources]] Using Producer Fields to Generate Resources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -125,9 +122,8 @@ To minimize the reliance on resource injection, specify the producer field for the resource in one place in the application, and then inject the object wherever in the application you need it. -[[sthref129]] +[[sthref129]][[using-a-disposer-method]] -[[using-a-disposer-method]] Using a Disposer Method ~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/cdi-adv004.adoc b/src/main/jbake/content/cdi-adv004.adoc index a787882..5af281e 100644 --- a/src/main/jbake/content/cdi-adv004.adoc +++ b/src/main/jbake/content/cdi-adv004.adoc @@ -7,9 +7,8 @@ prev=cdi-adv003.html = Using Predefined Beans in CDI Applications -[[CJGHGDBA]] +[[CJGHGDBA]][[using-predefined-beans-in-cdi-applications]] -[[using-predefined-beans-in-cdi-applications]] Using Predefined Beans in CDI Applications ------------------------------------------ diff --git a/src/main/jbake/content/cdi-adv005.adoc b/src/main/jbake/content/cdi-adv005.adoc index 20a7d97..e8eb21e 100644 --- a/src/main/jbake/content/cdi-adv005.adoc +++ b/src/main/jbake/content/cdi-adv005.adoc @@ -7,9 +7,8 @@ prev=cdi-adv004.html = Using Events in CDI Applications -[[GKHIC]] +[[GKHIC]][[using-events-in-cdi-applications]] -[[using-events-in-cdi-applications]] Using Events in CDI Applications -------------------------------- @@ -47,9 +46,8 @@ properties, which have setter and getter methods: The example also defines qualifiers that distinguish between two kinds of `PaymentEvent`. Every event also has the default qualifier `@Any`. -[[GKHNF]] +[[GKHNF]][[using-observer-methods-to-handle-events]] -[[using-observer-methods-to-handle-events]] Using Observer Methods to Handle Events ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -144,9 +142,8 @@ Note the following: * If the `@Priority` annotation is not specified, the default value is `javax.interceptor.Interceptor.Priority.APPLICATION + 500`. * If two or more observer methods are assigned the same priority, the order in which they are invoked is undefined and is therefore unpredictable. -[[GKHIH]] +[[GKHIH]][[firing-events]] -[[firing-events]] Firing Events ~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/cdi-adv006.adoc b/src/main/jbake/content/cdi-adv006.adoc index d7f0ace..b28b9da 100644 --- a/src/main/jbake/content/cdi-adv006.adoc +++ b/src/main/jbake/content/cdi-adv006.adoc @@ -7,9 +7,8 @@ prev=cdi-adv005.html = Using Interceptors in CDI Applications -[[GKHJX]] +[[GKHJX]][[using-interceptors-in-cdi-applications]] -[[using-interceptors-in-cdi-applications]] Using Interceptors in CDI Applications -------------------------------------- diff --git a/src/main/jbake/content/cdi-adv007.adoc b/src/main/jbake/content/cdi-adv007.adoc index abdcd9f..63be590 100644 --- a/src/main/jbake/content/cdi-adv007.adoc +++ b/src/main/jbake/content/cdi-adv007.adoc @@ -7,9 +7,8 @@ prev=cdi-adv006.html = Using Decorators in CDI Applications -[[GKHQF]] +[[GKHQF]][[using-decorators-in-cdi-applications]] -[[using-decorators-in-cdi-applications]] Using Decorators in CDI Applications ------------------------------------ diff --git a/src/main/jbake/content/cdi-adv008.adoc b/src/main/jbake/content/cdi-adv008.adoc index 3391b9a..b39f535 100644 --- a/src/main/jbake/content/cdi-adv008.adoc +++ b/src/main/jbake/content/cdi-adv008.adoc @@ -7,9 +7,8 @@ prev=cdi-adv007.html = Using Stereotypes in CDI Applications -[[GKHQC]] +[[GKHQC]][[using-stereotypes-in-cdi-applications]] -[[using-stereotypes-in-cdi-applications]] Using Stereotypes in CDI Applications ------------------------------------- diff --git a/src/main/jbake/content/cdi-basic.adoc b/src/main/jbake/content/cdi-basic.adoc index dbabf7a..f795cff 100644 --- a/src/main/jbake/content/cdi-basic.adoc +++ b/src/main/jbake/content/cdi-basic.adoc @@ -7,9 +7,8 @@ prev=partcdi.html = Introduction to Contexts and Dependency Injection for Java EE -[[GIWHB]] +[[GIWHB]][[introduction-to-contexts-and-dependency-injection-for-java-ee]] -[[introduction-to-contexts-and-dependency-injection-for-java-ee]] 25 Introduction to Contexts and Dependency Injection for Java EE ---------------------------------------------------------------- diff --git a/src/main/jbake/content/cdi-basic001.adoc b/src/main/jbake/content/cdi-basic001.adoc index 36bbd74..144bbe5 100644 --- a/src/main/jbake/content/cdi-basic001.adoc +++ b/src/main/jbake/content/cdi-basic001.adoc @@ -7,9 +7,8 @@ prev=cdi-basic.html = Getting Started -[[BABJDJGA]] +[[BABJDJGA]][[getting-started]] -[[getting-started]] Getting Started --------------- diff --git a/src/main/jbake/content/cdi-basic002.adoc b/src/main/jbake/content/cdi-basic002.adoc index d984026..430515c 100644 --- a/src/main/jbake/content/cdi-basic002.adoc +++ b/src/main/jbake/content/cdi-basic002.adoc @@ -7,9 +7,8 @@ prev=cdi-basic001.html = Overview of CDI -[[GIWHL]] +[[GIWHL]][[overview-of-cdi]] -[[overview-of-cdi]] Overview of CDI --------------- diff --git a/src/main/jbake/content/cdi-basic003.adoc b/src/main/jbake/content/cdi-basic003.adoc index 8eaada9..d3b3eca 100644 --- a/src/main/jbake/content/cdi-basic003.adoc +++ b/src/main/jbake/content/cdi-basic003.adoc @@ -6,9 +6,8 @@ prev=cdi-basic002.html ~~~~~~ = About Beans -[[GJEBJ]] +[[GJEBJ]][[about-beans]] -[[about-beans]] About Beans ----------- diff --git a/src/main/jbake/content/cdi-basic004.adoc b/src/main/jbake/content/cdi-basic004.adoc index c9efb3c..7fbebbc 100644 --- a/src/main/jbake/content/cdi-basic004.adoc +++ b/src/main/jbake/content/cdi-basic004.adoc @@ -7,9 +7,8 @@ prev=cdi-basic003.html = About CDI Managed Beans -[[GJFZI]] +[[GJFZI]][[about-cdi-managed-beans]] -[[about-cdi-managed-beans]] About CDI Managed Beans ----------------------- diff --git a/src/main/jbake/content/cdi-basic005.adoc b/src/main/jbake/content/cdi-basic005.adoc index d1c6ce6..9f9cf8b 100644 --- a/src/main/jbake/content/cdi-basic005.adoc +++ b/src/main/jbake/content/cdi-basic005.adoc @@ -7,9 +7,8 @@ prev=cdi-basic004.html = Beans as Injectable Objects -[[GIZKS]] +[[GIZKS]][[beans-as-injectable-objects]] -[[beans-as-injectable-objects]] Beans as Injectable Objects --------------------------- diff --git a/src/main/jbake/content/cdi-basic006.adoc b/src/main/jbake/content/cdi-basic006.adoc index 314adbc..c2c8056 100644 --- a/src/main/jbake/content/cdi-basic006.adoc +++ b/src/main/jbake/content/cdi-basic006.adoc @@ -7,9 +7,8 @@ prev=cdi-basic005.html = Using Qualifiers -[[GJBCK]] +[[GJBCK]][[using-qualifiers]] -[[using-qualifiers]] Using Qualifiers ---------------- diff --git a/src/main/jbake/content/cdi-basic007.adoc b/src/main/jbake/content/cdi-basic007.adoc index 77d5af5..aec54cc 100644 --- a/src/main/jbake/content/cdi-basic007.adoc +++ b/src/main/jbake/content/cdi-basic007.adoc @@ -7,9 +7,8 @@ prev=cdi-basic006.html = Injecting Beans -[[GJBAN]] +[[GJBAN]][[injecting-beans]] -[[injecting-beans]] Injecting Beans --------------- diff --git a/src/main/jbake/content/cdi-basic008.adoc b/src/main/jbake/content/cdi-basic008.adoc index 30b0028..fcef974 100644 --- a/src/main/jbake/content/cdi-basic008.adoc +++ b/src/main/jbake/content/cdi-basic008.adoc @@ -7,9 +7,8 @@ prev=cdi-basic007.html = Using Scopes -[[GJBBK]] +[[GJBBK]][[using-scopes]] -[[using-scopes]] Using Scopes ------------ diff --git a/src/main/jbake/content/cdi-basic009.adoc b/src/main/jbake/content/cdi-basic009.adoc index e5f5f66..1b910b3 100644 --- a/src/main/jbake/content/cdi-basic009.adoc +++ b/src/main/jbake/content/cdi-basic009.adoc @@ -7,9 +7,8 @@ prev=cdi-basic008.html = Giving Beans EL Names -[[GJBAK]] +[[GJBAK]][[giving-beans-el-names]] -[[giving-beans-el-names]] Giving Beans EL Names --------------------- diff --git a/src/main/jbake/content/cdi-basic010.adoc b/src/main/jbake/content/cdi-basic010.adoc index 922792b..2dc804b 100644 --- a/src/main/jbake/content/cdi-basic010.adoc +++ b/src/main/jbake/content/cdi-basic010.adoc @@ -7,9 +7,8 @@ prev=cdi-basic009.html = Adding Setter and Getter Methods -[[GJBBP]] +[[GJBBP]][[adding-setter-and-getter-methods]] -[[adding-setter-and-getter-methods]] Adding Setter and Getter Methods -------------------------------- diff --git a/src/main/jbake/content/cdi-basic011.adoc b/src/main/jbake/content/cdi-basic011.adoc index 6e365f2..2a52c7d 100644 --- a/src/main/jbake/content/cdi-basic011.adoc +++ b/src/main/jbake/content/cdi-basic011.adoc @@ -7,9 +7,8 @@ prev=cdi-basic010.html = Using a Managed Bean in a Facelets Page -[[GJBBU]] +[[GJBBU]][[using-a-managed-bean-in-a-facelets-page]] -[[using-a-managed-bean-in-a-facelets-page]] Using a Managed Bean in a Facelets Page --------------------------------------- diff --git a/src/main/jbake/content/cdi-basic012.adoc b/src/main/jbake/content/cdi-basic012.adoc index c1e4f65..7c2f140 100644 --- a/src/main/jbake/content/cdi-basic012.adoc +++ b/src/main/jbake/content/cdi-basic012.adoc @@ -7,9 +7,8 @@ prev=cdi-basic011.html = Injecting Objects by Using Producer Methods -[[GJDID]] +[[GJDID]][[injecting-objects-by-using-producer-methods]] -[[injecting-objects-by-using-producer-methods]] Injecting Objects by Using Producer Methods ------------------------------------------- diff --git a/src/main/jbake/content/cdi-basic013.adoc b/src/main/jbake/content/cdi-basic013.adoc index 3101a4c..8385466 100644 --- a/src/main/jbake/content/cdi-basic013.adoc +++ b/src/main/jbake/content/cdi-basic013.adoc @@ -7,9 +7,8 @@ prev=cdi-basic012.html = Configuring a CDI Application -[[GJBNZ]] +[[GJBNZ]][[configuring-a-cdi-application]] -[[configuring-a-cdi-application]] Configuring a CDI Application ----------------------------- diff --git a/src/main/jbake/content/cdi-basic014.adoc b/src/main/jbake/content/cdi-basic014.adoc index bd87fa1..4cbce53 100644 --- a/src/main/jbake/content/cdi-basic014.adoc +++ b/src/main/jbake/content/cdi-basic014.adoc @@ -7,9 +7,8 @@ prev=cdi-basic013.html = Using the @PostConstruct and @PreDestroy Annotations with CDI Managed Bean Classes -[[BABJFEAI]] +[[BABJFEAI]][[using-the-postconstruct-and-predestroy-annotations-with-cdi-managed-bean-classes]] -[[using-the-postconstruct-and-predestroy-annotations-with-cdi-managed-bean-classes]] Using the @PostConstruct and @PreDestroy Annotations with CDI Managed Bean Classes ---------------------------------------------------------------------------------- @@ -25,9 +24,8 @@ Annotation] * link:#CIHBAFAC[To Prepare for the Destruction of a Managed Bean Using the @PreDestroy Annotation] -[[CIHEHHCH]] +[[CIHEHHCH]][[to-initialize-a-managed-bean-using-the-postconstruct-annotation]] -[[to-initialize-a-managed-bean-using-the-postconstruct-annotation]] To Initialize a Managed Bean Using the @PostConstruct Annotation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -73,9 +71,8 @@ public void reset () { } ---- -[[CIHBAFAC]] +[[CIHBAFAC]][[to-prepare-for-the-destruction-of-a-managed-bean-using-the-predestroy-annotation]] -[[to-prepare-for-the-destruction-of-a-managed-bean-using-the-predestroy-annotation]] To Prepare for the Destruction of a Managed Bean Using the @PreDestroy Annotation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/cdi-basic015.adoc b/src/main/jbake/content/cdi-basic015.adoc index 8ca736f..3e2a878 100644 --- a/src/main/jbake/content/cdi-basic015.adoc +++ b/src/main/jbake/content/cdi-basic015.adoc @@ -7,9 +7,8 @@ prev=cdi-basic014.html = Further Information about CDI -[[GIWEL]] +[[GIWEL]][[further-information-about-cdi]] -[[further-information-about-cdi]] Further Information about CDI ----------------------------- diff --git a/src/main/jbake/content/cdi-basicexamples.adoc b/src/main/jbake/content/cdi-basicexamples.adoc index 66aacc4..9b9d5a5 100644 --- a/src/main/jbake/content/cdi-basicexamples.adoc +++ b/src/main/jbake/content/cdi-basicexamples.adoc @@ -7,9 +7,8 @@ prev=cdi-basic015.html = Running the Basic Contexts and Dependency Injection Examples -[[GJBLS]] +[[GJBLS]][[running-the-basic-contexts-and-dependency-injection-examples]] -[[running-the-basic-contexts-and-dependency-injection-examples]] 26 Running the Basic Contexts and Dependency Injection Examples --------------------------------------------------------------- diff --git a/src/main/jbake/content/cdi-basicexamples001.adoc b/src/main/jbake/content/cdi-basicexamples001.adoc index e2005cd..6ff336e 100644 --- a/src/main/jbake/content/cdi-basicexamples001.adoc +++ b/src/main/jbake/content/cdi-basicexamples001.adoc @@ -7,9 +7,8 @@ prev=cdi-basicexamples.html = Building and Running the CDI Samples -[[A1250045]] +[[A1250045]][[building-and-running-the-cdi-samples]] -[[building-and-running-the-cdi-samples]] Building and Running the CDI Samples ------------------------------------ diff --git a/src/main/jbake/content/cdi-basicexamples002.adoc b/src/main/jbake/content/cdi-basicexamples002.adoc index 941c8bb..aadabfa 100644 --- a/src/main/jbake/content/cdi-basicexamples002.adoc +++ b/src/main/jbake/content/cdi-basicexamples002.adoc @@ -6,9 +6,8 @@ prev=cdi-basicexamples001.html ~~~~~~ = The simplegreeting CDI Example -[[GJBJU]] +[[GJBJU]][[the-simplegreeting-cdi-example]] -[[the-simplegreeting-cdi-example]] The simplegreeting CDI Example ------------------------------ @@ -25,9 +24,8 @@ The following topics are addressed here: * link:#GJDOJ[The Facelets Template and Page] * link:#GJCYM[Running the simplegreeting Example] -[[GJCQS]] +[[GJCQS]][[the-simplegreeting-source-files]] -[[the-simplegreeting-source-files]] The simplegreeting Source Files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -46,9 +44,8 @@ The source files are located in the `_tut-install_/examples/cdi/simplegreeting/src/main/java/javaeetutorial/simplegreeting` directory. -[[GJDOJ]] +[[GJDOJ]][[the-facelets-template-and-page]] -[[the-facelets-template-and-page]] The Facelets Template and Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -148,9 +145,8 @@ following location: tut-install/examples/cdi/simplegreeting/src/main/webapp/resources/css/default.css ---- -[[GJCYM]] +[[GJCYM]][[running-the-simplegreeting-example]] -[[running-the-simplegreeting-example]] Running the simplegreeting Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -165,9 +161,8 @@ Using NetBeans IDE] Using Maven] * link:#GJCZE[To Run the simplegreeting Example] -[[GJCXP]] +[[GJCXP]][[to-build-package-and-run-the-simplegreeting-example-using-netbeans-ide]] -[[to-build-package-and-run-the-simplegreeting-example-using-netbeans-ide]] To Build, Package, and Run the simplegreeting Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -203,9 +198,8 @@ This command builds and packages the application into a WAR file, `simplegreeting.war`, located in the `target` directory, and then deploys it to GlassFish Server. -[[GJCZT]] +[[GJCZT]][[to-build-package-and-deploy-the-simplegreeting-example-using-maven]] -[[to-build-package-and-deploy-the-simplegreeting-example-using-maven]] To Build, Package, and Deploy the simplegreeting Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -229,9 +223,8 @@ This command builds and packages the application into a WAR file, `simplegreeting.war`, located in the `target` directory, and then deploys it to GlassFish Server. -[[GJCZE]] +[[GJCZE]][[to-run-the-simplegreeting-example]] -[[to-run-the-simplegreeting-example]] To Run the simplegreeting Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/cdi-basicexamples003.adoc b/src/main/jbake/content/cdi-basicexamples003.adoc index 604c4d5..bbf6671 100644 --- a/src/main/jbake/content/cdi-basicexamples003.adoc +++ b/src/main/jbake/content/cdi-basicexamples003.adoc @@ -6,9 +6,8 @@ prev=cdi-basicexamples002.html ~~~~~~ = The guessnumber-cdi CDI Example -[[GJCXV]] +[[GJCXV]][[the-guessnumber-cdi-cdi-example]] -[[the-guessnumber-cdi-cdi-example]] The guessnumber-cdi CDI Example ------------------------------- @@ -31,9 +30,8 @@ The following topics are addressed here: * link:#GJDON[The Facelets Page] * link:#GJDPW[Running the guessnumber-cdi Example] -[[GJDJU]] +[[GJDJU]][[the-guessnumber-cdi-source-files]] -[[the-guessnumber-cdi-source-files]] The guessnumber-cdi Source Files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -48,9 +46,8 @@ The source files are located in the `_tut-install_/examples/cdi/guessnumber-cdi/src/main/java/javaeetutorial/guessnumber` directory. -[[GJDJP]] +[[GJDJP]][[the-maxnumber-and-random-qualifier-interfaces]] -[[the-maxnumber-and-random-qualifier-interfaces]] The @MaxNumber and @Random Qualifier Interfaces ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -102,9 +99,8 @@ public @interface Random { } ---- -[[GJDJN]] +[[GJDJN]][[the-generator-managed-bean]] -[[the-generator-managed-bean]] The Generator Managed Bean ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -146,9 +142,8 @@ public class Generator implements Serializable { } ---- -[[GJDHY]] +[[GJDHY]][[the-usernumberbean-managed-bean]] -[[the-usernumberbean-managed-bean]] The UserNumberBean Managed Bean ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -277,9 +272,8 @@ public class UserNumberBean implements Serializable { } ---- -[[GJDON]] +[[GJDON]][[the-facelets-page]] -[[the-facelets-page]] The Facelets Page ~~~~~~~~~~~~~~~~~ @@ -353,9 +347,8 @@ maximum or minimum value or, if the guess is correct, to generate a `FacesMessage` to that effect. The method that determines whether each guess is valid is `userNumberBean.validateNumberRange`. -[[GJDPW]] +[[GJDPW]][[running-the-guessnumber-cdi-example]] -[[running-the-guessnumber-cdi-example]] Running the guessnumber-cdi Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -370,9 +363,8 @@ Using NetBeans IDE] Using Maven] * link:#GJDQB[To Run the guessnumber Example] -[[GJDPS]] +[[GJDPS]][[to-build-package-and-deploy-the-guessnumber-cdi-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-guessnumber-cdi-example-using-netbeans-ide]] To Build, Package, and Deploy the guessnumber-cdi Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -395,9 +387,8 @@ This command builds and packages the application into a WAR file, `guessnumber-cdi.war`, located in the `target` directory, and then deploys it to GlassFish Server. -[[GJDPR]] +[[GJDPR]][[to-build-package-and-deploy-the-guessnumber-cdi-example-using-maven]] -[[to-build-package-and-deploy-the-guessnumber-cdi-example-using-maven]] To Build, Package, and Deploy the guessnumber-cdi Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -421,9 +412,8 @@ This command builds and packages the application into a WAR file, `guessnumber-cdi.war`, located in the `target` directory, and then deploys it to GlassFish Server. -[[GJDQB]] +[[GJDQB]][[to-run-the-guessnumber-example]] -[[to-run-the-guessnumber-example]] To Run the guessnumber Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/concurrency-utilities.adoc b/src/main/jbake/content/concurrency-utilities.adoc index 8dbf0ef..83ece85 100644 --- a/src/main/jbake/content/concurrency-utilities.adoc +++ b/src/main/jbake/content/concurrency-utilities.adoc @@ -7,9 +7,8 @@ prev=batch-processing010.html = Concurrency Utilities for Java EE -[[GKJIQ8]] +[[GKJIQ8]][[concurrency-utilities-for-java-ee]] -[[concurrency-utilities-for-java-ee]] 60 Concurrency Utilities for Java EE ------------------------------------ diff --git a/src/main/jbake/content/concurrency-utilities001.adoc b/src/main/jbake/content/concurrency-utilities001.adoc index 7c7c156..5592837 100644 --- a/src/main/jbake/content/concurrency-utilities001.adoc +++ b/src/main/jbake/content/concurrency-utilities001.adoc @@ -7,9 +7,8 @@ prev=concurrency-utilities.html = Concurrency Basics -[[CIHDFGGG]] +[[CIHDFGGG]][[concurrency-basics]] -[[concurrency-basics]] Concurrency Basics ------------------ @@ -24,9 +23,8 @@ which was the basis for implementing many of the services offered by Java EE containers. At Java SE 5, additional high-level API support for concurrency was provided by the `java.util.concurrent` package. -[[sthref293]] +[[sthref293]][[threads-and-processes]] -[[threads-and-processes]] Threads and Processes ~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/concurrency-utilities002.adoc b/src/main/jbake/content/concurrency-utilities002.adoc index 61e9621..4706141 100644 --- a/src/main/jbake/content/concurrency-utilities002.adoc +++ b/src/main/jbake/content/concurrency-utilities002.adoc @@ -7,9 +7,8 @@ prev=concurrency-utilities001.html = Main Components of the Concurrency Utilities -[[CIHFBCFH]] +[[CIHFBCFH]][[main-components-of-the-concurrency-utilities]] -[[main-components-of-the-concurrency-utilities]] Main Components of the Concurrency Utilities -------------------------------------------- diff --git a/src/main/jbake/content/concurrency-utilities003.adoc b/src/main/jbake/content/concurrency-utilities003.adoc index abab783..28d66b6 100644 --- a/src/main/jbake/content/concurrency-utilities003.adoc +++ b/src/main/jbake/content/concurrency-utilities003.adoc @@ -7,9 +7,8 @@ prev=concurrency-utilities002.html = Concurrency and Transactions -[[CIHIDBDG]] +[[CIHIDBDG]][[concurrency-and-transactions]] -[[concurrency-and-transactions]] Concurrency and Transactions ---------------------------- diff --git a/src/main/jbake/content/concurrency-utilities004.adoc b/src/main/jbake/content/concurrency-utilities004.adoc index 5d69621..9b2dba8 100644 --- a/src/main/jbake/content/concurrency-utilities004.adoc +++ b/src/main/jbake/content/concurrency-utilities004.adoc @@ -7,9 +7,8 @@ prev=concurrency-utilities003.html = Concurrency and Security -[[CIHCACAA]] +[[CIHCACAA]][[concurrency-and-security]] -[[concurrency-and-security]] Concurrency and Security ------------------------ diff --git a/src/main/jbake/content/concurrency-utilities005.adoc b/src/main/jbake/content/concurrency-utilities005.adoc index 7b57a4b..81cbbe0 100644 --- a/src/main/jbake/content/concurrency-utilities005.adoc +++ b/src/main/jbake/content/concurrency-utilities005.adoc @@ -7,9 +7,8 @@ prev=concurrency-utilities004.html = The jobs Concurrency Example -[[CIHCGGEG]] +[[CIHCGGEG]][[the-jobs-concurrency-example]] -[[the-jobs-concurrency-example]] The jobs Concurrency Example ---------------------------- @@ -44,9 +43,8 @@ processing will be much faster. This differentiation is made possible by the use of two different Managed Executor Services, one for each type of request. -[[sthref294]] +[[sthref294]][[running-the-jobs-example]] -[[running-the-jobs-example]] Running the jobs Example ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -67,9 +65,8 @@ Priority] * link:#CHDHEABJ[To Run the jobs Example and Submit Jobs with High Priority] -[[CHDCIBBD]] +[[CHDCIBBD]][[to-configure-glassfish-server-for-the-basic-concurrency-example]] -[[to-configure-glassfish-server-for-the-basic-concurrency-example]] To Configure GlassFish Server for the Basic Concurrency Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -99,9 +96,8 @@ values for other settings): * Task Queue Capacity: 0 10. Click OK. -[[CHDFBAHJ]] +[[CHDFBAHJ]][[to-build-package-and-deploy-the-jobs-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-jobs-example-using-netbeans-ide]] To Build, Package, and Deploy the jobs Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -122,9 +118,8 @@ Build. + This command builds and deploys the application. -[[CHDECFFF]] +[[CHDECFFF]][[to-build-package-and-deploy-the-jobs-example-using-maven]] -[[to-build-package-and-deploy-the-jobs-example-using-maven]] To Build, Package, and Deploy the jobs Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -144,9 +139,8 @@ tut-install/examples/concurrency/jobs mvn install ---- -[[CHDFHHAF]] +[[CHDFHHAF]][[to-run-the-jobs-example-and-submit-jobs-with-low-priority]] -[[to-run-the-jobs-example-and-submit-jobs-with-low-priority]] To Run the jobs Example and Submit Jobs with Low Priority ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -201,9 +195,8 @@ INFO: Job 2 was NOT submitted INFO: Task finished LOW-1 ---- -[[CHDHEABJ]] +[[CHDHEABJ]][[to-run-the-jobs-example-and-submit-jobs-with-high-priority]] -[[to-run-the-jobs-example-and-submit-jobs-with-high-priority]] To Run the jobs Example and Submit Jobs with High Priority ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/concurrency-utilities006.adoc b/src/main/jbake/content/concurrency-utilities006.adoc index 9501267..1b13e44 100644 --- a/src/main/jbake/content/concurrency-utilities006.adoc +++ b/src/main/jbake/content/concurrency-utilities006.adoc @@ -7,9 +7,8 @@ prev=concurrency-utilities005.html = The taskcreator Concurrency Example -[[CIHBFEAE]] +[[CIHBFEAE]][[the-taskcreator-concurrency-example]] -[[the-taskcreator-concurrency-example]] The taskcreator Concurrency Example ----------------------------------- @@ -95,9 +94,8 @@ public void submitTask(Task task, String type) { For periodic tasks, `TaskEJB` keeps a reference to the `ScheduledFuture` object, so that the user can cancel the task at any time. -[[sthref296]] +[[sthref296]][[running-the-taskcreator-example]] -[[running-the-taskcreator-example]] Running the taskcreator Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -112,9 +110,8 @@ Using NetBeans IDE] Using Maven] * link:#CHDBJGID[To Run the taskcreator Example] -[[CHDCCJHB]] +[[CHDCCJHB]][[to-build-package-and-deploy-the-taskcreator-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-taskcreator-example-using-netbeans-ide]] To Build, Package, and Deploy the taskcreator Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -135,9 +132,8 @@ select Build. + This command builds and deploys the application. -[[CHDHJBDD]] +[[CHDHJBDD]][[to-build-package-and-deploy-the-taskcreator-example-using-maven]] -[[to-build-package-and-deploy-the-taskcreator-example-using-maven]] To Build, Package, and Deploy the taskcreator Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -157,9 +153,8 @@ tut-install/examples/concurrency/taskcreator mvn install ---- -[[CHDBJGID]] +[[CHDBJGID]][[to-run-the-taskcreator-example]] -[[to-run-the-taskcreator-example]] To Run the taskcreator Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/concurrency-utilities007.adoc b/src/main/jbake/content/concurrency-utilities007.adoc index 753c5c7..a95698e 100644 --- a/src/main/jbake/content/concurrency-utilities007.adoc +++ b/src/main/jbake/content/concurrency-utilities007.adoc @@ -7,9 +7,8 @@ prev=concurrency-utilities006.html = Further Information about the Concurrency Utilities -[[CHDBIHAA]] +[[CHDBIHAA]][[further-information-about-the-concurrency-utilities]] -[[further-information-about-the-concurrency-utilities]] Further Information about the Concurrency Utilities --------------------------------------------------- diff --git a/src/main/jbake/content/connectorexample.adoc b/src/main/jbake/content/connectorexample.adoc index bbe76a2..a2d2644 100644 --- a/src/main/jbake/content/connectorexample.adoc +++ b/src/main/jbake/content/connectorexample.adoc @@ -7,9 +7,8 @@ prev=resources005.html The Resource Adapter Examples ============================= -[[GLODB]] +[[GLODB]][[the-resource-adapter-examples]] -[[the-resource-adapter-examples]] 57 The Resource Adapter Examples -------------------------------- diff --git a/src/main/jbake/content/connectorexample001.adoc b/src/main/jbake/content/connectorexample001.adoc index 06f859b..286ce5e 100644 --- a/src/main/jbake/content/connectorexample001.adoc +++ b/src/main/jbake/content/connectorexample001.adoc @@ -7,9 +7,8 @@ prev=connectorexample.html Overview of the Resource Adapter Examples ========================================= -[[A1253757]] +[[A1253757]][[overview-of-the-resource-adapter-examples]] -[[overview-of-the-resource-adapter-examples]] Overview of the Resource Adapter Examples ----------------------------------------- diff --git a/src/main/jbake/content/connectorexample002.adoc b/src/main/jbake/content/connectorexample002.adoc index 46c5e2d..54de12b 100644 --- a/src/main/jbake/content/connectorexample002.adoc +++ b/src/main/jbake/content/connectorexample002.adoc @@ -7,9 +7,8 @@ prev=connectorexample001.html = The trading Example -[[CHDFHAID]] +[[CHDFHAID]][[the-trading-example]] -[[the-trading-example]] The trading Example ------------------- @@ -58,9 +57,8 @@ trades to the EIS using the resource adapter provided by the interface provided by the resource adapter to obtain connections to the EIS. -[[CHDFADJD]] +[[CHDFADJD]][[using-the-outbound-resource-adapter]] -[[using-the-outbound-resource-adapter]] Using the Outbound Resource Adapter ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -197,9 +195,8 @@ try { } catch (TradeProcessingException ex) { ... } ---- -[[sthref243]] +[[sthref243]][[implementing-the-outbound-resource-adapter]] -[[implementing-the-outbound-resource-adapter]] Implementing the Outbound Resource Adapter ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -264,9 +261,8 @@ resource adapter development. For more details, see the code and the comments in the `trading-rar` module. -[[sthref246]] +[[sthref246]][[running-the-trading-example]] -[[running-the-trading-example]] Running the trading Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -278,9 +274,8 @@ The following topics are addressed here: * link:#BABCHDDC[To Run the trading Example Using NetBeans IDE] * link:#BABFJAAG[To Run the trading Example Using Maven] -[[BABCHDDC]] +[[BABCHDDC]][[to-run-the-trading-example-using-netbeans-ide]] -[[to-run-the-trading-example-using-netbeans-ide]] To Run the trading Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -323,9 +318,8 @@ sequence that provides connection handles from the resource adapter. 11. Before undeploying the `trading-ear` application, close the `trading-eis` application from the status bar. -[[BABFJAAG]] +[[BABFJAAG]][[to-run-the-trading-example-using-maven]] -[[to-run-the-trading-example-using-maven]] To Run the trading Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/connectorexample003.adoc b/src/main/jbake/content/connectorexample003.adoc index 8834b50..6f84150 100644 --- a/src/main/jbake/content/connectorexample003.adoc +++ b/src/main/jbake/content/connectorexample003.adoc @@ -7,9 +7,8 @@ prev=connectorexample002.html + The traffic Example -[[CHDJEADB]] +[[CHDJEADB]][[the-traffic-example]] -[[the-traffic-example]] The traffic Example ------------------- @@ -75,9 +74,8 @@ The `traffic-war` module contains a message-driven bean that receives filtered traffic information updates from the JMS topic asynchronously and sends them to the clients using a WebSocket endpoint. -[[sthref248]] +[[sthref248]][[using-the-inbound-resource-adapter]] -[[using-the-inbound-resource-adapter]] Using the Inbound Resource Adapter ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -136,9 +134,8 @@ This approach enables you to adapt the MDB to support new features in the EIS without having to modify the `TrafficListener` interface or the resource adapter module. -[[sthref249]] +[[sthref249]][[implementing-the-inbound-resource-adapter]] -[[implementing-the-inbound-resource-adapter]] Implementing the Inbound Resource Adapter ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -254,9 +251,8 @@ private String callMdb(MessageEndpoint mdb, Method command, For more details, see the code and the comments in the traffic-rar module. ---- -[[sthref252]] +[[sthref252]][[running-the-traffic-example]] -[[running-the-traffic-example]] Running the traffic Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -268,9 +264,8 @@ The following topics are addressed here: * link:#BABIJJEH[To Run the traffic Example Using NetBeans IDE] * link:#BABBBGBA[To Run the traffic Example Using Maven] -[[BABIJJEH]] +[[BABIJJEH]][[to-run-the-traffic-example-using-netbeans-ide]] -[[to-run-the-traffic-example-using-netbeans-ide]] To Run the traffic Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -315,9 +310,8 @@ seconds. 11. After undeploying the `traffic-ear` application, close the `traffic-eis` application from the status bar. -[[BABBBGBA]] +[[BABBBGBA]][[to-run-the-traffic-example-using-maven]] -[[to-run-the-traffic-example-using-maven]] To Run the traffic Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/dukes-bookstore.adoc b/src/main/jbake/content/dukes-bookstore.adoc index ff64ea8..d155d56 100644 --- a/src/main/jbake/content/dukes-bookstore.adoc +++ b/src/main/jbake/content/dukes-bookstore.adoc @@ -7,9 +7,8 @@ prev=partcasestudies.html Duke's Bookstore Case Study Example =================================== -[[GLNVI]] +[[GLNVI]][[dukes-bookstore-case-study-example]] -[[dukes-bookstore-case-study-example]] 61 Duke's Bookstore Case Study Example -------------------------------------- diff --git a/src/main/jbake/content/dukes-bookstore001.adoc b/src/main/jbake/content/dukes-bookstore001.adoc index 14c1796..a5c7765 100644 --- a/src/main/jbake/content/dukes-bookstore001.adoc +++ b/src/main/jbake/content/dukes-bookstore001.adoc @@ -7,9 +7,8 @@ prev=dukes-bookstore.html Design and Architecture of Duke's Bookstore =========================================== -[[GLOAW]] +[[GLOAW]][[design-and-architecture-of-dukes-bookstore]] -[[design-and-architecture-of-dukes-bookstore]] Design and Architecture of Duke's Bookstore ------------------------------------------- diff --git a/src/main/jbake/content/dukes-bookstore002.adoc b/src/main/jbake/content/dukes-bookstore002.adoc index f12cda1..66f2fab 100644 --- a/src/main/jbake/content/dukes-bookstore002.adoc +++ b/src/main/jbake/content/dukes-bookstore002.adoc @@ -7,9 +7,8 @@ prev=dukes-bookstore001.html The Duke's Bookstore Interface ============================== -[[GLQFD]] +[[GLQFD]][[the-dukes-bookstore-interface]] -[[the-dukes-bookstore-interface]] The Duke's Bookstore Interface ------------------------------ @@ -26,9 +25,8 @@ Bookstore] * link:#GLQDG[Properties Files Used in Duke's Bookstore] * link:#GLQED[Deployment Descriptors Used in Duke's Bookstore] -[[GLQER]] +[[GLQER]][[the-book-java-persistence-api-entity]] -[[the-book-java-persistence-api-entity]] The Book Java Persistence API Entity ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -49,9 +47,8 @@ The `Book` entity defines attributes used in the example: The `Book` entity also defines a simple named query, `findBooks`. -[[GLQEU]] +[[GLQEU]][[enterprise-beans-used-in-dukes-bookstore]] -[[enterprise-beans-used-in-dukes-bookstore]] Enterprise Beans Used in Duke's Bookstore ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -67,9 +64,8 @@ in the `Book` entity. the catalog when the application is initially deployed. It calls the `createBook` method defined in `BookRequestBean`. -[[GLQDP]] +[[GLQDP]][[facelets-pages-and-managed-beans-used-in-dukes-bookstore]] -[[facelets-pages-and-managed-beans-used-in-dukes-bookstore]] Facelets Pages and Managed Beans Used in Duke's Bookstore ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -152,9 +148,8 @@ each page. * `ShowCartBean`: Backing bean for the `bookshowcart.xhtml` page. Specifies the name `showcart`. -[[GLQDX]] +[[GLQDX]][[custom-components-and-other-custom-objects-used-in-dukes-bookstore]] -[[custom-components-and-other-custom-objects-used-in-dukes-bookstore]] Custom Components and Other Custom Objects Used in Duke's Bookstore ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -186,9 +181,8 @@ link:jsf-custom011.html#BNAUS[Creating and Using a Custom Converter]. `MapBookChangeListener`, and `NameChanged` classes. See link:jsf-custom007.html#BNAUT[Implementing an Event Listener]. -[[GLQDG]] +[[GLQDG]][[properties-files-used-in-dukes-bookstore]] -[[properties-files-used-in-dukes-bookstore]] Properties Files Used in Duke's Bookstore ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -257,9 +251,8 @@ In `Messages.properties`, the key string is defined as follows: ChooseBook=Choose a Book from our Catalog ---- -[[GLQED]] +[[GLQED]][[deployment-descriptors-used-in-dukes-bookstore]] -[[deployment-descriptors-used-in-dukes-bookstore]] Deployment Descriptors Used in Duke's Bookstore ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/dukes-bookstore003.adoc b/src/main/jbake/content/dukes-bookstore003.adoc index 14a06a6..aab1081 100644 --- a/src/main/jbake/content/dukes-bookstore003.adoc +++ b/src/main/jbake/content/dukes-bookstore003.adoc @@ -7,11 +7,8 @@ prev=dukes-bookstore002.html Running the Duke's Bookstore Case Study Application =================================================== -[[GLPPQ]] +[[GLPPQ]][[running-the-dukes-bookstore-case-study-application]] -[[running-the-dukes-bookstore-case-study-application]] -Running the Duke's Bookstore Case Study Application ---------------------------------------------------- You can use either NetBeans IDE or Maven to build, package, deploy, and run the Duke's Bookstore application. @@ -22,9 +19,8 @@ The following topics are addressed here: * link:#GLPQN[To Build and Deploy Duke's Bookstore Using Maven] * link:#BABEHDEG[To Run Duke's Bookstore] -[[GLPQG]] +[[GLPQG]][[to-build-and-deploy-dukes-bookstore-using-netbeans-ide]] -[[to-build-and-deploy-dukes-bookstore-using-netbeans-ide]] To Build and Deploy Duke's Bookstore Using NetBeans IDE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -46,9 +42,8 @@ select Build. This will build, package, and deploy Duke's Bookstore to GlassFish Server. -[[GLPQN]] +[[GLPQN]][[to-build-and-deploy-dukes-bookstore-using-maven]] -[[to-build-and-deploy-dukes-bookstore-using-maven]] To Build and Deploy Duke's Bookstore Using Maven ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -73,9 +68,8 @@ This command builds the application and packages it in a WAR file in the `_tut-install_/examples/case-studies/dukes-bookstore/target/` directory. It then deploys the application to GlassFish Server. -[[BABEHDEG]] +[[BABEHDEG]][[to-run-dukes-bookstore]] -[[to-run-dukes-bookstore]] To Run Duke's Bookstore ~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/dukes-forest.adoc b/src/main/jbake/content/dukes-forest.adoc index aab4005..acfc2be 100644 --- a/src/main/jbake/content/dukes-forest.adoc +++ b/src/main/jbake/content/dukes-forest.adoc @@ -7,9 +7,8 @@ prev=dukes-tutoring004.html Duke's Forest Case Study Example ================================ -[[GLNPW]] +[[GLNPW]][[dukes-forest-case-study-example]] -[[dukes-forest-case-study-example]] 63 Duke's Forest Case Study Example ----------------------------------- diff --git a/src/main/jbake/content/dukes-forest001.adoc b/src/main/jbake/content/dukes-forest001.adoc index a65e437..11d28a5 100644 --- a/src/main/jbake/content/dukes-forest001.adoc +++ b/src/main/jbake/content/dukes-forest001.adoc @@ -7,9 +7,8 @@ prev=dukes-forest.html Overview of the Duke's Forest Case Study Example ================================================ -[[A1256074]] +[[A1256074]][[overview-of-the-dukes-forest-case-study-example]] -[[overview-of-the-dukes-forest-case-study-example]] Overview of the Duke's Forest Case Study Example ------------------------------------------------ diff --git a/src/main/jbake/content/dukes-forest002.adoc b/src/main/jbake/content/dukes-forest002.adoc index cb9eb1d..cb68ab2 100644 --- a/src/main/jbake/content/dukes-forest002.adoc +++ b/src/main/jbake/content/dukes-forest002.adoc @@ -7,9 +7,8 @@ prev=dukes-forest001.html Design and Architecture of Duke's Forest ======================================== -[[GLNRJ]] +[[GLNRJ]][[design-and-architecture-of-dukes-forest]] -[[design-and-architecture-of-dukes-forest]] Design and Architecture of Duke's Forest ---------------------------------------- @@ -115,9 +114,8 @@ The most fundamental building blocks of the application are the Events and Entities projects, which are bundled into Duke's Store and Duke's Shipment along with the Duke's Resources project. -[[CIHHJEGA]] +[[CIHHJEGA]][[the-events-project]] -[[the-events-project]] The events Project ~~~~~~~~~~~~~~~~~~ @@ -162,9 +160,8 @@ To enable users to add more events to the project easily or update an event class with more fields for a new client, this component is a separate project within the application. -[[CIHFCIAC]] +[[CIHFCIAC]][[the-entities-project]] -[[the-entities-project]] The entities Project ~~~~~~~~~~~~~~~~~~~~ @@ -228,9 +225,8 @@ attributes include a quantity and id values for the product and the customer. * `OrderStatus`, which defines a status attribute for each order. -[[sthref301]] +[[sthref301]][[the-dukes-payment-project]] -[[the-dukes-payment-project]] The dukes-payment Project ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -249,9 +245,8 @@ service. The implementation itself exposes a simple method, or deny the order payment. The method is called from the checkout process of Duke's Store. -[[sthref302]] +[[sthref302]][[the-dukes-resources-project]] -[[the-dukes-resources-project]] The dukes-resources Project ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -270,9 +265,8 @@ classpath. The resources are in the `src/main/resources` directory: * `ValidationMessages_es.properties`: Bean Validation messages in Spanish -[[sthref303]] +[[sthref303]][[the-dukes-store-project]] -[[the-dukes-store-project]] The Duke's Store Project ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -335,9 +329,8 @@ public class ProductBean extends AbstractFacade { ... ---- -[[sthref304]] +[[sthref304]][[enterprise-beans-used-in-dukes-store]] -[[enterprise-beans-used-in-dukes-store]] Enterprise Beans Used in Duke's Store ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -371,9 +364,8 @@ invokes the RESTful web service in `dukes-payment` and publishes an order to the JMS queue for shipping approval if the payment is successful. -[[sthref305]] +[[sthref305]][[facelets-files-used-in-the-main-interface-of-dukes-store]] -[[facelets-files-used-in-the-main-interface-of-dukes-store]] Facelets Files Used in the Main Interface of Duke's Store ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -406,9 +398,8 @@ an order (`View_popup.xhtml`). * `product` directory: Pages related to products (`List.xhtml`, `ListCategory.xhtml`, `View.xhtml`). -[[CIHHDHIH]] +[[CIHHDHIH]][[facelets-files-used-in-the-administration-interface-of-dukes-store]] -[[facelets-files-used-in-the-administration-interface-of-dukes-store]] Facelets Files Used in the Administration Interface of Duke's Store ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -432,9 +423,8 @@ details of an order (`View_popup.xhtml`) (`Confirm.xhtm`l, `Create.xhtml`, `Edit.xhtml`, `List.xhtml`, `View.xhtml`) -[[sthref306]] +[[sthref306]][[managed-beans-used-in-dukes-store]] -[[managed-beans-used-in-dukes-store]] Managed Beans Used in Duke's Store ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -451,9 +441,8 @@ the enterprise beans. The beans are in the `com.forest.web` package: * `ProductController` * `UserController` -[[sthref307]] +[[sthref307]][[helper-classes-used-in-dukes-store]] -[[helper-classes-used-in-dukes-store]] Helper Classes Used in Duke's Store ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -469,9 +458,8 @@ messages on a `FacesContext` instance * `MD5Util`: Class used by the `CustomerController` managed bean to generate an encrypted password for a user -[[CIHEBAFD]] +[[CIHEBAFD]][[qualifiers-used-in-dukes-store]] -[[qualifiers-used-in-dukes-store]] Qualifiers Used in Duke's Store ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -482,9 +470,8 @@ Duke's Store defines the following qualifiers in the * `@New`: Qualifies an order as new * `@Paid`: Qualifies an order as paid -[[sthref308]] +[[sthref308]][[event-handlers-used-in-dukes-store]] -[[event-handlers-used-in-dukes-store]] Event Handlers Used in Duke's Store ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -507,9 +494,8 @@ When an administrator accesses Duke's Shipment, it will call the Order Service, a RESTful web service, and ask for all orders in the database that are ready for delivery. -[[sthref309]] +[[sthref309]][[deployment-descriptors-used-in-dukes-store]] -[[deployment-descriptors-used-in-dukes-store]] Deployment Descriptors Used in Duke's Store ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -521,9 +507,8 @@ Duke's Store uses the following deployment descriptors, located in the Server * `web.xml`: The web application configuration file -[[sthref310]] +[[sthref310]][[the-dukes-shipment-project]] -[[the-dukes-shipment-project]] The Duke's Shipment Project ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -550,9 +535,8 @@ code looks like this: ---- -[[sthref311]] +[[sthref311]][[enterprise-beans-used-in-dukes-shipment]] -[[enterprise-beans-used-in-dukes-shipment]] Enterprise Beans Used in Duke's Shipment ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -569,9 +553,8 @@ The `OrderBrowser` stateless session bean, located in the order queue and another that consumes an order message after the administrator approves or denies the order for shipment. -[[sthref312]] +[[sthref312]][[facelets-files-used-in-dukes-shipment]] -[[facelets-files-used-in-dukes-shipment]] Facelets Files Used in Duke's Shipment ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -591,9 +574,8 @@ is a login error. * `admin/index.xhtml`: Page for the main screen content after authentication. -[[sthref313]] +[[sthref313]][[managed-beans-used-in-dukes-shipment]] -[[managed-beans-used-in-dukes-shipment]] Managed Beans Used in Duke's Shipment ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -605,9 +587,8 @@ Service * `web.UserController`: Managed bean that corresponds to the `UserBean` session bean -[[sthref314]] +[[sthref314]][[helper-class-used-in-dukes-shipment]] -[[helper-class-used-in-dukes-shipment]] Helper Class Used in Duke's Shipment ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -617,18 +598,16 @@ the `com.forest.shipment.web.util` package: * `JsfUtil`: Class used for JavaServer Faces operations, such as queuing messages on a `FacesContext` instance -[[sthref315]] +[[sthref315]][[qualifier-used-in-dukes-shipment]] -[[qualifier-used-in-dukes-shipment]] Qualifier Used in Duke's Shipment ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Duke's Shipment includes the `@LoggedIn` qualifier described in link:#CIHEBAFD[Qualifiers Used in Duke's Store]. -[[sthref316]] +[[sthref316]][[deployment-descriptors-used-in-dukes-shipment]] -[[deployment-descriptors-used-in-dukes-shipment]] Deployment Descriptors Used in Duke's Shipment ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/dukes-forest003.adoc b/src/main/jbake/content/dukes-forest003.adoc index f6f3763..a2a3310 100644 --- a/src/main/jbake/content/dukes-forest003.adoc +++ b/src/main/jbake/content/dukes-forest003.adoc @@ -7,9 +7,8 @@ prev=dukes-forest002.html Building and Deploying the Duke's Forest Case Study Application =============================================================== -[[GLNQP]] +[[GLNQP]][[building-and-deploying-the-dukes-forest-case-study-application]] -[[building-and-deploying-the-dukes-forest-case-study-application]] Building and Deploying the Duke's Forest Case Study Application --------------------------------------------------------------- @@ -22,9 +21,8 @@ NetBeans IDE] * link:#CHDEJHBJ[To Build and Deploy the Duke's Forest Application Using Maven] -[[CHDJDIFH]] +[[CHDJDIFH]][[to-build-and-deploy-the-dukes-forest-application-using-netbeans-ide]] -[[to-build-and-deploy-the-dukes-forest-application-using-netbeans-ide]] To Build and Deploy the Duke's Forest Application Using NetBeans IDE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -52,9 +50,8 @@ To configure the server, this task creates a JDBC security realm named jdbcRealm, enables default principal-to-role mapping, and enables single sign-on (SSO) for the HTTP Service. -[[CHDEJHBJ]] +[[CHDEJHBJ]][[to-build-and-deploy-the-dukes-forest-application-using-maven]] -[[to-build-and-deploy-the-dukes-forest-application-using-maven]] To Build and Deploy the Duke's Forest Application Using Maven ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/dukes-forest004.adoc b/src/main/jbake/content/dukes-forest004.adoc index b3c5ef3..c9d2943 100644 --- a/src/main/jbake/content/dukes-forest004.adoc +++ b/src/main/jbake/content/dukes-forest004.adoc @@ -6,9 +6,8 @@ prev=dukes-forest003.html Running the Duke's Forest Application ===================================== -[[GLNSX]] +[[GLNSX]][[running-the-dukes-forest-application]] -[[running-the-dukes-forest-application]] Running the Duke's Forest Application ------------------------------------- @@ -27,9 +26,8 @@ The following topics are addressed here: * link:#CHDICAIJ[To Approve Shipment of a Product] * link:#CHDIFEGC[To Create a New Product] -[[CHDBDEHH]] +[[CHDBDEHH]][[to-register-as-a-dukes-store-customer]] -[[to-register-as-a-dukes-store-customer]] To Register as a Duke's Store Customer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -47,9 +45,8 @@ The Duke's Forest - Store page opens. All fields are required, and the Password value must be at least 7 characters in length. -[[CHDCEJIC]] +[[CHDCEJIC]][[to-purchase-products]] -[[to-purchase-products]] To Purchase Products ~~~~~~~~~~~~~~~~~~~~ @@ -78,9 +75,8 @@ that limit. Otherwise, the status is "Ready to ship." 7. When you have finished placing orders, click Logout at the top of the page. -[[CHDICAIJ]] +[[CHDICAIJ]][[to-approve-shipment-of-a-product]] -[[to-approve-shipment-of-a-product]] To Approve Shipment of a Product ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -105,9 +101,8 @@ Duke's Store again as the customer, it will appear in the Orders list as To return to Duke's Store from Duke's Shipment, click Return to Duke's Store. -[[CHDIFEGC]] +[[CHDIFEGC]][[to-create-a-new-product]] -[[to-create-a-new-product]] To Create a New Product ~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/dukes-tutoring.adoc b/src/main/jbake/content/dukes-tutoring.adoc index 1cbcdb8..e13ebdd 100644 --- a/src/main/jbake/content/dukes-tutoring.adoc +++ b/src/main/jbake/content/dukes-tutoring.adoc @@ -7,9 +7,8 @@ prev=dukes-bookstore003.html Duke's Tutoring Case Study Example ================================== -[[GKAEE]] +[[GKAEE]][[dukes-tutoring-case-study-example]] -[[dukes-tutoring-case-study-example]] 62 Duke's Tutoring Case Study Example ------------------------------------- diff --git a/src/main/jbake/content/dukes-tutoring001.adoc b/src/main/jbake/content/dukes-tutoring001.adoc index a8b429b..1505c02 100644 --- a/src/main/jbake/content/dukes-tutoring001.adoc +++ b/src/main/jbake/content/dukes-tutoring001.adoc @@ -7,9 +7,8 @@ prev=dukes-tutoring.html Design and Architecture of Duke's Tutoring ========================================== -[[GKAEI]] +[[GKAEI]][[design-and-architecture-of-dukes-tutoring]] -[[design-and-architecture-of-dukes-tutoring]] Design and Architecture of Duke's Tutoring ------------------------------------------ diff --git a/src/main/jbake/content/dukes-tutoring002.adoc b/src/main/jbake/content/dukes-tutoring002.adoc index 2a83fc0..795cd37 100644 --- a/src/main/jbake/content/dukes-tutoring002.adoc +++ b/src/main/jbake/content/dukes-tutoring002.adoc @@ -7,9 +7,8 @@ prev=dukes-tutoring001.html Main Interface ============== -[[GKAFH]] +[[GKAFH]][[main-interface]] -[[main-interface]] Main Interface -------------- @@ -26,9 +25,8 @@ The following topics are addressed here: * link:#GKADA[Properties Files] * link:#GKAEV[Deployment Descriptors Used in Duke's Tutoring] -[[GKAFJ]] +[[GKAFJ]][[java-persistence-api-entities-used-in-the-main-interface]] -[[java-persistence-api-entities-used-in-the-main-interface]] Java Persistence API Entities Used in the Main Interface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -74,9 +72,8 @@ link:persistence-intro002.html#GKAHQ[Validating Persistent Fields and Properties] and link:bean-validation-advanced.html#GKAHP[Chapter 24, "Bean Validation: Advanced Topics."] -[[GKAFC]] +[[GKAFC]][[enterprise-beans-used-in-the-main-interface]] -[[enterprise-beans-used-in-the-main-interface]] Enterprise Beans Used in the Main Interface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -102,9 +99,8 @@ link:persistence-criteria.html#GJITV[Chapter 43, "Using the Criteria API to Create Queries."] For information on CDI events, see link:cdi-adv005.html#GKHIC[Using Events in CDI Applications]. -[[BCGHHCDA]] +[[BCGHHCDA]][[websocket-endpoint-used-in-the-main-interface]] -[[websocket-endpoint-used-in-the-main-interface]] WebSocket Endpoint Used in the Main Interface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -127,9 +123,8 @@ link:websocket.html#GKJIQ5[Chapter 19, "Java API for WebSocket."] For information on CDI events, see link:cdi-adv005.html#GKHIC[Using Events in CDI Applications]. -[[GKAET]] +[[GKAET]][[facelets-files-used-in-the-main-interface]] -[[facelets-files-used-in-the-main-interface]] Facelets Files Used in the Main Interface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -164,9 +159,8 @@ interface's navigation bar For information on using Facelets, see link:jsf-facelets.html#GIEPX[Chapter 8, "Introduction to Facelets."] -[[GKADH]] +[[GKADH]][[helper-classes-used-in-the-main-interface]] -[[helper-classes-used-in-the-main-interface]] Helper Classes Used in the Main Interface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -184,9 +178,8 @@ a student can have. Possible values are `IN`, `OUT`, and `PARK`. also defines a `toString` method that returns a localized translation of the status based on the locale. -[[GKADA]] +[[GKADA]][[properties-files]] -[[properties-files]] Properties Files ~~~~~~~~~~~~~~~~ @@ -228,9 +221,8 @@ located in `Messages_zh.properties`. For information on localizing web applications, see link:jsf-configure006.html#BNAXB[Registering Application Messages]. -[[GKAEV]] +[[GKAEV]][[deployment-descriptors-used-in-dukes-tutoring]] -[[deployment-descriptors-used-in-dukes-tutoring]] Deployment Descriptors Used in Duke's Tutoring ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/dukes-tutoring003.adoc b/src/main/jbake/content/dukes-tutoring003.adoc index 8c752b3..33b9f84 100644 --- a/src/main/jbake/content/dukes-tutoring003.adoc +++ b/src/main/jbake/content/dukes-tutoring003.adoc @@ -7,9 +7,8 @@ prev=dukes-tutoring002.html Administration Interface ======================== -[[GKAFW]] +[[GKAFW]][[administration-interface]] -[[administration-interface]] Administration Interface ------------------------ @@ -27,9 +26,8 @@ The following topics are addressed here: * link:#BCGHIDEG[CDI Managed Beans Used in the Administration Interface] * link:#BCGFFFCA[Helper Classes Used in the Administration Interface] -[[GKAEN]] +[[GKAEN]][[enterprise-beans-used-in-the-administration-interface]] -[[enterprise-beans-used-in-the-administration-interface]] Enterprise Beans Used in the Administration Interface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -40,9 +38,8 @@ The following enterprise bean, in the `dukestutoring.ejb` package of the in the administration interface. Calls security methods to allow invocation of the business methods only by authorized users. -[[GKACB]] +[[GKACB]][[facelets-files-used-in-the-administration-interface]] -[[facelets-files-used-in-the-administration-interface]] Facelets Files Used in the Administration Interface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -66,9 +63,8 @@ login form using Java EE security * `WEB-INF/includes/adminNav.xhtml`: XHTML fragment for the administration interface's navigation bar -[[BCGHIDEG]] +[[BCGHIDEG]][[cdi-managed-beans-used-in-the-administration-interface]] -[[cdi-managed-beans-used-in-the-administration-interface]] CDI Managed Beans Used in the Administration Interface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -91,9 +87,8 @@ code attributes have Bean Validation annotations that require the fields to be filled in, and the postal code attribute has an additional annotation to ensure that the data is properly formed. -[[BCGFFFCA]] +[[BCGFFFCA]][[helper-classes-used-in-the-administration-interface]] -[[helper-classes-used-in-the-administration-interface]] Helper Classes Used in the Administration Interface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/dukes-tutoring004.adoc b/src/main/jbake/content/dukes-tutoring004.adoc index 56c8229..0046f84 100644 --- a/src/main/jbake/content/dukes-tutoring004.adoc +++ b/src/main/jbake/content/dukes-tutoring004.adoc @@ -7,9 +7,8 @@ prev=dukes-tutoring003.html Running the Duke's Tutoring Case Study Application ================================================== -[[GKJNN]] +[[GKJNN]][[running-the-dukes-tutoring-case-study-application]] -[[running-the-dukes-tutoring-case-study-application]] Running the Duke's Tutoring Case Study Application -------------------------------------------------- @@ -20,9 +19,8 @@ The following topics are addressed here: * link:#GKJOA[Running Duke's Tutoring] -[[GKJOA]] +[[GKJOA]][[running-dukes-tutoring]] -[[running-dukes-tutoring]] Running Duke's Tutoring ~~~~~~~~~~~~~~~~~~~~~~~ @@ -35,9 +33,8 @@ The following topics are addressed here: * link:#GKJOG[To Build and Deploy Duke's Tutoring Using Maven] * link:#GKJOC[Using Duke's Tutoring] -[[GKJNR]] +[[GKJNR]][[to-build-and-deploy-dukes-tutoring-using-netbeans-ide]] -[[to-build-and-deploy-dukes-tutoring-using-netbeans-ide]] To Build and Deploy Duke's Tutoring Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -85,9 +82,8 @@ projects, and deploys `dukes-tutoring-war` to GlassFish Server, starting Derby and GlassFish Server if they have not already been started. -[[GKJOG]] +[[GKJOG]][[to-build-and-deploy-dukes-tutoring-using-maven]] -[[to-build-and-deploy-dukes-tutoring-using-maven]] To Build and Deploy Duke's Tutoring Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -113,9 +109,8 @@ This command creates a JDBC security realm named tutoringRealm, builds and packages the `dukes-tutoring-common` and `dukes-tutoring-war` projects, and deploys `dukes-tutoring-war` to GlassFish Server. -[[GKJOC]] +[[GKJOC]][[using-dukes-tutoring]] -[[using-dukes-tutoring]] Using Duke's Tutoring ^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/ejb-async.adoc b/src/main/jbake/content/ejb-async.adoc index a02349c..a82e0aa 100644 --- a/src/main/jbake/content/ejb-async.adoc +++ b/src/main/jbake/content/ejb-async.adoc @@ -7,9 +7,7 @@ prev=ejb-embedded003.html Using Asynchronous Method Invocation in Session Beans ===================================================== -[[GKIDZ]] - -[[using-asynchronous-method-invocation-in-session-beans]] +[[GKIDZ]][[using-asynchronous-method-invocation-in-session-beans]] 39 Using Asynchronous Method Invocation in Session Beans -------------------------------------------------------- diff --git a/src/main/jbake/content/ejb-async001.adoc b/src/main/jbake/content/ejb-async001.adoc index eea25d9..d42c7c2 100644 --- a/src/main/jbake/content/ejb-async001.adoc +++ b/src/main/jbake/content/ejb-async001.adoc @@ -7,9 +7,8 @@ prev=ejb-async.html Asynchronous Method Invocation ============================== -[[GKKQG]] +[[GKKQG]][[asynchronous-method-invocation]] -[[asynchronous-method-invocation]] Asynchronous Method Invocation ------------------------------ @@ -35,9 +34,8 @@ the client may use to check whether the computation is completed, wait for the invocation to complete, retrieve the final result, and cancel the invocation. -[[GKIFJ]] +[[GKIFJ]][[creating-an-asynchronous-business-method]] -[[creating-an-asynchronous-business-method]] Creating an Asynchronous Business Method ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -101,7 +99,6 @@ public Future processPayment(Order order) throws PaymentException { ---- [[GKIEM]] - [[calling-asynchronous-methods-from-enterprise-bean-clients]] Calling Asynchronous Methods from Enterprise Bean Clients ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -115,7 +112,6 @@ whether any exceptions were thrown during processing, and check whether the invocation was cancelled. [[GKICM]] - [[retrieving-the-final-result-from-an-asynchronous-method-invocation]] Retrieving the Final Result from an Asynchronous Method Invocation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -146,7 +142,6 @@ the `TimeUnit` class for the available units of time to specify the timeout value. [[GKIDB]] - [[cancelling-an-asynchronous-method-invocation]] Cancelling an Asynchronous Method Invocation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -171,7 +166,6 @@ completed by calling `Future.cancel`. The `isCancelled` method returns `true` if the invocation was cancelled. [[GKIEV]] - [[checking-the-status-of-an-asynchronous-method-invocation]] Checking the Status of an Asynchronous Method Invocation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/ejb-async002.adoc b/src/main/jbake/content/ejb-async002.adoc index a21bcd3..32804f0 100644 --- a/src/main/jbake/content/ejb-async002.adoc +++ b/src/main/jbake/content/ejb-async002.adoc @@ -7,9 +7,8 @@ prev=ejb-async001.html The async Example Application ============================= -[[GKIEZ]] +[[GKIEZ]][[the-async-example-application]] -[[the-async-example-application]] The async Example Application ----------------------------- @@ -29,9 +28,8 @@ them). The following section describes the architecture of the `async-war` module. -[[GKIQJ]] +[[GKIQJ]][[architecture-of-the-async-war-module]] -[[architecture-of-the-async-war-module]] Architecture of the async-war Module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -105,7 +103,6 @@ instance of the `MailerBean` session bean to call Facelets view. [[sthref158]] - [[running-the-async-example]] Running the async Example ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -119,7 +116,6 @@ The following topics are addressed here: * link:#GKRFB[To Run the async Example Application Using Maven] [[GKINW]] - [[to-run-the-async-example-application-using-netbeans-ide]] To Run the async Example Application Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -173,7 +169,6 @@ GlassFish Server server node. 3. Right-click mail/myExampleSession and select Unregister. [[GKRFB]] - [[to-run-the-async-example-application-using-maven]] To Run the async Example Application Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/ejb-basicexamples.adoc b/src/main/jbake/content/ejb-basicexamples.adoc index 4bc5e94..ccc94dc 100644 --- a/src/main/jbake/content/ejb-basicexamples.adoc +++ b/src/main/jbake/content/ejb-basicexamples.adoc @@ -7,9 +7,8 @@ prev=ejb-gettingstarted003.html Running the Enterprise Bean Examples ==================================== -[[GIJRB]] +[[GIJRB]][[running-the-enterprise-bean-examples]] -[[running-the-enterprise-bean-examples]] 37 Running the Enterprise Bean Examples --------------------------------------- diff --git a/src/main/jbake/content/ejb-basicexamples001.adoc b/src/main/jbake/content/ejb-basicexamples001.adoc index 06fb4d7..028bc8a 100644 --- a/src/main/jbake/content/ejb-basicexamples001.adoc +++ b/src/main/jbake/content/ejb-basicexamples001.adoc @@ -7,9 +7,8 @@ prev=ejb-basicexamples.html Overview of the EJB Examples ============================ -[[A1250776]] +[[A1250776]][[overview-of-the-ejb-examples]] -[[overview-of-the-ejb-examples]] Overview of the EJB Examples ---------------------------- diff --git a/src/main/jbake/content/ejb-basicexamples002.adoc b/src/main/jbake/content/ejb-basicexamples002.adoc index 47cc831..c727c9b 100644 --- a/src/main/jbake/content/ejb-basicexamples002.adoc +++ b/src/main/jbake/content/ejb-basicexamples002.adoc @@ -7,9 +7,8 @@ prev=ejb-basicexamples001.html The cart Example ================ -[[BNBOD]] +[[BNBOD]][[the-cart-example]] -[[the-cart-example]] The cart Example ---------------- @@ -32,9 +31,8 @@ section link:#BNBOJ[Helper Classes]. The source code for this example is in the `_tut-install_/examples/ejb/cart/` directory. -[[BNBOE]] +[[BNBOE]][[the-business-interface]] -[[the-business-interface]] The Business Interface ~~~~~~~~~~~~~~~~~~~~~~ @@ -76,9 +74,8 @@ public interface Cart { } ---- -[[BNBOF]] +[[BNBOF]][[session-bean-class]] -[[session-bean-class]] Session Bean Class ~~~~~~~~~~~~~~~~~~ @@ -174,9 +171,8 @@ public class CartBean implements Cart { } ---- -[[BNBOG]] +[[BNBOG]][[lifecycle-callback-methods]] -[[lifecycle-callback-methods]] Lifecycle Callback Methods ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -200,9 +196,8 @@ environment and saves it to secondary storage. Lifecycle callback methods must return `void` and have no parameters. -[[BNBOH]] +[[BNBOH]][[business-methods]] -[[business-methods]] Business Methods ^^^^^^^^^^^^^^^^ @@ -275,9 +270,8 @@ The container will not wrap application exceptions, such as `RuntimeException`, you do not need to include it in the `throws` clause of the business method. -[[BNBOI]] +[[BNBOI]][[the-remove-method]] -[[the-remove-method]] The @Remove Method ~~~~~~~~~~~~~~~~~~ @@ -297,9 +291,8 @@ public void remove() { } ---- -[[BNBOJ]] +[[BNBOJ]][[helper-classes]] -[[helper-classes]] Helper Classes ~~~~~~~~~~~~~~ @@ -312,9 +305,8 @@ within a WAR; or an EAR file that contains an EJB JAR, a WAR file, or a separate library JAR file. In `cart`, the helper classes are included in a library JAR used by the application client and the EJB JAR. -[[BNBOK]] +[[BNBOK]][[running-the-cart-example]] -[[running-the-cart-example]] Running the cart Example ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -331,9 +323,8 @@ The following topics are addressed here: * link:#BNBOL[To Run the cart Example Using NetBeans IDE] * link:#BNBON[To Run the cart Example Using Maven] -[[BNBOL]] +[[BNBOL]][[to-run-the-cart-example-using-netbeans-ide]] -[[to-run-the-cart-example-using-netbeans-ide]] To Run the cart Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -370,9 +361,8 @@ Removing "Gravity's Rainbow" from cart. Caught a BookException: "Gravity's Rainbow" not in cart. ---- -[[BNBON]] +[[BNBON]][[to-run-the-cart-example-using-maven]] -[[to-run-the-cart-example-using-maven]] To Run the cart Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/ejb-basicexamples003.adoc b/src/main/jbake/content/ejb-basicexamples003.adoc index e59c7d4..6401e26 100644 --- a/src/main/jbake/content/ejb-basicexamples003.adoc +++ b/src/main/jbake/content/ejb-basicexamples003.adoc @@ -7,9 +7,8 @@ prev=ejb-basicexamples002.html A Singleton Session Bean Example: counter ========================================= -[[GIPVI]] +[[GIPVI]][[a-singleton-session-bean-example-counter]] -[[a-singleton-session-bean-example-counter]] A Singleton Session Bean Example: counter ----------------------------------------- @@ -22,9 +21,8 @@ The following topics are addressed here: * link:#GIPXL[The Architecture of the counter Example] * link:#GIPVL[Running the counter Example] -[[GIPVC]] +[[GIPVC]][[creating-a-singleton-session-bean]] -[[creating-a-singleton-session-bean]] Creating a Singleton Session Bean ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -37,9 +35,8 @@ enterprise bean implementation class is a singleton session bean: public class SingletonBean { ... } ---- -[[GIPPQ]] +[[GIPPQ]][[initializing-singleton-session-beans]] -[[initializing-singleton-session-beans]] Initializing Singleton Session Beans ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -122,9 +119,8 @@ the EJB container may initialize either `PrimaryBean` or `SecondaryBean` first. That is, the EJB container could initialize the singletons in the following order: `SecondaryBean`, `PrimaryBean`, `TertiaryBean`. -[[GIPSZ]] +[[GIPSZ]][[managing-concurrent-access-in-a-singleton-session-bean]] -[[managing-concurrent-access-in-a-singleton-session-bean]] Managing Concurrent Access in a Singleton Session Bean ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -308,9 +304,8 @@ specify bean-managed concurrency: public class AnotherSingletonBean { ... } ---- -[[GIPVD]] +[[GIPVD]][[handling-errors-in-a-singleton-session-bean]] -[[handling-errors-in-a-singleton-session-bean]] Handling Errors in a Singleton Session Bean ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -322,9 +317,8 @@ initialized, it is not destroyed if the singleton's business or lifecycle methods cause system exceptions. This ensures that the same singleton instance is used throughout the application lifecycle. -[[GIPXL]] +[[GIPXL]][[the-architecture-of-the-counter-example]] -[[the-architecture-of-the-counter-example]] The Architecture of the counter Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -454,9 +448,8 @@ managed bean. Here is the content of `index.xhtml`: ---- -[[GIPVL]] +[[GIPVL]][[running-the-counter-example]] -[[running-the-counter-example]] Running the counter Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -470,9 +463,8 @@ The following topics are addressed here: * link:#GIPXT[To Run the counter Example Using NetBeans IDE] * link:#GIPZW[To Run the counter Example Using Maven] -[[GIPXT]] +[[GIPXT]][[to-run-the-counter-example-using-netbeans-ide]] -[[to-run-the-counter-example-using-netbeans-ide]] To Run the counter Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -495,9 +487,8 @@ A web browser will open the URL `http://localhost:8080/counter`, which displays the number of hits. 7. Reload the page to see the hit count increment. -[[GIPZW]] +[[GIPZW]][[to-run-the-counter-example-using-maven]] -[[to-run-the-counter-example-using-maven]] To Run the counter Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/ejb-basicexamples004.adoc b/src/main/jbake/content/ejb-basicexamples004.adoc index ddda094..74a410e 100644 --- a/src/main/jbake/content/ejb-basicexamples004.adoc +++ b/src/main/jbake/content/ejb-basicexamples004.adoc @@ -7,9 +7,8 @@ prev=ejb-basicexamples003.html = A Web Service Example: helloservice -[[BNBOR]] +[[BNBOR]][[a-web-service-example-helloservice]] -[[a-web-service-example-helloservice]] A Web Service Example: helloservice ----------------------------------- @@ -25,9 +24,8 @@ The following topics are addressed here: * link:#BNBOT[Stateless Session Bean Implementation Class] * link:#BNBOU[Running the helloservice Example] -[[BNBOS]] +[[BNBOS]][[the-web-service-endpoint-implementation-class]] -[[the-web-service-endpoint-implementation-class]] The Web Service Endpoint Implementation Class ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -65,9 +63,8 @@ implementing class begins responding to web service clients. The `@PreDestroy` method is called by the container before the endpoint is removed from operation. -[[BNBOT]] +[[BNBOT]][[stateless-session-bean-implementation-class]] -[[stateless-session-bean-implementation-class]] Stateless Session Bean Implementation Class ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -97,9 +94,8 @@ public class HelloServiceBean { } ---- -[[BNBOU]] +[[BNBOU]][[running-the-helloservice-example]] -[[running-the-helloservice-example]] Running the helloservice Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -115,9 +111,8 @@ Using NetBeans IDE] Using Maven] * link:#BNBOX[To Test the Service without a Client] -[[BNBOV]] +[[BNBOV]][[to-build-package-and-deploy-the-helloservice-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-helloservice-example-using-netbeans-ide]] To Build, Package, and Deploy the helloservice Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -140,9 +135,8 @@ This builds and packages the application into `helloservice.ear`, located in `_tut-install_/examples/ejb/helloservice/target/`, and deploys this EAR file to GlassFish Server. -[[BNBOW]] +[[BNBOW]][[to-build-package-and-deploy-the-helloservice-example-using-maven]] -[[to-build-package-and-deploy-the-helloservice-example-using-maven]] To Build, Package, and Deploy the helloservice Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -170,9 +164,8 @@ the EJB JAR file is deployed to GlassFish Server. Upon deployment, GlassFish Server generates additional artifacts required for web service invocation, including the WSDL file. -[[BNBOX]] +[[BNBOX]][[to-test-the-service-without-a-client]] -[[to-test-the-service-without-a-client]] To Test the Service without a Client ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/ejb-basicexamples005.adoc b/src/main/jbake/content/ejb-basicexamples005.adoc index a5b4001..e5565ea 100644 --- a/src/main/jbake/content/ejb-basicexamples005.adoc +++ b/src/main/jbake/content/ejb-basicexamples005.adoc @@ -7,9 +7,8 @@ prev=ejb-basicexamples004.html = Using the Timer Service -[[BNBOY]] +[[BNBOY]][[using-the-timer-service]] -[[using-the-timer-service]] Using the Timer Service ----------------------- @@ -29,9 +28,8 @@ are created upon the successful deployment of an enterprise bean that contains a method annotated with the `javax.ejb.Schedule` or `javax.ejb.Schedules` annotations. -[[GIQLK]] +[[GIQLK]][[creating-calendar-based-timer-expressions]] -[[creating-calendar-based-timer-expressions]] Creating Calendar-Based Timer Expressions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -99,9 +97,8 @@ of the month). For example: `dayOfMonth="–3"`. |======================================================================= -[[GIQMX]] +[[GIQMX]][[specifying-multiple-values-in-calendar-expressions]] -[[specifying-multiple-values-in-calendar-expressions]] Specifying Multiple Values in Calendar Expressions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -223,9 +220,8 @@ The following expression represents every 2 hours starting at noon: hour="12/2" ---- -[[GIQLT]] +[[GIQLT]][[programmatic-timers]] -[[programmatic-timers]] Programmatic Timers ~~~~~~~~~~~~~~~~~~~ @@ -234,9 +230,8 @@ method annotated `@Timeout` in the bean's implementation class. The `@Timeout` method contains the business logic that handles the timed event. -[[BNBOZ]] +[[BNBOZ]][[the-timeout-method]] -[[the-timeout-method]] The @Timeout Method ^^^^^^^^^^^^^^^^^^^ @@ -252,9 +247,8 @@ public void timeout(Timer timer) { } ---- -[[BNBPA]] +[[BNBPA]][[creating-programmatic-timers]] -[[creating-programmatic-timers]] Creating Programmatic Timers ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -341,9 +335,8 @@ service is not intended for real-time applications, a callback to the service is for business applications, which typically measure time in hours, days, or longer durations. -[[GIQMB]] +[[GIQMB]][[automatic-timers]] -[[automatic-timers]] Automatic Timers ~~~~~~~~~~~~~~~~ @@ -406,9 +399,8 @@ sets a timer to expire every Friday at 11:00 p.m.: public void doPeriodicCleanup() { ... } ---- -[[BNBPB]] +[[BNBPB]][[canceling-and-saving-timers]] -[[canceling-and-saving-timers]] Canceling and Saving Timers ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -432,9 +424,8 @@ remote clients and web service clients cannot access a bean's `TimerHandle` object. Local clients, however, do not have this restriction. -[[BNBPC]] +[[BNBPC]][[getting-timer-information]] -[[getting-timer-information]] Getting Timer Information ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -458,9 +449,8 @@ To retrieve all of a bean's active timers, call the `getTimers` method of the `TimerService` interface. The `getTimers` method returns a collection of `Timer` objects. -[[BNBPD]] +[[BNBPD]][[transactions-and-timers]] -[[transactions-and-timers]] Transactions and Timers ~~~~~~~~~~~~~~~~~~~~~~~ @@ -477,9 +467,8 @@ begins the new transaction before calling the `@Timeout` method. If the transaction is rolled back, the container will call the `@Timeout` method at least one more time. -[[BNBPE]] +[[BNBPE]][[the-timersession-example]] -[[the-timersession-example]] The timersession Example ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -635,9 +624,8 @@ to virtual machine constraints. |======================================================================= -[[BNBPF]] +[[BNBPF]][[running-the-timersession-example]] -[[running-the-timersession-example]] Running the timersession Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -651,9 +639,8 @@ The following topics are addressed here: Using Maven] * link:#GIQOP[To Run the Web Client] -[[GIQNI]] +[[GIQNI]][[to-run-the-timersession-example-using-netbeans-ide]] -[[to-run-the-timersession-example-using-netbeans-ide]] To Run the timersession Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -676,9 +663,8 @@ This builds and packages the application into a WAR file located at this WAR file to your GlassFish Server instance, and then runs the web client. -[[GIQNQ]] +[[GIQNQ]][[to-build-package-and-deploy-the-timersession-example-using-maven]] -[[to-build-package-and-deploy-the-timersession-example-using-maven]] To Build, Package, and Deploy the timersession Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -702,9 +688,8 @@ This builds and packages the application into a WAR file located at `_tut-install_/examples/ejb/timersession/target/timersession.war` and deploys this WAR file to your GlassFish Server instance. -[[GIQOP]] +[[GIQOP]][[to-run-the-web-client]] -[[to-run-the-web-client]] To Run the Web Client ^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/ejb-basicexamples006.adoc b/src/main/jbake/content/ejb-basicexamples006.adoc index ee220bb..3bd4200 100644 --- a/src/main/jbake/content/ejb-basicexamples006.adoc +++ b/src/main/jbake/content/ejb-basicexamples006.adoc @@ -7,9 +7,8 @@ prev=ejb-basicexamples005.html Handling Exceptions =================== -[[BNBPJ]] +[[BNBPJ]][[handling-exceptions]] -[[handling-exceptions]] Handling Exceptions ------------------- diff --git a/src/main/jbake/content/ejb-embedded.adoc b/src/main/jbake/content/ejb-embedded.adoc index ec0707b..98dba76 100644 --- a/src/main/jbake/content/ejb-embedded.adoc +++ b/src/main/jbake/content/ejb-embedded.adoc @@ -7,9 +7,8 @@ prev=ejb-basicexamples006.html Using the Embedded Enterprise Bean Container ============================================ -[[GKCQZ]] +[[GKCQZ]][[using-the-embedded-enterprise-bean-container]] -[[using-the-embedded-enterprise-bean-container]] 38 Using the Embedded Enterprise Bean Container ----------------------------------------------- diff --git a/src/main/jbake/content/ejb-embedded001.adoc b/src/main/jbake/content/ejb-embedded001.adoc index 7f0566b..5608a86 100644 --- a/src/main/jbake/content/ejb-embedded001.adoc +++ b/src/main/jbake/content/ejb-embedded001.adoc @@ -7,9 +7,8 @@ prev=ejb-embedded.html Overview of the Embedded Enterprise Bean Container ================================================== -[[GKFAE]] +[[GKFAE]][[overview-of-the-embedded-enterprise-bean-container]] -[[overview-of-the-embedded-enterprise-bean-container]] Overview of the Embedded Enterprise Bean Container -------------------------------------------------- diff --git a/src/main/jbake/content/ejb-embedded002.adoc b/src/main/jbake/content/ejb-embedded002.adoc index 001cfe5..2e926e8 100644 --- a/src/main/jbake/content/ejb-embedded002.adoc +++ b/src/main/jbake/content/ejb-embedded002.adoc @@ -7,9 +7,8 @@ prev=ejb-embedded001.html = Developing Embeddable Enterprise Bean Applications -[[GKCRR]] +[[GKCRR]][[developing-embeddable-enterprise-bean-applications]] -[[developing-embeddable-enterprise-bean-applications]] Developing Embeddable Enterprise Bean Applications -------------------------------------------------- @@ -46,9 +45,8 @@ not be portable if they use enterprise bean features not listed in link:#GKCQC[Table 38-1], such as the timer service, session beans as web service endpoints, or remote business interfaces. -[[GKCQI]] +[[GKCQI]][[running-embedded-applications]] -[[running-embedded-applications]] Running Embedded Applications ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -73,9 +71,8 @@ the session bean through the embedded container. In GlassFish Server, the runtime JAR that includes the classes for the embedded container is `glassfish-embedded-all.jar`. -[[GKCOV]] +[[GKCOV]][[creating-the-enterprise-bean-container]] -[[creating-the-enterprise-bean-container]] Creating the Enterprise Bean Container ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -117,9 +114,8 @@ props.setProperty(...); EJBContainer ec = EJBContainer.createEJBContainer(props); ---- -[[GKCRP]] +[[GKCRP]][[explicitly-specifying-enterprise-bean-modules-to-be-initialized]] -[[explicitly-specifying-enterprise-bean-modules-to-be-initialized]] Explicitly Specifying Enterprise Bean Modules to Be Initialized ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -158,9 +154,8 @@ props.setProperty(EJBContainer.MODULES, ejbJarFile); EJBContainer ec = EJBContainer.createEJBContainer(props); ---- -[[GLHUR]] +[[GLHUR]][[looking-up-session-bean-references]] -[[looking-up-session-bean-references]] Looking Up Session Bean References ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -190,9 +185,8 @@ MySessionBean msb = (MySessionBean) ctx.lookup("java:global/mySessionBean/MySessionBean"); ---- -[[GKCRE]] +[[GKCRE]][[shutting-down-the-enterprise-bean-container]] -[[shutting-down-the-enterprise-bean-container]] Shutting Down the Enterprise Bean Container ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/ejb-embedded003.adoc b/src/main/jbake/content/ejb-embedded003.adoc index b0b3c99..482c38a 100644 --- a/src/main/jbake/content/ejb-embedded003.adoc +++ b/src/main/jbake/content/ejb-embedded003.adoc @@ -7,9 +7,8 @@ prev=ejb-embedded002.html The standalone Example Application ================================== -[[GKCPV]] +[[GKCPV]][[the-standalone-example-application]] -[[the-standalone-example-application]] The standalone Example Application ---------------------------------- @@ -24,9 +23,8 @@ The following topics are addressed here: IDE] * link:#BEIGHEHJ[To Run the standalone Example Application Using Maven] -[[BEIDAJAC]] +[[BEIDAJAC]][[overview-of-the-standalone-example-application]] -[[overview-of-the-standalone-example-application]] Overview of the standalone Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -107,9 +105,8 @@ public void tearDown() { } ---- -[[GKCQP]] +[[GKCQP]][[to-run-the-standalone-example-application-using-netbeans-ide]] -[[to-run-the-standalone-example-application-using-netbeans-ide]] To Run the standalone Example Application Using NetBeans IDE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -129,9 +126,8 @@ tut-install/examples/ejb This will execute the JUnit test class `StandaloneBeanTest`. The Output tab shows the progress of the test and the output log. -[[BEIGHEHJ]] +[[BEIGHEHJ]][[to-run-the-standalone-example-application-using-maven]] -[[to-run-the-standalone-example-application-using-maven]] To Run the standalone Example Application Using Maven ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/ejb-gettingstarted.adoc b/src/main/jbake/content/ejb-gettingstarted.adoc index 97bb4b1..846264c 100644 --- a/src/main/jbake/content/ejb-gettingstarted.adoc +++ b/src/main/jbake/content/ejb-gettingstarted.adoc @@ -7,9 +7,8 @@ prev=ejb-intro008.html Getting Started with Enterprise Beans ===================================== -[[GIJRE]] +[[GIJRE]][[getting-started-with-enterprise-beans]] -[[getting-started-with-enterprise-beans]] 36 Getting Started with Enterprise Beans ---------------------------------------- diff --git a/src/main/jbake/content/ejb-gettingstarted001.adoc b/src/main/jbake/content/ejb-gettingstarted001.adoc index 0055193..c631d57 100644 --- a/src/main/jbake/content/ejb-gettingstarted001.adoc +++ b/src/main/jbake/content/ejb-gettingstarted001.adoc @@ -7,9 +7,8 @@ prev=ejb-gettingstarted.html Starting With Enterprise Beans ============================== -[[A1249349]] +[[A1249349]][[starting-with-enterprise-beans]] -[[starting-with-enterprise-beans]] Starting With Enterprise Beans ------------------------------ diff --git a/src/main/jbake/content/ejb-gettingstarted002.adoc b/src/main/jbake/content/ejb-gettingstarted002.adoc index b1bbb92..ec3ff0d 100644 --- a/src/main/jbake/content/ejb-gettingstarted002.adoc +++ b/src/main/jbake/content/ejb-gettingstarted002.adoc @@ -7,9 +7,8 @@ prev=ejb-gettingstarted001.html Creating the Enterprise Bean ============================ -[[GIPSS]] +[[GIPSS]][[creating-the-enterprise-bean]] -[[creating-the-enterprise-bean]] Creating the Enterprise Bean ---------------------------- @@ -22,9 +21,8 @@ Creating `ConverterBean` requires these steps: 1. Coding the bean's implementation class (the source code is provided) 2. Compiling the source code -[[GIPSX]] +[[GIPSX]][[coding-the-enterprise-bean-class]] -[[coding-the-enterprise-bean-class]] Coding the Enterprise Bean Class ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -64,9 +62,8 @@ Note the `@Stateless` annotation decorating the enterprise bean class. This annotation lets the container know that `ConverterBean` is a stateless session bean. -[[GIPSI]] +[[GIPSI]][[creating-the-converter-web-client]] -[[creating-the-converter-web-client]] Creating the converter Web Client ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -124,9 +121,8 @@ try { The results are displayed to the user. -[[GIPVV]] +[[GIPVV]][[running-the-converter-example]] -[[running-the-converter-example]] Running the converter Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -141,9 +137,8 @@ The following topics are addressed here: * link:#GIPUM[To Run the converter Example Using NetBeans IDE] * link:#GIPVQ[To Run the converter Example Using Maven] -[[GIPUM]] +[[GIPUM]][[to-run-the-converter-example-using-netbeans-ide]] -[[to-run-the-converter-example-using-netbeans-ide]] To Run the converter Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -172,9 +167,8 @@ click Submit. + A second page opens, showing the converted values. -[[GIPVQ]] +[[GIPVQ]][[to-run-the-converter-example-using-maven]] -[[to-run-the-converter-example-using-maven]] To Run the converter Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/ejb-gettingstarted003.adoc b/src/main/jbake/content/ejb-gettingstarted003.adoc index 7185e2d..4c21895 100644 --- a/src/main/jbake/content/ejb-gettingstarted003.adoc +++ b/src/main/jbake/content/ejb-gettingstarted003.adoc @@ -7,18 +7,16 @@ prev=ejb-gettingstarted002.html Modifying the Java EE Application ================================= -[[GIPTI]] +[[GIPTI]][[modifying-the-java-ee-application]] -[[modifying-the-java-ee-application]] Modifying the Java EE Application --------------------------------- GlassFish Server supports iterative development. Whenever you make a change to a Java EE application, you must redeploy the application. -[[GIPUK]] +[[GIPUK]][[to-modify-a-class-file]] -[[to-modify-a-class-file]] To Modify a Class File ~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/ejb-intro.adoc b/src/main/jbake/content/ejb-intro.adoc index b878a74..9266fe6 100644 --- a/src/main/jbake/content/ejb-intro.adoc +++ b/src/main/jbake/content/ejb-intro.adoc @@ -7,9 +7,8 @@ prev=partentbeans.html Enterprise Beans ================ -[[GIJSZ]] +[[GIJSZ]][[enterprise-beans]] -[[enterprise-beans]] 35 Enterprise Beans ------------------- diff --git a/src/main/jbake/content/ejb-intro001.adoc b/src/main/jbake/content/ejb-intro001.adoc index f49d667..2fed729 100644 --- a/src/main/jbake/content/ejb-intro001.adoc +++ b/src/main/jbake/content/ejb-intro001.adoc @@ -7,9 +7,8 @@ prev=ejb-intro.html = What Is an Enterprise Bean? -[[GIPMB]] +[[GIPMB]][[what-is-an-enterprise-bean]] -[[what-is-an-enterprise-bean]] What Is an Enterprise Bean? --------------------------- @@ -27,9 +26,8 @@ The following topics are addressed here: * link:#GIPKN[When to Use Enterprise Beans] * link:#GIPNM[Types of Enterprise Beans] -[[GIPLK]] +[[GIPLK]][[benefits-of-enterprise-beans]] -[[benefits-of-enterprise-beans]] Benefits of Enterprise Beans ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -52,9 +50,8 @@ assembler can build new applications from existing beans. Provided that they use the standard APIs, these applications can run on any compliant Java EE server. -[[GIPKN]] +[[GIPKN]][[when-to-use-enterprise-beans]] -[[when-to-use-enterprise-beans]] When to Use Enterprise Beans ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -73,9 +70,8 @@ objects. of code, remote clients can easily locate enterprise beans. These clients can be thin, various, and numerous. -[[GIPNM]] +[[GIPNM]][[types-of-enterprise-beans]] -[[types-of-enterprise-beans]] Types of Enterprise Beans ~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/ejb-intro002.adoc b/src/main/jbake/content/ejb-intro002.adoc index 3720ade..26fd4d0 100644 --- a/src/main/jbake/content/ejb-intro002.adoc +++ b/src/main/jbake/content/ejb-intro002.adoc @@ -7,9 +7,8 @@ prev=ejb-intro001.html What Is a Session Bean? ======================= -[[GIPJG]] +[[GIPJG]][[what-is-a-session-bean]] -[[what-is-a-session-bean]] What Is a Session Bean? ----------------------- @@ -31,9 +30,8 @@ The following topics are addressed here: * link:#GIPKR[Types of Session Beans] * link:#GIPMT[When to Use Session Beans] -[[GIPKR]] +[[GIPKR]][[types-of-session-beans]] -[[types-of-session-beans]] Types of Session Beans ~~~~~~~~~~~~~~~~~~~~~~ @@ -45,9 +43,8 @@ The following topics are addressed here: * link:#GIPIN[Stateless Session Beans] * link:#GIPIM[Singleton Session Beans] -[[GIPNL]] +[[GIPNL]][[stateful-session-beans]] -[[stateful-session-beans]] Stateful Session Beans ^^^^^^^^^^^^^^^^^^^^^^ @@ -68,9 +65,8 @@ This transient nature of the state is not a problem, however, because when the conversation between the client and the bean ends, there is no need to retain the state. -[[GIPIN]] +[[GIPIN]][[stateless-session-beans]] -[[stateless-session-beans]] Stateless Session Beans ^^^^^^^^^^^^^^^^^^^^^^^ @@ -94,9 +90,8 @@ beans than stateful session beans to support the same number of clients. A stateless session bean can implement a web service, but a stateful session bean cannot. -[[GIPIM]] +[[GIPIM]][[singleton-session-beans]] -[[singleton-session-beans]] Singleton Session Beans ^^^^^^^^^^^^^^^^^^^^^^^ @@ -122,9 +117,8 @@ singleton may perform cleanup tasks on application shutdown as well, because the singleton will operate throughout the lifecycle of the application. -[[GIPMT]] +[[GIPMT]][[when-to-use-session-beans]] -[[when-to-use-session-beans]] When to Use Session Beans ~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/ejb-intro003.adoc b/src/main/jbake/content/ejb-intro003.adoc index b1e60fa..cc2a12b 100644 --- a/src/main/jbake/content/ejb-intro003.adoc +++ b/src/main/jbake/content/ejb-intro003.adoc @@ -7,9 +7,8 @@ prev=ejb-intro002.html What Is a Message-Driven Bean? ============================== -[[GIPKO]] +[[GIPKO]][[what-is-a-message-driven-bean]] -[[what-is-a-message-driven-bean]] What Is a Message-Driven Bean? ------------------------------ @@ -28,9 +27,8 @@ The following topics are addressed here: Beans?] * link:#GIPJX[When to Use Message-Driven Beans] -[[GIPMJ]] +[[GIPMJ]][[what-makes-message-driven-beans-different-from-session-beans]] -[[what-makes-message-driven-beans-different-from-session-beans]] What Makes Message-Driven Beans Different from Session Beans? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -89,9 +87,8 @@ link:jms-examples007.html#BNBPK[Receiving Messages Asynchronously Using a Message-Driven Bean] and link:transactions.html#BNCIH[Chapter 54, "Transactions"]. -[[GIPJX]] +[[GIPJX]][[when-to-use-message-driven-beans]] -[[when-to-use-message-driven-beans]] When to Use Message-Driven Beans ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/ejb-intro004.adoc b/src/main/jbake/content/ejb-intro004.adoc index 4cf3535..00066e2 100644 --- a/src/main/jbake/content/ejb-intro004.adoc +++ b/src/main/jbake/content/ejb-intro004.adoc @@ -7,9 +7,8 @@ prev=ejb-intro003.html Accessing Enterprise Beans ========================== -[[GIPJF]] +[[GIPJF]][[accessing-enterprise-beans]] -[[accessing-enterprise-beans]] Accessing Enterprise Beans -------------------------- @@ -59,9 +58,8 @@ Session beans can have more than one business interface. Session beans should, but are not required to, implement their business interface or interfaces. -[[GIRFL]] +[[GIRFL]][[using-enterprise-beans-in-clients]] -[[using-enterprise-beans-in-clients]] Using Enterprise Beans in Clients ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -81,9 +79,8 @@ as Java SE applications, must perform an explicit lookup. JNDI supports a global syntax for identifying Java EE components to simplify this explicit lookup. -[[GIRGN]] +[[GIRGN]][[portable-jndi-syntax]] -[[portable-jndi-syntax]] Portable JNDI Syntax ^^^^^^^^^^^^^^^^^^^^ @@ -133,9 +130,8 @@ application archive `myApp.war`, the module name is `myApp`. The portable JNDI name is `java:module/MyBean`. An equivalent JNDI name using the `java:global` namespace is `java:global/myApp/MyBean`. -[[GIPIZ]] +[[GIPIZ]][[deciding-on-remote-or-local-access]] -[[deciding-on-remote-or-local-access]] Deciding on Remote or Local Access ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -186,9 +182,8 @@ or the bean class must explicitly designate the business interfaces by using the `@Remote` and `@Local` annotations. The same business interface cannot be both a local and a remote business interface. -[[GIPMZ]] +[[GIPMZ]][[local-clients]] -[[local-clients]] Local Clients ~~~~~~~~~~~~~ @@ -241,9 +236,8 @@ specify the interface name. For example: public class BeanName implements InterfaceName { ... } ---- -[[GIPSC]] +[[GIPSC]][[accessing-local-enterprise-beans-using-the-no-interface-view]] -[[accessing-local-enterprise-beans-using-the-no-interface-view]] Accessing Local Enterprise Beans Using the No-Interface View ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -272,9 +266,8 @@ ExampleBean exampleBean = (ExampleBean) Clients do not use the `new` operator to obtain a new instance of an enterprise bean that uses a no-interface view. -[[GIPSE]] +[[GIPSE]][[accessing-local-enterprise-beans-that-implement-business-interfaces]] -[[accessing-local-enterprise-beans-that-implement-business-interfaces]] Accessing Local Enterprise Beans That Implement Business Interfaces ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -301,9 +294,8 @@ ExampleLocal example = (ExampleLocal) InitialContext.lookup("java:module/ExampleLocal"); ---- -[[GIPIU]] +[[GIPIU]][[remote-clients]] -[[remote-clients]] Remote Clients ~~~~~~~~~~~~~~ @@ -376,9 +368,8 @@ ExampleRemote example = (ExampleRemote) InitialContext.lookup("java:global/myApp/ExampleRemote"); ---- -[[GIPKD]] +[[GIPKD]][[web-service-clients]] -[[web-service-clients]] Web Service Clients ~~~~~~~~~~~~~~~~~~~ @@ -408,9 +399,8 @@ exposed to web service clients. For a code sample, see link:ejb-basicexamples004.html#BNBOR[A Web Service Example: helloservice]. -[[GIPLY]] +[[GIPLY]][[method-parameters-and-access]] -[[method-parameters-and-access]] Method Parameters and Access ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -418,9 +408,8 @@ The type of access affects the parameters of the bean methods that are called by clients. The following sections apply not only to method parameters but also to method return values. -[[GIPLX]] +[[GIPLX]][[isolation]] -[[isolation]] Isolation ^^^^^^^^^ @@ -439,9 +428,8 @@ components, replacing the local calls with remote ones. As with remote clients, web service clients operate on different copies of parameters than does the bean that implements the web service. -[[GIPKV]] +[[GIPKV]][[granularity-of-accessed-data]] -[[granularity-of-accessed-data]] Granularity of Accessed Data ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/ejb-intro005.adoc b/src/main/jbake/content/ejb-intro005.adoc index 8bca816..65576e9 100644 --- a/src/main/jbake/content/ejb-intro005.adoc +++ b/src/main/jbake/content/ejb-intro005.adoc @@ -7,9 +7,8 @@ prev=ejb-intro004.html The Contents of an Enterprise Bean ================================== -[[GIPIO]] +[[GIPIO]][[the-contents-of-an-enterprise-bean]] -[[the-contents-of-an-enterprise-bean]] The Contents of an Enterprise Bean ---------------------------------- diff --git a/src/main/jbake/content/ejb-intro006.adoc b/src/main/jbake/content/ejb-intro006.adoc index c64ec09..de3baec 100644 --- a/src/main/jbake/content/ejb-intro006.adoc +++ b/src/main/jbake/content/ejb-intro006.adoc @@ -7,9 +7,8 @@ prev=ejb-intro005.html = Naming Conventions for Enterprise Beans -[[GIPKS]] +[[GIPKS]][[naming-conventions-for-enterprise-beans]] -[[naming-conventions-for-enterprise-beans]] Naming Conventions for Enterprise Beans --------------------------------------- diff --git a/src/main/jbake/content/ejb-intro007.adoc b/src/main/jbake/content/ejb-intro007.adoc index 03c89a5..e993aa6 100644 --- a/src/main/jbake/content/ejb-intro007.adoc +++ b/src/main/jbake/content/ejb-intro007.adoc @@ -7,9 +7,8 @@ prev=ejb-intro006.html The Lifecycles of Enterprise Beans ================================== -[[GIPLJ]] +[[GIPLJ]][[the-lifecycles-of-enterprise-beans]] -[[the-lifecycles-of-enterprise-beans]] The Lifecycles of Enterprise Beans ---------------------------------- @@ -30,9 +29,8 @@ The following topics are addressed here: * link:#GIPRX[The Lifecycle of a Singleton Session Bean] * link:#GIPKW[The Lifecycle of a Message-Driven Bean] -[[GIPLN]] +[[GIPLN]][[the-lifecycle-of-a-stateful-session-bean]] -[[the-lifecycle-of-a-stateful-session-bean]] The Lifecycle of a Stateful Session Bean ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -69,9 +67,8 @@ method annotated `@Remove`. All other methods in link:#GIPMI[Figure link:resources.html#BNCJH[Chapter 55, "Resource Adapters and Contracts"] for more information. -[[GIPLM]] +[[GIPLM]][[the-lifecycle-of-a-stateless-session-bean]] -[[the-lifecycle-of-a-stateless-session-bean]] The Lifecycle of a Stateless Session Bean ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -96,9 +93,8 @@ At the end of the lifecycle, the EJB container calls the method annotated `@PreDestroy`, if it exists. The bean's instance is then ready for garbage collection. -[[GIPRX]] +[[GIPRX]][[the-lifecycle-of-a-singleton-session-bean]] -[[the-lifecycle-of-a-singleton-session-bean]] The Lifecycle of a Singleton Session Bean ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -117,9 +113,8 @@ At the end of the lifecycle, the EJB container calls the method annotated `@PreDestroy`, if it exists. The singleton session bean is now ready for garbage collection. -[[GIPKW]] +[[GIPKW]][[the-lifecycle-of-a-message-driven-bean]] -[[the-lifecycle-of-a-message-driven-bean]] The Lifecycle of a Message-Driven Bean ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/ejb-intro008.adoc b/src/main/jbake/content/ejb-intro008.adoc index 08923d5..026e507 100644 --- a/src/main/jbake/content/ejb-intro008.adoc +++ b/src/main/jbake/content/ejb-intro008.adoc @@ -6,9 +6,8 @@ prev=ejb-intro007.html ~~~~~~ =Further Information about Enterprise Beans -[[GIPLG]] +[[GIPLG]][[further-information-about-enterprise-beans]] -[[further-information-about-enterprise-beans]] Further Information about Enterprise Beans ------------------------------------------ diff --git a/src/main/jbake/content/injection.adoc b/src/main/jbake/content/injection.adoc index 2ee91d7..749726d 100644 --- a/src/main/jbake/content/injection.adoc +++ b/src/main/jbake/content/injection.adoc @@ -7,9 +7,8 @@ prev=resource-creation003.html Injection ========= -[[GKJIQ3]] +[[GKJIQ3]][[injection]] -[[injection]] 4 Injection ----------- diff --git a/src/main/jbake/content/injection001.adoc b/src/main/jbake/content/injection001.adoc index f75c73a..92ce31b 100644 --- a/src/main/jbake/content/injection001.adoc +++ b/src/main/jbake/content/injection001.adoc @@ -7,9 +7,8 @@ prev=injection.html Resource Injection ================== -[[BABHDCAI]] +[[BABHDCAI]][[resource-injection]] -[[resource-injection]] Resource Injection ------------------ diff --git a/src/main/jbake/content/injection002.adoc b/src/main/jbake/content/injection002.adoc index 546f6f2..fcfe092 100644 --- a/src/main/jbake/content/injection002.adoc +++ b/src/main/jbake/content/injection002.adoc @@ -7,9 +7,8 @@ prev=injection001.html Dependency Injection ==================== -[[BABDJGIE]] +[[BABDJGIE]][[dependency-injection]] -[[dependency-injection]] Dependency Injection -------------------- diff --git a/src/main/jbake/content/injection003.adoc b/src/main/jbake/content/injection003.adoc index 5a90daf..c2ef6cd 100644 --- a/src/main/jbake/content/injection003.adoc +++ b/src/main/jbake/content/injection003.adoc @@ -7,9 +7,8 @@ prev=injection002.html = The Main Differences between Resource Injection and Dependency Injection -[[BABHFECJ]] +[[BABHFECJ]][[the-main-differences-between-resource-injection-and-dependency-injection]] -[[the-main-differences-between-resource-injection-and-dependency-injection]] The Main Differences between Resource Injection and Dependency Injection ------------------------------------------------------------------------ diff --git a/src/main/jbake/content/interceptors.adoc b/src/main/jbake/content/interceptors.adoc index fc3dba4..59c8e00 100644 --- a/src/main/jbake/content/interceptors.adoc +++ b/src/main/jbake/content/interceptors.adoc @@ -7,9 +7,8 @@ prev=connectorexample003.html Using Java EE Interceptors ========================== -[[GKEED]] +[[GKEED]][[using-java-ee-interceptors]] -[[using-java-ee-interceptors]] 58 Using Java EE Interceptors ----------------------------- diff --git a/src/main/jbake/content/interceptors001.adoc b/src/main/jbake/content/interceptors001.adoc index 46de9d4..38af63d 100644 --- a/src/main/jbake/content/interceptors001.adoc +++ b/src/main/jbake/content/interceptors001.adoc @@ -7,9 +7,8 @@ prev=interceptors.html = Overview of Interceptors -[[GKIGQ]] +[[GKIGQ]][[overview-of-interceptors]] -[[overview-of-interceptors]] Overview of Interceptors ------------------------ @@ -80,9 +79,8 @@ method for pre-destroy lifecycle events |======================================================================= -[[GKECK]] +[[GKECK]][[interceptor-classes]] -[[interceptor-classes]] Interceptor Classes ~~~~~~~~~~~~~~~~~~~ @@ -102,9 +100,8 @@ injection occurs when the interceptor class instance is created, using the naming context of the associated target class, and before any `@PostConstruct` callbacks are invoked. -[[GKEDY]] +[[GKEDY]][[interceptor-lifecycle]] -[[interceptor-lifecycle]] Interceptor Lifecycle ~~~~~~~~~~~~~~~~~~~~~ @@ -118,9 +115,8 @@ instances are fully instantiated before any `@PostConstruct` callbacks are invoked, and any `@PreDestroy` callbacks are invoked before the target class and interceptor class instances are destroyed. -[[GKHSN]] +[[GKHSN]][[interceptors-and-cdi]] -[[interceptors-and-cdi]] Interceptors and CDI ~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/interceptors002.adoc b/src/main/jbake/content/interceptors002.adoc index bda7188..9787ad0 100644 --- a/src/main/jbake/content/interceptors002.adoc +++ b/src/main/jbake/content/interceptors002.adoc @@ -7,9 +7,8 @@ prev=interceptors001.html = Using Interceptors -[[GKEDM]] +[[GKEDM]][[using-interceptors]] -[[using-interceptors]] Using Interceptors ------------------ @@ -57,9 +56,8 @@ public class OrderBean { } ---- -[[GKECY]] +[[GKECY]][[intercepting-method-invocations]] -[[intercepting-method-invocations]] Intercepting Method Invocations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -95,9 +93,8 @@ exception allowed by the `throws` clause of the target method. They may catch and suppress exceptions, and then recover by calling the `InvocationContext.proceed` method. -[[GKHMH]] +[[GKHMH]][[using-multiple-method-interceptors]] -[[using-multiple-method-interceptors]] Using Multiple Method Interceptors ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -148,9 +145,8 @@ target class method invocations. That is, a different `InvocationContext` object is created for each invocation of the method in the target class. -[[GKHOV]] +[[GKHOV]][[accessing-target-method-parameters-from-an-interceptor-class]] -[[accessing-target-method-parameters-from-an-interceptor-class]] Accessing Target Method Parameters from an Interceptor Class ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -174,9 +170,8 @@ You can access and modify the parameters by using the `InvocationContext.getParameters` and `InvocationContext.setParameters` methods, respectively. -[[GKECR]] +[[GKECR]][[intercepting-lifecycle-callback-events]] -[[intercepting-lifecycle-callback-events]] Intercepting Lifecycle Callback Events ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -233,9 +228,8 @@ assume the lifecycle event interceptor method has access to a security or transaction context. Only one interceptor method for each lifecycle event (post-create and pre-destroy) is allowed per class. -[[sthref254]] +[[sthref254]][[using-aroundconstruct-interceptor-methods]] -[[using-aroundconstruct-interceptor-methods]] Using AroundConstruct Interceptor Methods ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -274,9 +268,8 @@ target instance. create the target instance. If an `@AroundConstruct` method does not call `Invocation.proceed`, the target instance will not be created. -[[GKHNI]] +[[GKHNI]][[using-multiple-lifecycle-callback-interceptors]] -[[using-multiple-lifecycle-callback-interceptors]] Using Multiple Lifecycle Callback Interceptors ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -294,9 +287,8 @@ public class OrderBean { ... } Data stored in the `contextData` property of `InvocationContext` is not sharable across different lifecycle events. -[[GKEDU]] +[[GKEDU]][[intercepting-timeout-events]] -[[intercepting-timeout-events]] Intercepting Timeout Events ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -331,9 +323,8 @@ Timeout interceptors may access the timer object associated with the target timeout method through the `InvocationContext` instance's `getTimer` method. -[[GKHLA]] +[[GKHLA]][[using-multiple-timeout-interceptors]] -[[using-multiple-timeout-interceptors]] Using Multiple Timeout Interceptors ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -365,9 +356,8 @@ The timeout interceptor in `PrimaryInterceptor` will be called first, followed by the timeout interceptor in `SecondaryInterceptor`, and finally the `last` method defined in the target class. -[[sthref255]] +[[sthref255]][[binding-interceptors-to-components]] -[[binding-interceptors-to-components]] Binding Interceptors to Components ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -402,9 +392,8 @@ binding types: public @interface Secured { ... } ---- -[[sthref256]] +[[sthref256]][[declaring-the-interceptor-bindings-on-an-interceptor-class]] -[[declaring-the-interceptor-bindings-on-an-interceptor-class]] Declaring the Interceptor Bindings on an Interceptor Class ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -430,9 +419,8 @@ If the interceptor class intercepts lifecycle callbacks, it can only declare interceptor binding types with `Target(TYPE)`, or in the case of `@AroundConstruct` lifecycle callbacks, `Target(CONSTRUCTOR)`. -[[sthref257]] +[[sthref257]][[binding-a-component-to-an-interceptor]] -[[binding-a-component-to-an-interceptor]] Binding a Component to an Interceptor ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -456,9 +444,8 @@ If the component has a class-level interceptor binding, it must not be non-`static`, non-`private` method has an interceptor binding applied to it, it must not be `final`, and the component class cannot be `final`. -[[sthref258]] +[[sthref258]][[ordering-interceptors]] -[[ordering-interceptors]] Ordering Interceptors ~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/interceptors003.adoc b/src/main/jbake/content/interceptors003.adoc index ddc247d..4213ffd 100644 --- a/src/main/jbake/content/interceptors003.adoc +++ b/src/main/jbake/content/interceptors003.adoc @@ -7,9 +7,8 @@ prev=interceptors002.html The interceptor Example Application =================================== -[[GKECI]] +[[GKECI]][[the-interceptor-example-application]] -[[the-interceptor-example-application]] The interceptor Example Application ----------------------------------- @@ -66,9 +65,8 @@ application that consists of two Facelets views: `index.xhtml`, which contains a form for entering the name, and `response.xhtml`, which displays the final name. -[[sthref260]] +[[sthref260]][[running-the-interceptor-example]] -[[running-the-interceptor-example]] Running the interceptor Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -80,9 +78,8 @@ The following topics are addressed here: * link:#GKEDF[To Run the interceptor Example Using NetBeans IDE] * link:#GKECT[To Run the interceptor Example Using Maven] -[[GKEDF]] +[[GKEDF]][[to-run-the-interceptor-example-using-netbeans-ide]] -[[to-run-the-interceptor-example-using-netbeans-ide]] To Run the interceptor Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -112,9 +109,8 @@ http://localhost:8080/interceptor/ The name will be converted to lowercase by the method interceptor defined in the `HelloInterceptor` class. -[[GKECT]] +[[GKECT]][[to-run-the-interceptor-example-using-maven]] -[[to-run-the-interceptor-example-using-maven]] To Run the interceptor Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jaxrs-advanced.adoc b/src/main/jbake/content/jaxrs-advanced.adoc index 421bc55..23979e1 100644 --- a/src/main/jbake/content/jaxrs-advanced.adoc +++ b/src/main/jbake/content/jaxrs-advanced.adoc @@ -7,9 +7,8 @@ prev=jaxrs-client003.html JAX-RS: Advanced Topics and an Example ====================================== -[[GJJXE]] +[[GJJXE]][[jax-rs-advanced-topics-and-an-example]] -[[jax-rs-advanced-topics-and-an-example]] 34 JAX-RS: Advanced Topics and an Example ----------------------------------------- diff --git a/src/main/jbake/content/jaxrs-advanced001.adoc b/src/main/jbake/content/jaxrs-advanced001.adoc index 5497cf3..6557a4d 100644 --- a/src/main/jbake/content/jaxrs-advanced001.adoc +++ b/src/main/jbake/content/jaxrs-advanced001.adoc @@ -7,9 +7,8 @@ prev=jaxrs-advanced.html = Annotations for Field and Bean Properties of Resource Classes -[[GKKRB]] +[[GKKRB]][[annotations-for-field-and-bean-properties-of-resource-classes]] -[[annotations-for-field-and-bean-properties-of-resource-classes]] Annotations for Field and Bean Properties of Resource Classes ------------------------------------------------------------- @@ -44,9 +43,8 @@ content type is `application/x-www-form-urlencoded` |======================================================================= -[[GKKYA]] +[[GKKYA]][[extracting-path-parameters]] -[[extracting-path-parameters]] Extracting Path Parameters ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -92,9 +90,8 @@ uppercase characters, you can declare the following regular expression: If the last name does not match the regular expression, a 404 response is returned. -[[GKKXJ]] +[[GKKXJ]][[extracting-query-parameters]] -[[extracting-query-parameters]] Extracting Query Parameters ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -129,9 +126,8 @@ JAX-RS assigns a null value for `Object` values and zero for primitive data types. You can use the `@DefaultValue` annotation to eliminate null or zero values and define your own default values for a parameter. -[[GKKYC]] +[[GKKYC]][[extracting-form-data]] -[[extracting-form-data]] Extracting Form Data ~~~~~~~~~~~~~~~~~~~~ @@ -177,9 +173,8 @@ public void post(MultivaluedMap formParams) { } ---- -[[GKLCQ]] +[[GKLCQ]][[extracting-the-java-type-of-a-request-or-response]] -[[extracting-the-java-type-of-a-request-or-response]] Extracting the Java Type of a Request or Response ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jaxrs-advanced002.adoc b/src/main/jbake/content/jaxrs-advanced002.adoc index aaa74cc..9ab25ec 100644 --- a/src/main/jbake/content/jaxrs-advanced002.adoc +++ b/src/main/jbake/content/jaxrs-advanced002.adoc @@ -7,9 +7,8 @@ prev=jaxrs-advanced001.html = Validating Resource Data with Bean Validation -[[BABCJEDF]] +[[BABCJEDF]][[validating-resource-data-with-bean-validation]] -[[validating-resource-data-with-bean-validation]] Validating Resource Data with Bean Validation --------------------------------------------- @@ -26,9 +25,8 @@ The following topics are addressed here: * link:#CIHFDCBI[Validating Entity Data] * link:#CIHCHEFH[Validation Exception Handling and Response Codes] -[[CIHJAFGI]] +[[CIHJAFGI]][[using-constraint-annotations-on-resource-methods]] -[[using-constraint-annotations-on-resource-methods]] Using Constraint Annotations on Resource Methods ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -125,9 +123,8 @@ public class CreateUserResource { } ---- -[[CIHFDCBI]] +[[CIHFDCBI]][[validating-entity-data]] -[[validating-entity-data]] Validating Entity Data ~~~~~~~~~~~~~~~~~~~~~~ @@ -215,9 +212,8 @@ As in the previous example, the `@ActiveUser` constraint is applied to the returned entity class as well as the `@PhoneRequired` and `@NotNull` constraints defined within the entity class. -[[CIHCHEFH]] +[[CIHCHEFH]][[validation-exception-handling-and-response-codes]] -[[validation-exception-handling-and-response-codes]] Validation Exception Handling and Response Codes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jaxrs-advanced003.adoc b/src/main/jbake/content/jaxrs-advanced003.adoc index 547ebbd..8e78a3c 100644 --- a/src/main/jbake/content/jaxrs-advanced003.adoc +++ b/src/main/jbake/content/jaxrs-advanced003.adoc @@ -7,9 +7,8 @@ prev=jaxrs-advanced002.html Subresources and Runtime Resource Resolution ============================================ -[[GKNAV]] +[[GKNAV]][[subresources-and-runtime-resource-resolution]] -[[subresources-and-runtime-resource-resolution]] Subresources and Runtime Resource Resolution -------------------------------------------- @@ -30,9 +29,8 @@ The following topics are addressed here: * link:#GKLAG[Subresource Methods] * link:#GKRHR[Subresource Locators] -[[GKLAG]] +[[GKLAG]][[subresource-methods]] -[[subresource-methods]] Subresource Methods ~~~~~~~~~~~~~~~~~~~ @@ -70,9 +68,8 @@ request: GET /employeeinfo/employees/john.doe@example.com ---- -[[GKRHR]] +[[GKRHR]][[subresource-locators]] -[[subresource-locators]] Subresource Locators ~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jaxrs-advanced004.adoc b/src/main/jbake/content/jaxrs-advanced004.adoc index b92b86d..c3d2139 100644 --- a/src/main/jbake/content/jaxrs-advanced004.adoc +++ b/src/main/jbake/content/jaxrs-advanced004.adoc @@ -7,9 +7,8 @@ prev=jaxrs-advanced003.html Integrating JAX-RS with EJB Technology and CDI ============================================== -[[GKNCY]] +[[GKNCY]][[integrating-jax-rs-with-ejb-technology-and-cdi]] -[[integrating-jax-rs-with-ejb-technology-and-cdi]] Integrating JAX-RS with EJB Technology and CDI ---------------------------------------------- diff --git a/src/main/jbake/content/jaxrs-advanced005.adoc b/src/main/jbake/content/jaxrs-advanced005.adoc index 522aa4f..67d96d7 100644 --- a/src/main/jbake/content/jaxrs-advanced005.adoc +++ b/src/main/jbake/content/jaxrs-advanced005.adoc @@ -7,9 +7,8 @@ prev=jaxrs-advanced004.html Conditional HTTP Requests ========================= -[[GKQDA]] +[[GKQDA]][[conditional-http-requests]] -[[conditional-http-requests]] Conditional HTTP Requests ------------------------- diff --git a/src/main/jbake/content/jaxrs-advanced006.adoc b/src/main/jbake/content/jaxrs-advanced006.adoc index 70f3e63..b8463ea 100644 --- a/src/main/jbake/content/jaxrs-advanced006.adoc +++ b/src/main/jbake/content/jaxrs-advanced006.adoc @@ -7,9 +7,8 @@ prev=jaxrs-advanced005.html Runtime Content Negotiation =========================== -[[GKQBQ]] +[[GKQBQ]][[runtime-content-negotiation]] -[[runtime-content-negotiation]] Runtime Content Negotiation --------------------------- diff --git a/src/main/jbake/content/jaxrs-advanced007.adoc b/src/main/jbake/content/jaxrs-advanced007.adoc index 7f3d192..e29f9dc 100644 --- a/src/main/jbake/content/jaxrs-advanced007.adoc +++ b/src/main/jbake/content/jaxrs-advanced007.adoc @@ -7,9 +7,8 @@ prev=jaxrs-advanced006.html Using JAX-RS with JAXB ====================== -[[GKKNJ]] +[[GKKNJ]][[using-jax-rs-with-jaxb]] -[[using-jax-rs-with-jaxb]] Using JAX-RS with JAXB ---------------------- @@ -91,9 +90,8 @@ interface. The following sections explain how to use JAXB with JAX-RS resource methods. -[[sthref147]] +[[sthref147]][[using-java-objects-to-model-your-data]] -[[using-java-objects-to-model-your-data]] Using Java Objects to Model Your Data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -195,9 +193,8 @@ link:jaxrs-advanced008.html#GKOIB[The customer Example Application]. The classes that model the data, which results in a more hierarchical XML representation. -[[sthref148]] +[[sthref148]][[starting-from-an-existing-xml-schema-definition]] -[[starting-from-an-existing-xml-schema-definition]] Starting from an Existing XML Schema Definition ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -320,9 +317,8 @@ public class ProductService { } ---- -[[sthref149]] +[[sthref149]][[using-json-with-jax-rs-and-jaxb]] -[[using-json-with-jax-rs-and-jaxb]] Using JSON with JAX-RS and JAXB ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jaxrs-advanced008.adoc b/src/main/jbake/content/jaxrs-advanced008.adoc index 4446ca2..ef55a72 100644 --- a/src/main/jbake/content/jaxrs-advanced008.adoc +++ b/src/main/jbake/content/jaxrs-advanced008.adoc @@ -7,9 +7,8 @@ prev=jaxrs-advanced007.html The customer Example Application ================================ -[[GKOIB]] +[[GKOIB]][[the-customer-example-application]] -[[the-customer-example-application]] The customer Example Application -------------------------------- @@ -31,9 +30,8 @@ The following topics are addressed here: * link:#GKQJQ[Using the JAX-RS Client in the CustomerBean Classes] * link:#GKQKV[Running the customer Example] -[[GKOFO]] +[[GKOFO]][[overview-of-the-customer-example-application]] -[[overview-of-the-customer-example-application]] Overview of the customer Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -54,9 +52,8 @@ methods of `CustomerService`. The `customer` example application shows you how to model your data entities as Java classes with JAXB annotations. -[[CIHJFEJI]] +[[CIHJFEJI]][[the-customer-and-address-entity-classes]] -[[the-customer-and-address-entity-classes]] The Customer and Address Entity Classes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -192,9 +189,8 @@ classes: ---- -[[GKLGT]] +[[GKLGT]][[the-customerservice-class]] -[[the-customerservice-class]] The CustomerService Class ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -297,9 +293,8 @@ the client. } ---- -[[GKQJQ]] +[[GKQJQ]][[using-the-jax-rs-client-in-the-customerbean-classes]] -[[using-the-jax-rs-client-in-the-customerbean-classes]] Using the JAX-RS Client in the CustomerBean Classes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -383,9 +378,8 @@ All of these HTTP status codes indicate success: 201 for `POST`, 200 for status codes, see `http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html`. -[[GKQKV]] +[[GKQKV]][[running-the-customer-example]] -[[running-the-customer-example]] Running the customer Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -399,9 +393,8 @@ NetBeans IDE] * link:#GKQJV[To Build, Package, and Deploy the customer Example Using Maven] -[[GKQLY]] +[[GKQLY]][[to-build-package-and-deploy-the-customer-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-customer-example-using-netbeans-ide]] To Build, Package, and Deploy the customer Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -432,9 +425,8 @@ http://localhost:8080/customer/ + The web client allows you to create and view customers. -[[GKQJV]] +[[GKQJV]][[to-build-package-and-deploy-the-customer-example-using-maven]] -[[to-build-package-and-deploy-the-customer-example-using-maven]] To Build, Package, and Deploy the customer Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jaxrs-client.adoc b/src/main/jbake/content/jaxrs-client.adoc index daff5f4..b636b86 100644 --- a/src/main/jbake/content/jaxrs-client.adoc +++ b/src/main/jbake/content/jaxrs-client.adoc @@ -7,9 +7,8 @@ prev=jaxrs004.html Accessing REST Resources with the JAX-RS Client API =================================================== -[[BABEIGIH]] +[[BABEIGIH]][[accessing-rest-resources-with-the-jax-rs-client-api]] -[[accessing-rest-resources-with-the-jax-rs-client-api]] 33 Accessing REST Resources with the JAX-RS Client API ------------------------------------------------------ diff --git a/src/main/jbake/content/jaxrs-client001.adoc b/src/main/jbake/content/jaxrs-client001.adoc index b0d28c2..11a5d08 100644 --- a/src/main/jbake/content/jaxrs-client001.adoc +++ b/src/main/jbake/content/jaxrs-client001.adoc @@ -7,9 +7,8 @@ prev=jaxrs-client.html Overview of the Client API ========================== -[[BABBIHEJ]] +[[BABBIHEJ]][[overview-of-the-client-api]] -[[overview-of-the-client-api]] Overview of the Client API -------------------------- @@ -25,9 +24,8 @@ The following topics are addressed here: * link:#CHDDBFCG[Setting Path Parameters in Targets] * link:#CHDEFCDB[Invoking the Request] -[[CHDFCABB]] +[[CHDFCABB]][[creating-a-basic-client-request-using-the-client-api]] -[[creating-a-basic-client-request-using-the-client-api]] Creating a Basic Client Request Using the Client API ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -60,9 +58,8 @@ the returned entity. The `javax.ws.rs.client.Invocation.Builder.get` method invokes the service using an HTTP `GET` request, setting the type of the returned entity to `String`. -[[CHDHBFHJ]] +[[CHDHBFHJ]][[obtaining-the-client-instance]] -[[obtaining-the-client-instance]] Obtaining the Client Instance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -90,9 +87,8 @@ limit the number of `Client` instances in your application, as the initialization and destruction of these instances may be expensive in your runtime environment. -[[CHDDCICC]] +[[CHDDCICC]][[setting-the-client-target]] -[[setting-the-client-target]] Setting the Client Target ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -126,9 +122,8 @@ WebTarget write = base.path("write"); The `WebTarget.path` method creates a new `WebTarget` instance by appending the current target URI with the path that was passed in. -[[CHDDBFCG]] +[[CHDDBFCG]][[setting-path-parameters-in-targets]] -[[setting-path-parameters-in-targets]] Setting Path Parameters in Targets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -146,9 +141,8 @@ WebTarget myResource = client.target("http://example.com/webapi/read") .resolveTemplate("userName", "janedoe") .queryParam("chapter", "1");// http://example.com/webapi/read/janedoe?chapter=1Response response = myResource.request(...) .get(); ---- -[[CHDEFCDB]] +[[CHDEFCDB]][[invoking-the-request]] -[[invoking-the-request]] Invoking the Request ~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jaxrs-client002.adoc b/src/main/jbake/content/jaxrs-client002.adoc index 182b97e..ab692e0 100644 --- a/src/main/jbake/content/jaxrs-client002.adoc +++ b/src/main/jbake/content/jaxrs-client002.adoc @@ -7,9 +7,8 @@ prev=jaxrs-client001.html Using the Client API in the JAX-RS Example Applications ======================================================= -[[BABJCIJC]] +[[BABJCIJC]][[using-the-client-api-in-the-jax-rs-example-applications]] -[[using-the-client-api-in-the-jax-rs-example-applications]] Using the Client API in the JAX-RS Example Applications ------------------------------------------------------- @@ -22,9 +21,8 @@ The following topics are addressed here: * link:#BABEDFIG[The Client API in the rsvp Example Application] * link:#CHDGBGID[The Client API in the customer Example Application] -[[BABEDFIG]] +[[BABEDFIG]][[the-client-api-in-the-rsvp-example-application]] -[[the-client-api-in-the-rsvp-example-application]] The Client API in the rsvp Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -106,9 +104,8 @@ response. The body of the request is an XML document. } ---- -[[CHDGBGID]] +[[CHDGBGID]][[the-client-api-in-the-customer-example-application]] -[[the-client-api-in-the-customer-example-application]] The Client API in the customer Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jaxrs-client003.adoc b/src/main/jbake/content/jaxrs-client003.adoc index d7d7c22..996b11e 100644 --- a/src/main/jbake/content/jaxrs-client003.adoc +++ b/src/main/jbake/content/jaxrs-client003.adoc @@ -7,9 +7,8 @@ prev=jaxrs-client002.html = Advanced Features of the Client API -[[BABCDDGH]] +[[BABCDDGH]][[advanced-features-of-the-client-api]] -[[advanced-features-of-the-client-api]] Advanced Features of the Client API ----------------------------------- @@ -21,9 +20,8 @@ The following topics are addressed here: * link:#CHDGBBCC[Configuring the Client Request] * link:#CHDEBIGG[Asynchronous Invocations in the Client API] -[[CHDGBBCC]] +[[CHDGBBCC]][[configuring-the-client-request]] -[[configuring-the-client-request]] Configuring the Client Request ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -36,9 +34,8 @@ The following topics are addressed here: * link:#CHDHFFDJ[Setting Cookies in the Client Request] * link:#CHDJEFID[Adding Filters to the Client] -[[CHDHAFBG]] +[[CHDHAFBG]][[setting-message-headers-in-the-client-request]] -[[setting-message-headers-in-the-client-request]] Setting Message Headers in the Client Request ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -84,9 +81,8 @@ values.add(...) myHeaders.add("myHeader", values ---- -[[CHDHFFDJ]] +[[CHDHFFDJ]][[setting-cookies-in-the-client-request]] -[[setting-cookies-in-the-client-request]] Setting Cookies in the Client Request ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -120,9 +116,8 @@ String response = myResource.request(MediaType.TEXT_PLAIN) .get(String.class); ---- -[[CHDJEFID]] +[[CHDJEFID]][[adding-filters-to-the-client]] -[[adding-filters-to-the-client]] Adding Filters to the Client ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -200,9 +195,8 @@ public void filter(ClientRequestContext requestContext) throws IOException { } ---- -[[CHDEBIGG]] +[[CHDEBIGG]][[asynchronous-invocations-in-the-client-api]] -[[asynchronous-invocations-in-the-client-api]] Asynchronous Invocations in the Client API ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -234,9 +228,8 @@ Future response = myResource.request(MediaType.TEXT_PLAIN) .get(String.class); ---- -[[sthref140]] +[[sthref140]][[using-custom-callbacks-in-asynchronous-invocations]] -[[using-custom-callbacks-in-asynchronous-invocations]] Using Custom Callbacks in Asynchronous Invocations ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -267,9 +260,8 @@ Future fCustomer = myResource.request(MediaType.TEXT_PLAIN) }); ---- -[[sthref141]] +[[sthref141]][[using-reactive-approach-in-asynchronous-invocations]] -[[using-reactive-approach-in-asynchronous-invocations]] Using Reactive Approach in Asynchronous Invocations ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -292,9 +284,8 @@ In the example, an asynchronous processing of the interface `CompletionStage` is created and waits till it is completed and the result is displayed. The `CompletionStage` that is returned can then be used only to retrieve the result as shown in the above example or can be combined with other completion stages to ease and improve the processing of asynchronous tasks. -[[sthref142]] +[[sthref142]][[using-server-sent-events]] -[[using-server-sent-events]] Using Server-Sent Events ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -311,9 +302,8 @@ The communication channel established by the client lasts till the client closes the connection and it is also re-used by the server to send multiple events from the server. -[[sthref143]] +[[sthref143]][[overview-of-the-sse-api]] -[[overview-of-the-sse-api]] Overview of the SSE API ~~~~~~~~~~~~~~~~~~~~~~~ @@ -353,9 +343,8 @@ enabled. The events that are streamed to the clients can be defined with the details such as `event`, `data`, `id`, `retry`, and `comment`. -[[sthref144]] +[[sthref144]][[broadcasting-using-sse]] -[[broadcasting-using-sse]] Broadcasting Using SSE ~~~~~~~~~~~~~~~~~~~~~~ @@ -401,9 +390,8 @@ the creation of multiple instances of the class. The `register` method on a broadcaster is used to add a new `SseEventSink`; the `broadcast` method is used to send an SSE event to all registered clients. -[[sthref145]] +[[sthref145]][[listening-and-receiving-events]] -[[listening-and-receiving-events]] Listening and Receiving Events ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jaxrs.adoc b/src/main/jbake/content/jaxrs.adoc index 01d2629..263e6a6 100644 --- a/src/main/jbake/content/jaxrs.adoc +++ b/src/main/jbake/content/jaxrs.adoc @@ -7,9 +7,8 @@ prev=jaxws005.html = Building RESTful Web Services with JAX-RS -[[GIEPU]] +[[GIEPU]][[building-restful-web-services-with-jax-rs]] -[[building-restful-web-services-with-jax-rs]] 32 Building RESTful Web Services with JAX-RS -------------------------------------------- diff --git a/src/main/jbake/content/jaxrs001.adoc b/src/main/jbake/content/jaxrs001.adoc index 0e673bd..07341ef 100644 --- a/src/main/jbake/content/jaxrs001.adoc +++ b/src/main/jbake/content/jaxrs001.adoc @@ -7,9 +7,8 @@ prev=jaxrs.html = What Are RESTful Web Services? -[[GIJQY]] +[[GIJQY]][[what-are-restful-web-services]] -[[what-are-restful-web-services]] What Are RESTful Web Services? ------------------------------ diff --git a/src/main/jbake/content/jaxrs002.adoc b/src/main/jbake/content/jaxrs002.adoc index 094a58e..a32a75f 100644 --- a/src/main/jbake/content/jaxrs002.adoc +++ b/src/main/jbake/content/jaxrs002.adoc @@ -7,9 +7,8 @@ prev=jaxrs001.html = Creating a RESTful Root Resource Class -[[GILIK]] +[[GILIK]][[creating-a-restful-root-resource-class]] -[[creating-a-restful-root-resource-class]] Creating a RESTful Root Resource Class -------------------------------------- @@ -31,9 +30,8 @@ Responses] * link:#GIPYW[Extracting Request Parameters] * link:#CIHEGAGI[Configuring JAX-RS Applications] -[[GILRU]] +[[GILRU]][[developing-restful-web-services-with-jax-rs]] -[[developing-restful-web-services-with-jax-rs]] Developing RESTful Web Services with JAX-RS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -148,9 +146,8 @@ the URL mapping for the application. The path specified by |======================================================================= -[[GILQB]] +[[GILQB]][[overview-of-a-jax-rs-application]] -[[overview-of-a-jax-rs-application]] Overview of a JAX-RS Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -225,9 +222,8 @@ public void postHtml(String message) { } ---- -[[GINPW]] +[[GINPW]][[the-path-annotation-and-uri-path-templates]] -[[the-path-annotation-and-uri-path-templates]] The @Path Annotation and URI Path Templates ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -380,9 +376,8 @@ The value of the `name3` variable is an empty string. |======================================================================= -[[GIPYS]] +[[GIPYS]][[responding-to-http-methods-and-requests]] -[[responding-to-http-methods-and-requests]] Responding to HTTP Methods and Requests ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -395,9 +390,8 @@ The following topics are addressed here: * link:#GIPZE[Using Entity Providers to Map HTTP Response and Request Entity Bodies] -[[GIPXS]] +[[GIPXS]][[the-request-method-designator-annotations]] -[[the-request-method-designator-annotations]] The Request Method Designator Annotations ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -471,9 +465,8 @@ create a resource and return a `201` response with a location header whose value is the URI to the newly created resource. In this pattern, the web service declares the URI for the newly created resource. -[[GIPZE]] +[[GIPZE]][[using-entity-providers-to-map-http-response-and-request-entity-bodies]] -[[using-entity-providers-to-map-http-response-and-request-entity-bodies]] Using Entity Providers to Map HTTP Response and Request Entity Bodies ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -568,9 +561,8 @@ public Response getItem() { } ---- -[[GIPZH]] +[[GIPZH]][[using-consumes-and-produces-to-customize-requests-and-responses]] -[[using-consumes-and-produces-to-customize-requests-and-responses]] Using @Consumes and @Produces to Customize Requests and Responses ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -591,9 +583,8 @@ The following topics are addressed here: * link:#GIPXF[The @Produces Annotation] * link:#GIPYT[The @Consumes Annotation] -[[GIPXF]] +[[GIPXF]][[the-produces-annotation]] -[[the-produces-annotation]] The @Produces Annotation ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -683,9 +674,8 @@ It is possible to refer to constant values, which may reduce typographical errors. For more information, see the API documentation for the constant field values of `javax.ws.rs.core.MediaType`. -[[GIPYT]] +[[GIPYT]][[the-consumes-annotation]] -[[the-consumes-annotation]] The @Consumes Annotation ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -762,9 +752,8 @@ by the MIME media type `text/plain`. Note that the resource method returns `void`. This means that no representation is returned and that a response with a status code of HTTP 204 ("No Content") will be returned. -[[GIPYW]] +[[GIPYW]][[extracting-request-parameters]] -[[extracting-request-parameters]] Extracting Request Parameters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -967,9 +956,8 @@ public void post(MultivaluedMap formParams) { } ---- -[[CIHEGAGI]] +[[CIHEGAGI]][[configuring-jax-rs-applications]] -[[configuring-jax-rs-applications]] Configuring JAX-RS Applications ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -988,9 +976,8 @@ The following topics are addressed here: Application] * link:#CIHDHAIJ[Configuring the Base URI in web.xml] -[[CIHFEBJF]] +[[CIHFEBJF]][[configuring-a-jax-rs-application-using-a-subclass-of-application]] -[[configuring-a-jax-rs-application-using-a-subclass-of-application]] Configuring a JAX-RS Application Using a Subclass of Application ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1024,9 +1011,8 @@ public Set> getClasses() { } ---- -[[CIHDHAIJ]] +[[CIHDHAIJ]][[configuring-the-base-uri-in-web.xml]] -[[configuring-the-base-uri-in-web.xml]] Configuring the Base URI in web.xml ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jaxrs003.adoc b/src/main/jbake/content/jaxrs003.adoc index 994ac2a..b5f3777 100644 --- a/src/main/jbake/content/jaxrs003.adoc +++ b/src/main/jbake/content/jaxrs003.adoc @@ -7,9 +7,8 @@ prev=jaxrs002.html = Example Applications for JAX-RS -[[GIPZZ]] +[[GIPZZ]][[example-applications-for-jax-rs]] -[[example-applications-for-jax-rs]] Example Applications for JAX-RS ------------------------------- @@ -24,9 +23,8 @@ The following topics are addressed here: * link:#GJVBC[The rsvp Example Application] * link:#GIRCI[Real-World Examples] -[[GIPYZ]] +[[GIPYZ]][[creating-a-simple-restful-web-service]] -[[creating-a-simple-restful-web-service]] Creating a Simple RESTful Web Service ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -42,9 +40,8 @@ The following topics are addressed here: * link:#GIQAA[To Create a RESTful Web Service Using NetBeans IDE] -[[GIQAA]] +[[GIQAA]][[to-create-a-restful-web-service-using-netbeans-ide]] -[[to-create-a-restful-web-service-using-netbeans-ide]] To Create a RESTful Web Service Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -111,9 +108,8 @@ a section on creating a CRUD application from a database. Create, read, update, and delete (CRUD) are the four basic functions of persistent storage and relational databases. -[[GJVBC]] +[[GJVBC]][[the-rsvp-example-application]] -[[the-rsvp-example-application]] The rsvp Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -128,9 +124,8 @@ The following topics are addressed here: * link:#GJVAW[Components of the rsvp Example Application] * link:#GKCCA[Running the rsvp Example Application] -[[GJVAW]] +[[GJVAW]][[components-of-the-rsvp-example-application]] -[[components-of-the-rsvp-example-application]] Components of the rsvp Example Application ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -223,9 +218,8 @@ how the Client API is used in `rsvp`, see link:jaxrs-client002.html#BABEDFIG["The Client API in the rsvp Example Application"]. -[[GKCCA]] +[[GKCCA]][[running-the-rsvp-example-application]] -[[running-the-rsvp-example-application]] Running the rsvp Example Application ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -237,9 +231,8 @@ The following topics are addressed here: * link:#CIHEFEHA[To Run the rsvp Example Application Using NetBeans IDE] * link:#CIHHHIEI[To Run the rsvp Example Application Using Maven] -[[CIHEFEHA]] +[[CIHEFEHA]][[to-run-the-rsvp-example-application-using-netbeans-ide]] -[[to-run-the-rsvp-example-application-using-netbeans-ide]] To Run the rsvp Example Application Using NetBeans IDE ++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -278,9 +271,8 @@ status. The invitee's new status should now be displayed in the table of invitees and their response statuses. -[[CIHHHIEI]] +[[CIHHHIEI]][[to-run-the-rsvp-example-application-using-maven]] -[[to-run-the-rsvp-example-application-using-maven]] To Run the rsvp Example Application Using Maven +++++++++++++++++++++++++++++++++++++++++++++++ @@ -321,9 +313,8 @@ status. The invitee's new status should now be displayed in the table of invitees and their response statuses. -[[GIRCI]] +[[GIRCI]][[real-world-examples]] -[[real-world-examples]] Real-World Examples ~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jaxrs004.adoc b/src/main/jbake/content/jaxrs004.adoc index 0eba72a..d9c010c 100644 --- a/src/main/jbake/content/jaxrs004.adoc +++ b/src/main/jbake/content/jaxrs004.adoc @@ -7,9 +7,8 @@ prev=jaxrs003.html Further Information about JAX-RS ================================ -[[GILIZ]] +[[GILIZ]][[further-information-about-jax-rs]] -[[further-information-about-jax-rs]] Further Information about JAX-RS -------------------------------- diff --git a/src/main/jbake/content/jaxws.adoc b/src/main/jbake/content/jaxws.adoc index f7f181f..9e8fa86 100644 --- a/src/main/jbake/content/jaxws.adoc +++ b/src/main/jbake/content/jaxws.adoc @@ -7,9 +7,8 @@ prev=webservices-intro003.html Building Web Services with JAX-WS ================================= -[[BNAYL]] +[[BNAYL]][[building-web-services-with-jax-ws]] -[[building-web-services-with-jax-ws]] 31 Building Web Services with JAX-WS ------------------------------------ diff --git a/src/main/jbake/content/jaxws001.adoc b/src/main/jbake/content/jaxws001.adoc index 306c957..c3b82bb 100644 --- a/src/main/jbake/content/jaxws001.adoc +++ b/src/main/jbake/content/jaxws001.adoc @@ -7,9 +7,8 @@ prev=jaxws.html Overview of Java API for XML Web Services ========================================= -[[A1250966]] +[[A1250966]][[overview-of-java-api-for-xml-web-services]] -[[overview-of-java-api-for-xml-web-services]] Overview of Java API for XML Web Services ----------------------------------------- diff --git a/src/main/jbake/content/jaxws002.adoc b/src/main/jbake/content/jaxws002.adoc index ab03610..eda0cfd 100644 --- a/src/main/jbake/content/jaxws002.adoc +++ b/src/main/jbake/content/jaxws002.adoc @@ -7,9 +7,8 @@ prev=jaxws001.html = Creating a Simple Web Service and Clients with JAX-WS -[[BNAYN]] +[[BNAYN]][[creating-a-simple-web-service-and-clients-with-jax-ws]] -[[creating-a-simple-web-service-and-clients-with-jax-ws]] Creating a Simple Web Service and Clients with JAX-WS ----------------------------------------------------- @@ -45,9 +44,8 @@ element to the `@WebService` annotation in the implementation class. You must then provide an interface that defines the public methods made available in the endpoint implementation class. -[[sthref133]] +[[sthref133]][[basic-steps-for-creating-a-web-service-and-client]] -[[basic-steps-for-creating-a-web-service-and-client]] Basic Steps for Creating a Web Service and Client ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -70,9 +68,8 @@ the `wsimport` task for you. The sections that follow cover these steps in greater detail. -[[BNAYP]] +[[BNAYP]][[requirements-of-a-jax-ws-endpoint]] -[[requirements-of-a-jax-ws-endpoint]] Requirements of a JAX-WS Endpoint ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -106,9 +103,8 @@ implementing class begins responding to web service clients. The `@PreDestroy` method is called by the container before the endpoint is removed from operation. -[[BNAYQ]] +[[BNAYQ]][[coding-the-service-endpoint-implementation-class]] -[[coding-the-service-endpoint-implementation-class]] Coding the Service Endpoint Implementation Class ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -141,9 +137,8 @@ public class Hello { } ---- -[[BNAYR]] +[[BNAYR]][[building-packaging-and-deploying-the-service]] -[[building-packaging-and-deploying-the-service]] Building, Packaging, and Deploying the Service ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -156,9 +151,8 @@ The following topics are addressed here: IDE] * link:#BNAYT[To Build, Package, and Deploy the Service Using Maven] -[[BNAYS]] +[[BNAYS]][[to-build-package-and-deploy-the-service-using-netbeans-ide]] -[[to-build-package-and-deploy-the-service-using-netbeans-ide]] To Build, Package, and Deploy the Service Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -192,9 +186,8 @@ You can view the WSDL file of the deployed service by requesting the URL browser. Now you are ready to create a client that accesses this service. -[[BNAYT]] +[[BNAYT]][[to-build-package-and-deploy-the-service-using-maven]] -[[to-build-package-and-deploy-the-service-using-maven]] To Build, Package, and Deploy the Service Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -226,9 +219,8 @@ You can view the WSDL file of the deployed service by requesting the URL browser. Now you are ready to create a client that accesses this service. -[[GKAJL]] +[[GKAJL]][[testing-the-methods-of-a-web-service-endpoint]] -[[testing-the-methods-of-a-web-service-endpoint]] Testing the Methods of a Web Service Endpoint ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -239,9 +231,8 @@ The following topics are addressed here: * link:#BNAYW[To Test the Service without a Client] -[[BNAYW]] +[[BNAYW]][[to-test-the-service-without-a-client]] -[[to-test-the-service-without-a-client]] To Test the Service without a Client ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -262,9 +253,8 @@ This takes you to the `sayHello` Method invocation page. + Under Method returned, you'll see the response from the endpoint. -[[BNAYX]] +[[BNAYX]][[a-simple-jax-ws-application-client]] -[[a-simple-jax-ws-application-client]] A Simple JAX-WS Application Client ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -279,9 +269,8 @@ The following topics are addressed here: * link:#BNAYY[Coding the Application Client] * link:#BNAYZ[Running the Application Client] -[[BNAYY]] +[[BNAYY]][[coding-the-application-client]] -[[coding-the-application-client]] Coding the Application Client ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -351,9 +340,8 @@ public class HelloAppClient { } ---- -[[BNAYZ]] +[[BNAYZ]][[running-the-application-client]] -[[running-the-application-client]] Running the Application Client ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -366,9 +354,8 @@ The following topics are addressed here: * link:#CIHBGFGA[To Run the Application Client Using NetBeans IDE] -[[CIHBGFGA]] +[[CIHBGFGA]][[to-run-the-application-client-using-netbeans-ide]] -[[to-run-the-application-client-using-netbeans-ide]] To Run the Application Client Using NetBeans IDE ++++++++++++++++++++++++++++++++++++++++++++++++ @@ -394,9 +381,8 @@ hello-appclient output tab: Hello, world. ---- -[[sthref134]] +[[sthref134]][[to-run-the-application-client-using-maven]] -[[to-run-the-application-client-using-maven]] To Run the Application Client Using Maven +++++++++++++++++++++++++++++++++++++++++ @@ -422,9 +408,8 @@ the client. The application client output looks like this: Hello, world. ---- -[[GJYGB]] +[[GJYGB]][[a-simple-jax-ws-web-client]] -[[a-simple-jax-ws-web-client]] A Simple JAX-WS Web Client ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -437,9 +422,8 @@ The following topics are addressed here: * link:#GJYFL[Coding the Servlet] * link:#GJYGE[Running the Web Client] -[[GJYFL]] +[[GJYFL]][[coding-the-servlet]] -[[coding-the-servlet]] Coding the Servlet ^^^^^^^^^^^^^^^^^^ @@ -545,9 +529,8 @@ public class HelloServlet extends HttpServlet { } ---- -[[GJYGE]] +[[GJYGE]][[running-the-web-client]] -[[running-the-web-client]] Running the Web Client ^^^^^^^^^^^^^^^^^^^^^^ @@ -561,9 +544,8 @@ The following topics are addressed here: * link:#CIHHFFEC[To Run the Web Client Using NetBeans IDE] * link:#CIHHDCEH[To Run the Web Client Using Maven] -[[CIHHFFEC]] +[[CIHHFFEC]][[to-run-the-web-client-using-netbeans-ide]] -[[to-run-the-web-client-using-netbeans-ide]] To Run the Web Client Using NetBeans IDE ++++++++++++++++++++++++++++++++++++++++ @@ -591,9 +573,8 @@ http://localhost:8080/hello-webclient/HelloServlet + The output of the `sayHello` method appears in the window. -[[CIHHDCEH]] +[[CIHHDCEH]][[to-run-the-web-client-using-maven]] -[[to-run-the-web-client-using-maven]] To Run the Web Client Using Maven +++++++++++++++++++++++++++++++++ diff --git a/src/main/jbake/content/jaxws003.adoc b/src/main/jbake/content/jaxws003.adoc index b88a9a1..9ec6675 100644 --- a/src/main/jbake/content/jaxws003.adoc +++ b/src/main/jbake/content/jaxws003.adoc @@ -7,9 +7,8 @@ prev=jaxws002.html = Types Supported by JAX-WS -[[BNAZC]] +[[BNAZC]][[types-supported-by-jax-ws]] -[[types-supported-by-jax-ws]] Types Supported by JAX-WS ------------------------- @@ -25,9 +24,8 @@ Java-to-schema data type bindings: * link:#BNAZT[Schema-to-Java Mapping] * link:#BNAZW[Java-to-Schema Mapping] -[[BNAZT]] +[[BNAZT]][[schema-to-java-mapping]] -[[schema-to-java-mapping]] Schema-to-Java Mapping ~~~~~~~~~~~~~~~~~~~~~~ @@ -69,9 +67,8 @@ types in JAXB. |========================================================= -[[BNAZW]] +[[BNAZW]][[java-to-schema-mapping]] -[[java-to-schema-mapping]] Java-to-Schema Mapping ~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jaxws004.adoc b/src/main/jbake/content/jaxws004.adoc index 3457c5a..8839a85 100644 --- a/src/main/jbake/content/jaxws004.adoc +++ b/src/main/jbake/content/jaxws004.adoc @@ -7,9 +7,8 @@ prev=jaxws003.html Web Services Interoperability and JAX-WS ======================================== -[[BNAZD]] +[[BNAZD]][[web-services-interoperability-and-jax-ws]] -[[web-services-interoperability-and-jax-ws]] Web Services Interoperability and JAX-WS ---------------------------------------- diff --git a/src/main/jbake/content/jaxws005.adoc b/src/main/jbake/content/jaxws005.adoc index 15062f4..0ff15f7 100644 --- a/src/main/jbake/content/jaxws005.adoc +++ b/src/main/jbake/content/jaxws005.adoc @@ -7,9 +7,8 @@ prev=jaxws004.html Further Information about JAX-WS ================================ -[[BNAZE]] +[[BNAZE]][[further-information-about-jax-ws]] -[[further-information-about-jax-ws]] Further Information about JAX-WS -------------------------------- diff --git a/src/main/jbake/content/jms-concepts.adoc b/src/main/jbake/content/jms-concepts.adoc index d56c84d..4d2fa1e 100644 --- a/src/main/jbake/content/jms-concepts.adoc +++ b/src/main/jbake/content/jms-concepts.adoc @@ -8,9 +8,8 @@ prev=partmessaging.html :description: Java message service allows applications to create, send, and receive messages. :keywords: jms, glassfish -[[BNCDQ]] +[[BNCDQ]][[java-message-service-concepts]] -[[java-message-service-concepts]] 48 Java Message Service Concepts -------------------------------- diff --git a/src/main/jbake/content/jms-concepts001.adoc b/src/main/jbake/content/jms-concepts001.adoc index 71a0f9f..bb0a0bb 100644 --- a/src/main/jbake/content/jms-concepts001.adoc +++ b/src/main/jbake/content/jms-concepts001.adoc @@ -7,9 +7,8 @@ prev=jms-concepts.html Overview of the JMS API ======================= -[[BNCDR]] +[[BNCDR]][[overview-of-the-jms-api]] -[[overview-of-the-jms-api]] Overview of the JMS API ----------------------- @@ -24,9 +23,8 @@ The following topics are addressed here: * link:#BNCDU[When Can You Use the JMS API?] * link:#BNCDW[How Does the JMS API Work with the Java EE Platform?] -[[BNCDS]] +[[BNCDS]][[what-is-messaging]] -[[what-is-messaging]] What Is Messaging? ~~~~~~~~~~~~~~~~~~ @@ -54,9 +52,8 @@ of communication between people or between software applications and people. Messaging is used for communication between software applications or software components. -[[BNCDT]] +[[BNCDT]][[what-is-the-jms-api]] -[[what-is-the-jms-api]] What Is the JMS API? ~~~~~~~~~~~~~~~~~~~~ @@ -86,9 +83,8 @@ The current version of the JMS specification is Version 2.0. You can download a copy of the specification from the Java Community Process website: `http://www.jcp.org/en/jsr/detail?id=343`. -[[BNCDU]] +[[BNCDU]][[when-can-you-use-the-jms-api]] -[[when-can-you-use-the-jms-api]] When Can You Use the JMS API? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -134,9 +130,8 @@ Manufacturing is only one example of how an enterprise can use the JMS API. Retail applications, financial services applications, health services applications, and many others can make use of messaging. -[[BNCDW]] +[[BNCDW]][[how-does-the-jms-api-work-with-the-java-ee-platform]] -[[how-does-the-jms-api-work-with-the-java-ee-platform]] How Does the JMS API Work with the Java EE Platform? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jms-concepts002.adoc b/src/main/jbake/content/jms-concepts002.adoc index 13e4e27..5185448 100644 --- a/src/main/jbake/content/jms-concepts002.adoc +++ b/src/main/jbake/content/jms-concepts002.adoc @@ -7,9 +7,8 @@ prev=jms-concepts001.html Basic JMS API Concepts ====================== -[[BNCDX]] +[[BNCDX]][[basic-jms-api-concepts]] -[[basic-jms-api-concepts]] Basic JMS API Concepts ---------------------- @@ -27,9 +26,8 @@ The following topics are addressed here: * link:#BNCEA[Messaging Styles] * link:#BNCEG[Message Consumption] -[[BNCDY]] +[[BNCDY]][[jms-api-architecture]] -[[jms-api-architecture]] JMS API Architecture ~~~~~~~~~~~~~~~~~~~~ @@ -63,16 +61,14 @@ resource injection to access the administered objects in the namespace and then establish a logical connection to the same objects through the JMS provider. -[[BNCDZ]] +[[BNCDZ]].*Figure 48-2 JMS API Architecture* -.*Figure 48-2 JMS API Architecture* image:img/javaeett_dt_027.png[ "Diagram of JMS API architecture, showing administrative tool, JMS client, JNDI namespace, and JMS provider"] -[[BNCEA]] +[[BNCEA]][[messaging-styles]] -[[messaging-styles]] Messaging Styles ~~~~~~~~~~~~~~~~ @@ -92,9 +88,8 @@ code itself can be common to both styles, making your applications flexible and reusable. This tutorial describes and illustrates this coding approach, using the greatly simplified API provided by JMS 2.0. -[[BNCEB]] +[[BNCEB]][[point-to-point-messaging-style]] -[[point-to-point-messaging-style]] Point-to-Point Messaging Style ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -121,9 +116,8 @@ to a queue, and Client 2 consuming and acknowledging the message"] Use PTP messaging when every message you send must be processed successfully by one consumer. -[[BNCED]] +[[BNCED]][[publishsubscribe-messaging-style]] -[[publishsubscribe-messaging-style]] Publish/Subscribe Messaging Style ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -167,13 +161,13 @@ messaging. [[BNCEE]] .*Figure 48-4 Publish/Subscribe Messaging* + image:img/javaeett_dt_029.png[ "Diagram of pub/sub messaging, showing Client 1 sending a message to a topic, and the message being delivered to two consumers to the topic"] -[[BNCEG]] +[[BNCEG]][[message-consumption]] -[[message-consumption]] Message Consumption ~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jms-concepts003.adoc b/src/main/jbake/content/jms-concepts003.adoc index 8501d0e..7756444 100644 --- a/src/main/jbake/content/jms-concepts003.adoc +++ b/src/main/jbake/content/jms-concepts003.adoc @@ -7,9 +7,8 @@ prev=jms-concepts002.html = The JMS API Programming Model -[[BNCEH]] +[[BNCEH]][[the-jms-api-programming-model]] -[[the-jms-api-programming-model]] The JMS API Programming Model ----------------------------- @@ -48,9 +47,8 @@ Examples,"] beginning with link:jms-examples003.html#BNCFA[Writing Simple JMS Applications]. For more detail, see the JMS API documentation, part of the Java EE API documentation. -[[BNCEJ]] +[[BNCEJ]][[jms-administered-objects]] -[[jms-administered-objects]] JMS Administered Objects ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -85,9 +83,8 @@ link:jms-concepts005.html#BABHFBDH[Creating Resources for Java EE Applications] for details. Definitions in a deployment descriptor override those specified by annotations. -[[BNCEK]] +[[BNCEK]][[jms-connection-factories]] -[[jms-connection-factories]] JMS Connection Factories ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -114,9 +111,8 @@ connection factory and assigns it to a `ConnectionFactory` object: private static ConnectionFactory connectionFactory; ---- -[[BNCEL]] +[[BNCEL]][[jms-destinations]] -[[jms-destinations]] JMS Destinations ^^^^^^^^^^^^^^^^ @@ -167,9 +163,8 @@ and use it with a `Queue`. The behavior of the application will depend on the kind of destination you use and not on the kind of connection factory you use. -[[BNCEM]] +[[BNCEM]][[connections]] -[[connections]] Connections ~~~~~~~~~~~ @@ -195,9 +190,8 @@ session. You normally create a connection by creating a `JMSContext` object. See link:#BABGDFEA[JMSContext Objects] for details. -[[BNCEN]] +[[BNCEN]][[sessions]] -[[sessions]] Sessions ~~~~~~~~ @@ -216,9 +210,8 @@ A session provides a transactional context with which to group a set of sends and receives into an atomic unit of work. For details, see link:jms-concepts004.html#BNCGH[Using JMS Local Transactions]. -[[BABGDFEA]] +[[BABGDFEA]][[jmscontext-objects]] -[[jmscontext-objects]] JMSContext Objects ~~~~~~~~~~~~~~~~~~ @@ -286,9 +279,8 @@ activity within the `try`-with-resources block. If you do not use a `JMSContext` to close the connection when the application has finished its work. -[[BNCEO]] +[[BNCEO]][[jms-message-producers]] -[[jms-message-producers]] JMS Message Producers ~~~~~~~~~~~~~~~~~~~~~ @@ -319,9 +311,8 @@ You can create the message in a variable before sending it, as shown here, or you can create it within the `send` call. See link:#BNCES[JMS Messages] for more information. -[[BNCEP]] +[[BNCEP]][[jms-message-consumers]] -[[jms-message-consumers]] JMS Message Consumers ~~~~~~~~~~~~~~~~~~~~~ @@ -383,9 +374,8 @@ topic. For details, see link:#BNCGD[Creating Durable Subscriptions]. For topics, you can also create shared consumers; see link:#BABJCIGJ[Creating Shared Subscriptions]. -[[BNCEQ]] +[[BNCEQ]][[jms-message-listeners]] -[[jms-message-listeners]] JMS Message Listeners ^^^^^^^^^^^^^^^^^^^^^ @@ -427,9 +417,8 @@ Message Delivery]. link:jms-examples.html#BNCGV[Chapter 49, "Java Message Service Examples,"] contains several more examples of message listeners and message-driven beans. -[[BNCER]] +[[BNCER]][[jms-message-selectors]] -[[jms-message-selectors]] JMS Message Selectors ^^^^^^^^^^^^^^^^^^^^^ @@ -461,9 +450,8 @@ properties match the selector. (See link:#BNCET[Message Headers] and link:#BNCEV[Message Properties].) A message selector cannot select messages on the basis of the content of the message body. -[[BABEEJJJ]] +[[BABEEJJJ]][[consuming-messages-from-topics]] -[[consuming-messages-from-topics]] Consuming Messages from Topics ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -519,9 +507,8 @@ explicitly deleted, even if there are no consumer objects consuming messages from it. See link:#BNCGD[Creating Durable Subscriptions] for details. -[[BNCGD]] +[[BNCGD]][[creating-durable-subscriptions]] -[[creating-durable-subscriptions]] Creating Durable Subscriptions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -617,6 +604,7 @@ M6, but they do not receive messages M3 and M4. [[BNCGE]] .*Figure 48-6 Nondurable Subscriptions and Consumers* + image:img/javaeett_dt_031.png[ "Diagram showing messages being lost when nondurable subscriptions are used"] @@ -658,9 +646,8 @@ and link:jms-examples008.html#BNCGW[Sending Messages from a Session Bean to an MDB] for examples of Java EE applications that use durable subscriptions. -[[BABJCIGJ]] +[[BABJCIGJ]][[creating-shared-subscriptions]] -[[creating-shared-subscriptions]] Creating Shared Subscriptions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -701,9 +688,8 @@ You can also create shared durable subscriptions by using the `JMSContext.createSharedDurableConsumer` method. For details, see link:#BNCGD[Creating Durable Subscriptions]. -[[BNCES]] +[[BNCES]][[jms-messages]] -[[jms-messages]] JMS Messages ~~~~~~~~~~~~ @@ -728,9 +714,8 @@ The following topics are addressed here: * link:#BNCEV[Message Properties] * link:#BNCEW[Message Bodies] -[[BNCET]] +[[BNCET]][[message-headers]] -[[message-headers]] Message Headers ^^^^^^^^^^^^^^^ @@ -796,9 +781,8 @@ provider prior to delivery |======================================================================= -[[BNCEV]] +[[BNCEV]][[message-properties]] -[[message-properties]] Message Properties ^^^^^^^^^^^^^^^^^^ @@ -816,9 +800,8 @@ The JMS API provides some predefined property names that begin with been delivered); the rest are optional. The use of these predefined properties or of user-defined properties in applications is optional. -[[BNCEW]] +[[BNCEW]][[message-bodies]] -[[message-bodies]] Message Bodies ^^^^^^^^^^^^^^ @@ -932,9 +915,8 @@ The examples in link:jms-examples.html#BNCGV[Chapter 49, "Java Message Service Examples,"] use messages of type `TextMessage`, `MapMessage`, and `Message`. -[[BNCEY]] +[[BNCEY]][[jms-queue-browsers]] -[[jms-queue-browsers]] JMS Queue Browsers ~~~~~~~~~~~~~~~~~~ @@ -963,9 +945,8 @@ durable subscriptions allow messages to remain on a topic while the message consumer is not active, JMS does not define any facility for examining them. -[[BNCEZ]] +[[BNCEZ]][[jms-exception-handling]] -[[jms-exception-handling]] JMS Exception Handling ~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jms-concepts004.adoc b/src/main/jbake/content/jms-concepts004.adoc index 057d11d..536e0b9 100644 --- a/src/main/jbake/content/jms-concepts004.adoc +++ b/src/main/jbake/content/jms-concepts004.adoc @@ -7,9 +7,8 @@ prev=jms-concepts003.html Using Advanced JMS Features =========================== -[[BNCFU]] +[[BNCFU]][[using-advanced-jms-features]] -[[using-advanced-jms-features]] Using Advanced JMS Features --------------------------- @@ -62,9 +61,8 @@ differences are noted here and are explained in detail in link:jms-concepts005.html#BNCGL[Using the JMS API in Java EE Applications]. -[[BNCFW]] +[[BNCFW]][[controlling-message-acknowledgment]] -[[controlling-message-acknowledgment]] Controlling Message Acknowledgment ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -153,9 +151,8 @@ The sample program in link:jms-examples003.html#BNCFX[Acknowledging Messages] demonstrates two ways to ensure that a message will not be acknowledged until processing of the message is complete. -[[BNCFV]] +[[BNCFV]][[specifying-options-for-sending-messages]] -[[specifying-options-for-sending-messages]] Specifying Options for Sending Messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -177,9 +174,8 @@ of time has expired. allows you to specify more than one of these options when you create a producer and call the `send` method. -[[BNCFY]] +[[BNCFY]][[specifying-message-persistence]] -[[specifying-message-persistence]] Specifying Message Persistence ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -214,9 +210,8 @@ Using the `NON_PERSISTENT` delivery mode may improve performance and reduce storage overhead, but you should use it only if your application can afford to miss messages. -[[BNCFZ]] +[[BNCFZ]][[setting-message-priority-levels]] -[[setting-message-priority-levels]] Setting Message Priority Levels ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -239,9 +234,8 @@ do not specify a priority level, the default level is 4. A JMS provider tries to deliver higher-priority messages before lower-priority ones, but does not have to deliver messages in exact order of priority. -[[BNCGA]] +[[BNCGA]][[allowing-messages-to-expire]] -[[allowing-messages-to-expire]] Allowing Messages to Expire ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -270,9 +264,8 @@ current time to give the expiration time. Any message not delivered before the specified expiration time is destroyed. The destruction of obsolete messages conserves storage and computing resources. -[[BABGEADH]] +[[BABGEADH]][[specifying-a-delivery-delay]] -[[specifying-a-delivery-delay]] Specifying a Delivery Delay ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -290,9 +283,8 @@ delivery delay of 3 seconds for a producer and then sends a message: context.createProducer().setDeliveryDelay(3000).send(dest, msg); ---- -[[BABJFIAD]] +[[BABJFIAD]][[using-jmsproducer-method-chaining]] -[[using-jmsproducer-method-chaining]] Using JMSProducer Method Chaining ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -317,9 +309,8 @@ You can also call the `JMSProducer` methods to set properties on a message and then send the message in a separate `send` method call. You can also set message properties directly on a message. -[[BNCGB]] +[[BNCGB]][[creating-temporary-destinations]] -[[creating-temporary-destinations]] Creating Temporary Destinations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -367,9 +358,8 @@ context.createProducer().send((Topic) msg.getJMSReplyTo(), replyMsg); For an example, see link:jms-examples009.html#BNCHF[Using an Entity to Join Messages from Two MDBs]. -[[BNCGH]] +[[BNCGH]][[using-jms-local-transactions]] -[[using-jms-local-transactions]] Using JMS Local Transactions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -490,9 +480,8 @@ topic in the same transaction. The example in link:jms-examples004.html#BNCGJ[Using Local Transactions] shows how to use JMS local transactions. -[[BABFIFAJ]] +[[BABFIFAJ]][[sending-messages-asynchronously]] -[[sending-messages-asynchronously]] Sending Messages Asynchronously ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jms-concepts005.adoc b/src/main/jbake/content/jms-concepts005.adoc index 93ee787..bf6e77a 100644 --- a/src/main/jbake/content/jms-concepts005.adoc +++ b/src/main/jbake/content/jms-concepts005.adoc @@ -7,9 +7,8 @@ prev=jms-concepts004.html = Using the JMS API in Java EE Applications -[[BNCGL]] +[[BNCGL]][[using-the-jms-api-in-java-ee-applications]] -[[using-the-jms-api-in-java-ee-applications]] Using the JMS API in Java EE Applications ----------------------------------------- @@ -29,9 +28,8 @@ Receive Messages] Asynchronously] * link:#BNCGS[Managing JTA Transactions] -[[CHDGICJB]] +[[CHDGICJB]][[overview-of-using-the-jms-api]] -[[overview-of-using-the-jms-api]] Overview of Using the JMS API ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -46,9 +44,8 @@ This rule does not apply to application clients. The application client container supports the creation of multiple sessions for each connection. -[[BABHFBDH]] +[[BABHFBDH]][[creating-resources-for-java-ee-applications]] -[[creating-resources-for-java-ee-applications]] Creating Resources for Java EE Applications ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -152,9 +149,8 @@ application clients are not deployed in the application server and must therefore communicate with each other using administratively created resources that exist outside of individual applications. -[[BNCGM]] +[[BNCGM]][[using-resource-injection-in-enterprise-bean-or-web-components]] -[[using-resource-injection-in-enterprise-bean-or-web-components]] Using Resource Injection in Enterprise Bean or Web Components ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -166,9 +162,8 @@ The following topics are addressed here: * link:#CHDCHDIJ[Injecting a ConnectionFactory, Queue, or Topic] * link:#BABCJBEE[Injecting a JMSContext Object] -[[CHDCHDIJ]] +[[CHDCHDIJ]][[injecting-a-connectionfactory-queue-or-topic]] -[[injecting-a-connectionfactory-queue-or-topic]] Injecting a ConnectionFactory, Queue, or Topic ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -206,9 +201,8 @@ private Topic topic; If you declare the resource static in these components, runtime errors will result. -[[BABCJBEE]] +[[BABCJBEE]][[injecting-a-jmscontext-object]] -[[injecting-a-jmscontext-object]] Injecting a JMSContext Object ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -233,9 +227,8 @@ To use your own connection factory, use code like the following: private JMSContext context2; ---- -[[BNCGN]] +[[BNCGN]][[using-java-ee-components-to-produce-and-to-synchronously-receive-messages]] -[[using-java-ee-components-to-produce-and-to-synchronously-receive-messages]] Using Java EE Components to Produce and to Synchronously Receive Messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -259,9 +252,8 @@ Using the JMS API in a Java EE component is in many ways similar to using it in an application client. The main differences are the areas of resource management and transactions. -[[BNCGO]] +[[BNCGO]][[managing-jms-resources-in-web-and-ejb-components]] -[[managing-jms-resources-in-web-and-ejb-components]] Managing JMS Resources in Web and EJB Components ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -288,9 +280,8 @@ cached state, you must close the resource in a `@PrePassivate` callback method and set its value to `null`, and you must create it again in a `@PostActivate` callback method. -[[BNCGP]] +[[BNCGP]][[managing-transactions-in-session-beans]] -[[managing-transactions-in-session-beans]] Managing Transactions in Session Beans ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -309,9 +300,8 @@ container-managed transactions produce the most efficient and correct behavior. This tutorial does not provide any examples of bean-managed transactions. -[[BNCGQ]] +[[BNCGQ]][[using-message-driven-beans-to-receive-messages-asynchronously]] -[[using-message-driven-beans-to-receive-messages-asynchronously]] Using Message-Driven Beans to Receive Messages Asynchronously ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -501,9 +491,8 @@ message-driven bean. For details on the lifecycle of a message-driven bean, see link:ejb-intro007.html#GIPKW[The Lifecycle of a Message-Driven Bean]. -[[BNCGS]] +[[BNCGS]][[managing-jta-transactions]] -[[managing-jta-transactions]] Managing JTA Transactions ~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jms-concepts006.adoc b/src/main/jbake/content/jms-concepts006.adoc index 9e105c3..76a9fb8 100644 --- a/src/main/jbake/content/jms-concepts006.adoc +++ b/src/main/jbake/content/jms-concepts006.adoc @@ -7,9 +7,8 @@ prev=jms-concepts005.html Further Information about JMS ============================= -[[BNCGU]] +[[BNCGU]][[further-information-about-jms]] -[[further-information-about-jms]] Further Information about JMS ----------------------------- diff --git a/src/main/jbake/content/jms-examples.adoc b/src/main/jbake/content/jms-examples.adoc index 4a40c40..70741ef 100644 --- a/src/main/jbake/content/jms-examples.adoc +++ b/src/main/jbake/content/jms-examples.adoc @@ -7,9 +7,8 @@ prev=jms-concepts006.html Java Message Service Examples ============================= -[[BNCGV]] +[[BNCGV]][[java-message-service-examples]] -[[java-message-service-examples]] 49 Java Message Service Examples -------------------------------- diff --git a/src/main/jbake/content/jms-examples001.adoc b/src/main/jbake/content/jms-examples001.adoc index e6316f6..4767998 100644 --- a/src/main/jbake/content/jms-examples001.adoc +++ b/src/main/jbake/content/jms-examples001.adoc @@ -7,9 +7,8 @@ prev=jms-examples.html = Building and Running Java Message Service Examples -[[A1251921]] +[[A1251921]][[building-and-running-java-message-service-examples]] -[[building-and-running-java-message-service-examples]] Building and Running Java Message Service Examples -------------------------------------------------- diff --git a/src/main/jbake/content/jms-examples002.adoc b/src/main/jbake/content/jms-examples002.adoc index aa5c60d..d648aff 100644 --- a/src/main/jbake/content/jms-examples002.adoc +++ b/src/main/jbake/content/jms-examples002.adoc @@ -7,9 +7,8 @@ prev=jms-examples001.html = Overview of the JMS Examples -[[BABEFBHJ]] +[[BABEFBHJ]][[overview-of-the-jms-examples]] -[[overview-of-the-jms-examples]] Overview of the JMS Examples ---------------------------- @@ -18,8 +17,7 @@ what they do, and link to the section that describes them fully. The example directory for each example is relative to the `_tut-install_/examples/jms/` directory. -[[sthref200]] -[[sthref201]] +[[sthref200]][sthref201]] *Table 49-1 JMS Examples That Show the Use of Java EE Application Clients* diff --git a/src/main/jbake/content/jms-examples003.adoc b/src/main/jbake/content/jms-examples003.adoc index 1b76f37..2796f6f 100644 --- a/src/main/jbake/content/jms-examples003.adoc +++ b/src/main/jbake/content/jms-examples003.adoc @@ -7,9 +7,8 @@ prev=jms-examples002.html = Writing Simple JMS Applications -[[BNCFA]] +[[BNCFA]][[writing-simple-jms-applications]] -[[writing-simple-jms-applications]] Writing Simple JMS Applications ------------------------------- @@ -30,9 +29,8 @@ Delivery] * link:#BABDDHHC[Running Multiple Consumers on the Same Destination] * link:#BNCFX[Acknowledging Messages] -[[CHDCEFGA]] +[[CHDCEFGA]][[overview-of-writing-simple-jms-application]] -[[overview-of-writing-simple-jms-application]] Overview of Writing Simple JMS Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -65,9 +63,8 @@ subdirectories: Before running the examples, you need to start GlassFish Server and create administered objects. -[[BNCFD]] +[[BNCFD]][[starting-the-jms-provider]] -[[starting-the-jms-provider]] Starting the JMS Provider ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -75,9 +72,8 @@ When you use GlassFish Server, your JMS provider is GlassFish Server. Start the server as described in link:usingexamples002.html#BNADI[Starting and Stopping GlassFish Server]. -[[GKTJS]] +[[GKTJS]][[creating-jms-administered-objects]] -[[creating-jms-administered-objects]] Creating JMS Administered Objects ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -101,9 +97,8 @@ You can also use the `asadmin create-jms-resource` command to create resources, the `asadmin list-jms-resources` command to display their names, and the `asadmin delete-jms-resource` command to remove them. -[[BABHEFCB]] +[[BABHEFCB]][[to-create-resources-for-the-simple-examples]] -[[to-create-resources-for-the-simple-examples]] To Create Resources for the Simple Examples ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -148,9 +143,8 @@ In GlassFish Server, the Java EE `java:comp/DefaultJMSConnectionFactory` resource is mapped to a connection factory named `jms/__defaultConnectionFactory`. -[[BABEEABE]] +[[BABEEABE]][[building-all-the-simple-examples]] -[[building-all-the-simple-examples]] Building All the Simple Examples ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -168,9 +162,8 @@ The following topics are addressed here: * link:#CHDJEJCD[To Build All the Simple Examples Using NetBeans IDE] * link:#CHDGHJAA[To Build All the Simple Examples Using Maven] -[[CHDJEJCD]] +[[CHDJEJCD]][[to-build-all-the-simple-examples-using-netbeans-ide]] -[[to-build-all-the-simple-examples-using-netbeans-ide]] To Build All the Simple Examples Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -189,9 +182,8 @@ Build to build all the examples. This command places the application client JAR files in the `target` directories for the examples. -[[CHDGHJAA]] +[[CHDGHJAA]][[to-build-all-the-simple-examples-using-maven]] -[[to-build-all-the-simple-examples-using-maven]] To Build All the Simple Examples Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -211,9 +203,8 @@ mvn install This command places the application client JAR files in the `target` directories for the examples. -[[BABIHCAE]] +[[BABIHCAE]][[sending-messages]] -[[sending-messages]] Sending Messages ~~~~~~~~~~~~~~~~ @@ -226,9 +217,8 @@ The following topics are addressed here: * link:#CHDFBABB[The Producer.java Client] * link:#CHDHIIHE[To Run the Producer Client] -[[CHDGHJHH]] +[[CHDGHJHH]][[general-steps-performed-in-the-example]] -[[general-steps-performed-in-the-example]] General Steps Performed in the Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -246,9 +236,8 @@ link:jms-concepts003.html#BNCEW[Message Bodies]. should expect no more messages. 5. Catch any exceptions. -[[CHDFBABB]] +[[CHDFBABB]][[the-producer.java-client]] -[[the-producer.java-client]] The Producer.java Client ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -347,9 +336,8 @@ closed: System.exit(0); ---- -[[CHDHIIHE]] +[[CHDHIIHE]][[to-run-the-producer-client]] -[[to-run-the-producer-client]] To Run the Producer Client ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -404,9 +392,8 @@ complete. |======================================================================= -[[BNCFB]] +[[BNCFB]][[receiving-messages-synchronously]] -[[receiving-messages-synchronously]] Receiving Messages Synchronously ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -419,9 +406,8 @@ The following topics are addressed here: * link:#BNCFC[The SynchConsumer.java Client] * link:#BNCFG[To Run the SynchConsumer and Producer Clients] -[[BNCFC]] +[[BNCFC]][[the-synchconsumer.java-client]] -[[the-synchconsumer.java-client]] The SynchConsumer.java Client ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -469,9 +455,8 @@ closed. The `SynchConsumer` client uses an indefinite `while` loop to receive messages, calling `receive` with a timeout argument. -[[BNCFG]] +[[BNCFG]][[to-run-the-synchconsumer-and-producer-clients]] -[[to-run-the-synchconsumer-and-producer-clients]] To Run the SynchConsumer and Producer Clients ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -582,9 +567,8 @@ Messages received: 3 Because these messages were sent after the consumer was started, the client receives them. -[[BNCFH]] +[[BNCFH]][[using-a-message-listener-for-asynchronous-message-delivery]] -[[using-a-message-listener-for-asynchronous-message-delivery]] Using a Message Listener for Asynchronous Message Delivery ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -612,9 +596,8 @@ The following topics are addressed here: Clients] * link:#BNCFK[To Run the AsynchConsumer and Producer Clients] -[[BNCFI]] +[[BNCFI]][[writing-the-asynchconsumer.java-and-textlistener.java-clients]] -[[writing-the-asynchconsumer.java-and-textlistener.java-clients]] Writing the AsynchConsumer.java and TextListener.java Clients ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -675,9 +658,8 @@ Simple Examples]. The steps assume that you have already built and packaged all the examples using NetBeans IDE or Maven. -[[BNCFK]] +[[BNCFK]][[to-run-the-asynchconsumer-and-producer-clients]] -[[to-run-the-asynchconsumer-and-producer-clients]] To Run the AsynchConsumer and Producer Clients ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -786,9 +768,8 @@ Message is not a TextMessage ---- 7. Enter `Q` or `q` and press Return to stop the client. -[[BNCFL]] +[[BNCFL]][[browsing-messages-on-a-queue]] -[[browsing-messages-on-a-queue]] Browsing Messages on a Queue ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -803,9 +784,8 @@ The following topics are addressed here: * link:#BNCFM[The MessageBrowser.java Client] * link:#BNCFN[To Run the QueueBrowser Client] -[[BNCFM]] +[[BNCFM]][[the-messagebrowser.java-client]] -[[the-messagebrowser.java-client]] The MessageBrowser.java Client ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -879,9 +859,8 @@ For this example, you will use the connection factory and queue you created for link:#BNCFB[Receiving Messages Synchronously]. It is assumed that you have already built and packaged all the examples. -[[BNCFN]] +[[BNCFN]][[to-run-the-queuebrowser-client]] -[[to-run-the-queuebrowser-client]] To Run the QueueBrowser Client ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -985,9 +964,8 @@ Reading message: This is message 1 from producer Messages received: 1 ---- -[[BABDDHHC]] +[[BABDDHHC]][[running-multiple-consumers-on-the-same-destination]] -[[running-multiple-consumers-on-the-same-destination]] Running Multiple Consumers on the Same Destination ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1044,9 +1022,8 @@ publish/subscribe messaging, a copy of every message is sent to each subscription on the topic. Therefore, each of the clients receives all 20 text messages as well as the non-text control message. -[[BNCFX]] +[[BNCFX]][[acknowledging-messages]] -[[acknowledging-messages]] Acknowledging Messages ~~~~~~~~~~~~~~~~~~~~~~ @@ -1136,9 +1113,8 @@ Messages Synchronously]. * `java:comp/DefaultJMSConnectionFactory`, the platform default connection factory preconfigured with GlassFish Server -[[GJSCG]] +[[GJSCG]][[to-run-the-clientackconsumer-client]] -[[to-run-the-clientackconsumer-client]] To Run the ClientAckConsumer Client ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jms-examples004.adoc b/src/main/jbake/content/jms-examples004.adoc index 551b0eb..5b08c7d 100644 --- a/src/main/jbake/content/jms-examples004.adoc +++ b/src/main/jbake/content/jms-examples004.adoc @@ -7,9 +7,8 @@ prev=jms-examples003.html Writing More Advanced JMS Applications ====================================== -[[GIWFH]] +[[GIWFH]][[writing-more-advanced-jms-applications]] -[[writing-more-advanced-jms-applications]] Writing More Advanced JMS Applications -------------------------------------- @@ -21,9 +20,8 @@ The following topics are addressed here: * link:#BNCGG[Using Durable Subscriptions] * link:#BNCGJ[Using Local Transactions] -[[BNCGG]] +[[BNCGG]][[using-durable-subscriptions]] -[[using-durable-subscriptions]] Using Durable Subscriptions ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -80,9 +78,8 @@ try (JMSContext context = durableConnectionFactory.createContext();) { } ... ---- -[[sthref206]] +[[sthref206]][[to-create-resources-for-the-durable-subscription-example]] -[[to-create-resources-for-the-durable-subscription-example]] To Create Resources for the Durable Subscription Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -123,9 +120,8 @@ jms/DurableConnectionFactory Command list-jms-resources executed successfully. ---- -[[GJSCI]] +[[GJSCI]][[to-run-the-durable-subscription-example]] -[[to-run-the-durable-subscription-example]] To Run the Durable Subscription Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -198,9 +194,8 @@ Message is not a TextMessage ---- 9. Enter `q` or `Q` to exit the program. -[[sthref207]] +[[sthref207]][[to-run-the-unsubscriber-example]] -[[to-run-the-unsubscriber-example]] To Run the unsubscriber Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -223,9 +218,8 @@ appclient -client target/unsubscriber.jar The client reports that it is unsubscribing from the durable subscription. -[[BNCGJ]] +[[BNCGJ]][[using-local-transactions]] -[[using-local-transactions]] Using Local Transactions ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -360,6 +354,7 @@ link:#BNCGK[Figure 49-1] illustrates these steps. [[BNCGK]] .*Figure 49-1 Transactions: JMS Client Example* + image:img/javaeett_dt_034.png[ "Diagram of steps in transaction example"] @@ -376,9 +371,8 @@ All clients except `Retailer` use transacted contexts. The example uses three queues named `jms/AQueue`, `jms/BQueue`, and `jms/CQueue`, and one topic named `jms/OTopic`. -[[sthref209]] +[[sthref209]][[to-create-resources-for-the-transactedexample-example]] -[[to-create-resources-for-the-transactedexample-example]] To Create Resources for the transactedexample Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -421,9 +415,8 @@ jms/DurableConnectionFactory Command list-jms-resources executed successfully. ---- -[[GJSHA]] +[[GJSHA]][[to-run-the-transactedexample-clients]] -[[to-run-the-transactedexample-clients]] To Run the transactedexample Clients ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jms-examples005.adoc b/src/main/jbake/content/jms-examples005.adoc index 3891de4..51bc450 100644 --- a/src/main/jbake/content/jms-examples005.adoc +++ b/src/main/jbake/content/jms-examples005.adoc @@ -7,9 +7,8 @@ prev=jms-examples004.html Writing High Performance and Scalable JMS Applications ====================================================== -[[BABGEFHC]] +[[BABGEFHC]][[writing-high-performance-and-scalable-jms-applications]] -[[writing-high-performance-and-scalable-jms-applications]] Writing High Performance and Scalable JMS Applications ------------------------------------------------------ @@ -22,9 +21,8 @@ The following topics are addressed here: * link:#BABIBEAC[Using Shared Nondurable Subscriptions] * link:#BABEJBHA[Using Shared Durable Subscriptions] -[[BABIBEAC]] +[[BABIBEAC]][[using-shared-nondurable-subscriptions]] -[[using-shared-nondurable-subscriptions]] Using Shared Nondurable Subscriptions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -51,9 +49,8 @@ will be added to each topic subscription. However, if there are multiple consumers on a particular subscription, each message added to that subscription will be delivered to only one of those consumers. -[[sthref210]] +[[sthref210]][[writing-the-clients-for-the-shared-consumer-example]] -[[writing-the-clients-for-the-shared-consumer-example]] Writing the Clients for the Shared Consumer Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -88,9 +85,8 @@ For this example, you will use the default connection factory and the topic you created in link:jms-examples003.html#BABHEFCB[To Create Resources for the Simple Examples]. -[[sthref211]] +[[sthref211]][[to-run-the-sharedconsumer-and-producer-clients]] -[[to-run-the-sharedconsumer-and-producer-clients]] To Run the SharedConsumer and Producer Clients ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -146,9 +142,8 @@ message stream. 7. Enter `Q` or `q` and press Return to stop each client and see a report of the number of text messages received. -[[BABEJBHA]] +[[BABEJBHA]][[using-shared-durable-subscriptions]] -[[using-shared-durable-subscriptions]] Using Shared Durable Subscriptions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -176,9 +171,8 @@ consumer = context.createSharedDurableConsumer(topic, "MakeItLast"); You run the example in combination with the `Producer.java` client. -[[sthref212]] +[[sthref212]][[to-run-the-shareddurableconsumer-and-producer-clients]] -[[to-run-the-shareddurableconsumer-and-producer-clients]] To Run the SharedDurableConsumer and Producer Clients ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jms-examples006.adoc b/src/main/jbake/content/jms-examples006.adoc index 37547b4..8323a06 100644 --- a/src/main/jbake/content/jms-examples006.adoc +++ b/src/main/jbake/content/jms-examples006.adoc @@ -7,9 +7,8 @@ prev=jms-examples005.html Sending and Receiving Messages Using a Simple Web Application ============================================================= -[[BABBABFC]] +[[BABBABFC]][[sending-and-receiving-messages-using-a-simple-web-application]] -[[sending-and-receiving-messages-using-a-simple-web-application]] Sending and Receiving Messages Using a Simple Web Application ------------------------------------------------------------- @@ -39,9 +38,8 @@ image:img/javaeett_dt_035.png[ message to a queue, and another managed bean receives the message from the queue."] -[[sthref215]] +[[sthref215]][[the-websimplemessage-facelets-pages]] -[[the-websimplemessage-facelets-pages]] The websimplemessage Facelets Pages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -59,9 +57,8 @@ method is called to fetch the message from the queue and display its contents. When the user clicks the Send Another Message button, the sender.xhtml page appears again. -[[sthref216]] +[[sthref216]][[the-websimplemessage-managed-beans]] -[[the-websimplemessage-managed-beans]] The websimplemessage Managed Beans ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -146,9 +143,8 @@ public void getMessage() { } ---- -[[sthref217]] +[[sthref217]][[running-the-websimplemessage-example]] -[[running-the-websimplemessage-example]] Running the websimplemessage Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -163,18 +159,16 @@ IDE] * link:#CHDBBBEI[To Package and Deploy websimplemessage Using Maven] * link:#CHDIFEHC[To Run the websimplemessage Example] -[[CHDHEHAB]] +[[CHDHEHAB]][[creating-resources-for-the-websimplemessage-example]] -[[creating-resources-for-the-websimplemessage-example]] Creating Resources for the websimplemessage Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This example uses an annotation-defined queue and the preconfigured default connection factory `java:comp/DefaultJMSConnectionFactory`. -[[CHDBADGA]] +[[CHDBADGA]][[to-package-and-deploy-websimplemessage-using-netbeans-ide]] -[[to-package-and-deploy-websimplemessage-using-netbeans-ide]] To Package and Deploy websimplemessage Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -195,9 +189,8 @@ select Build. + This command builds and deploys the project. -[[CHDBBBEI]] +[[CHDBBBEI]][[to-package-and-deploy-websimplemessage-using-maven]] -[[to-package-and-deploy-websimplemessage-using-maven]] To Package and Deploy websimplemessage Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -218,9 +211,8 @@ use the following command: mvn install ---- -[[CHDIFEHC]] +[[CHDIFEHC]][[to-run-the-websimplemessage-example]] -[[to-run-the-websimplemessage-example]] To Run the websimplemessage Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jms-examples007.adoc b/src/main/jbake/content/jms-examples007.adoc index d168843..f51df07 100644 --- a/src/main/jbake/content/jms-examples007.adoc +++ b/src/main/jbake/content/jms-examples007.adoc @@ -7,9 +7,8 @@ prev=jms-examples006.html Receiving Messages Asynchronously Using a Message-Driven Bean ============================================================= -[[BNBPK]] +[[BNBPK]][[receiving-messages-asynchronously-using-a-message-driven-bean]] -[[receiving-messages-asynchronously-using-a-message-driven-bean]] Receiving Messages Asynchronously Using a Message-Driven Bean ------------------------------------------------------------- @@ -36,9 +35,8 @@ section link:ejb-intro003.html#GIPKO[What Is a Message-Driven Bean?] as well as link:jms-concepts005.html#BNCGQ[Using Message-Driven Beans to Receive Messages Asynchronously]. -[[BNBPL]] +[[BNBPL]][[overview-of-the-simplemessage-example]] -[[overview-of-the-simplemessage-example]] Overview of the simplemessage Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -65,9 +63,8 @@ to a queue, and the message being delivered to a message-driven bean"] The source code for this application is in the tut-install`/examples/jms/simplemessage/` directory. -[[BNBPN]] +[[BNBPN]][[the-simplemessage-application-client]] -[[the-simplemessage-application-client]] The simplemessage Application Client ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -106,9 +103,8 @@ for (int i = 0; i < NUM_MSGS; i++) { } ---- -[[BNBPO]] +[[BNBPO]][[the-simplemessage-message-driven-bean-class]] -[[the-simplemessage-message-driven-bean-class]] The simplemessage Message-Driven Bean Class ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -138,9 +134,8 @@ See link:jms-examples008.html#BNCGW[Sending Messages from a Session Bean to an MDB] for examples of the `subscriptionDurability`, `clientId`, `subscriptionName`, and `messageSelector` properties. -[[BNBPP]] +[[BNBPP]][[the-onmessage-method]] -[[the-onmessage-method]] The onMessage Method ^^^^^^^^^^^^^^^^^^^^ @@ -174,9 +169,8 @@ public void onMessage(Message inMessage) { } ---- -[[BNBPQ]] +[[BNBPQ]][[running-the-simplemessage-example]] -[[running-the-simplemessage-example]] Running the simplemessage Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -189,9 +183,8 @@ The following topics are addressed here: * link:#CHDFBDDA[To Run the simplemessage Example Using NetBeans IDE] * link:#BNBPT[To Run the simplemessage Example Using Maven] -[[BNBPR]] +[[BNBPR]][[creating-resources-for-the-simplemessage-example]] -[[creating-resources-for-the-simplemessage-example]] Creating Resources for the simplemessage Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -207,9 +200,8 @@ Resources for the Simple Examples] to create it. For more information on creating JMS resources, see link:jms-examples003.html#GKTJS[Creating JMS Administered Objects]. -[[CHDFBDDA]] +[[CHDFBDDA]][[to-run-the-simplemessage-example-using-netbeans-ide]] -[[to-run-the-simplemessage-example-using-netbeans-ide]] To Run the simplemessage Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -262,9 +254,8 @@ which they were sent. 7. After you have finished running the application, undeploy it using the Services tab. -[[BNBPT]] +[[BNBPT]][[to-run-the-simplemessage-example-using-maven]] -[[to-run-the-simplemessage-example-using-maven]] To Run the simplemessage Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jms-examples008.adoc b/src/main/jbake/content/jms-examples008.adoc index 5b9e11b..933d225 100644 --- a/src/main/jbake/content/jms-examples008.adoc +++ b/src/main/jbake/content/jms-examples008.adoc @@ -7,9 +7,8 @@ prev=jms-examples007.html = Sending Messages from a Session Bean to an MDB -[[BNCGW]] +[[BNCGW]][[sending-messages-from-a-session-bean-to-an-mdb]] -[[sending-messages-from-a-session-bean-to-an-mdb]] Sending Messages from a Session Bean to an MDB ---------------------------------------------- @@ -32,9 +31,8 @@ The following topics are addressed here: clientsessionmdb Example] * link:#CHDDFAHA[Running the clientsessionmdb Example] -[[BNCGX]] +[[BNCGX]][[writing-the-application-components-for-the-clientsessionmdb-example]] -[[writing-the-application-components-for-the-clientsessionmdb-example]] Writing the Application Components for the clientsessionmdb Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -69,9 +67,8 @@ categories and then publishes the message to a topic. The message-driven bean uses a message selector for the property to limit which of the published messages will be delivered to it. -[[BNCGZ]] +[[BNCGZ]][[coding-the-application-client-myappclient.java]] -[[coding-the-application-client-myappclient.java]] Coding the Application Client: MyAppClient.java ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -90,9 +87,8 @@ private static PublisherRemote publisher; The client then calls the bean's business method twice. -[[BNCHA]] +[[BNCHA]][[coding-the-publisher-session-bean]] -[[coding-the-publisher-session-bean]] Coding the Publisher Session Bean ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -132,9 +128,8 @@ public class PublisherBean implements PublisherRemote { The business method `publishNews` creates a `JMSProducer` and publishes the messages. -[[BNCHB]] +[[BNCHB]][[coding-the-message-driven-bean-messagebean.java]] -[[coding-the-message-driven-bean-messagebean.java]] Coding the Message-Driven Bean: MessageBean.java ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -185,9 +180,8 @@ The JMS resource adapter uses these properties to create a connection factory for the message-driven bean that allows the bean to use a durable subscription. -[[CHDDFAHA]] +[[CHDDFAHA]][[running-the-clientsessionmdb-example]] -[[running-the-clientsessionmdb-example]] Running the clientsessionmdb Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -203,9 +197,8 @@ The following topics are addressed here: * link:#CHDGGAIB[To Run clientsessionmdb Using NetBeans IDE] * link:#CHDDDHBE[To Run clientsessionmdb Using Maven] -[[CHDGGAIB]] +[[CHDGGAIB]][[to-run-clientsessionmdb-using-netbeans-ide]] -[[to-run-clientsessionmdb-using-netbeans-ide]] To Run clientsessionmdb Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -258,9 +251,8 @@ only the messages whose `NewsType` property is `Sports` or `Opinion`. 7. Use the Services tab to undeploy the application after you have finished running it. -[[CHDDDHBE]] +[[CHDDDHBE]][[to-run-clientsessionmdb-using-maven]] -[[to-run-clientsessionmdb-using-maven]] To Run clientsessionmdb Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jms-examples009.adoc b/src/main/jbake/content/jms-examples009.adoc index fc62b0e..76be19f 100644 --- a/src/main/jbake/content/jms-examples009.adoc +++ b/src/main/jbake/content/jms-examples009.adoc @@ -7,9 +7,8 @@ prev=jms-examples008.html = Using an Entity to Join Messages from Two MDBs -[[BNCHF]] +[[BNCHF]][[using-an-entity-to-join-messages-from-two-mdbs]] -[[using-an-entity-to-join-messages-from-two-mdbs]] Using an Entity to Join Messages from Two MDBs ---------------------------------------------- @@ -32,9 +31,8 @@ The following topics are addressed here: Example] * link:#CHDEEDJH[Running the clientmdbentity Example] -[[BNCHG]] +[[BNCHG]][[overview-of-the-clientmdbentity-example-application]] -[[overview-of-the-clientmdbentity-example-application]] Overview of the clientmdbentity Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -102,13 +100,13 @@ entity. [[BNCHH]] .*Figure 49-5 An Enterprise Bean Application: Client to Message-Driven Beans to Entity* + image:img/javaeett_dt_038.png[ "Diagram of application showing an application client, two message-driven beans, and an entity, as well as the associated topic and queue"] -[[BNCHI]] +[[BNCHI]][[writing-the-application-components-for-the-clientmdbentity-example]] -[[writing-the-application-components-for-the-clientmdbentity-example]] Writing the Application Components for the clientmdbentity Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -122,9 +120,8 @@ The following topics are addressed here: Example] * link:#BNCHL[Coding the Entity Class for the clientmdbentity Example] -[[BNCHJ]] +[[BNCHJ]][[coding-the-application-client-humanresourceclient.java]] -[[coding-the-application-client-humanresourceclient.java]] Coding the Application Client: HumanResourceClient.java ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -150,9 +147,8 @@ the message listener displays the information received and determines whether all five messages have arrived. When they have, the message listener notifies the `main` method, which then exits. -[[BNCHK]] +[[BNCHK]][[coding-the-message-driven-beans-for-the-clientmdbentity-example]] -[[coding-the-message-driven-beans-for-the-clientmdbentity-example]] Coding the Message-Driven Beans for the clientmdbentity Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -184,9 +180,8 @@ information from the message, creates a `JMSProducer`, and sends a reply message that contains the information stored in the entity. 4. It removes the entity. -[[BNCHL]] +[[BNCHL]][[coding-the-entity-class-for-the-clientmdbentity-example]] -[[coding-the-entity-class-for-the-clientmdbentity-example]] Coding the Entity Class for the clientmdbentity Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -242,9 +237,8 @@ settings: ---- -[[CHDEEDJH]] +[[CHDEEDJH]][[running-the-clientmdbentity-example]] -[[running-the-clientmdbentity-example]] Running the clientmdbentity Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -263,9 +257,8 @@ The following topics are addressed here: * link:#CHDICHGH[To Run clientmdbentity Using Maven] * link:#CHDCDEEF[Viewing the Application Output] -[[CHDIJDEE]] +[[CHDIJDEE]][[to-run-clientmdbentity-using-netbeans-ide]] -[[to-run-clientmdbentity-using-netbeans-ide]] To Run clientmdbentity Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -301,9 +294,8 @@ The `clientmdbentity.ear` file is created in the The command then deploys the EAR file, retrieves the client stubs, and runs the application client. -[[CHDICHGH]] +[[CHDICHGH]][[to-run-clientmdbentity-using-maven]] -[[to-run-clientmdbentity-using-maven]] To Run clientmdbentity Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -338,9 +330,8 @@ class, along with the `persistence.xml` file The command then deploys the application, retrieves the client stubs, and runs the application client. -[[CHDCDEEF]] +[[CHDCDEEF]][[viewing-the-application-output]] -[[viewing-the-application-output]] Viewing the Application Output ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jms-examples010.adoc b/src/main/jbake/content/jms-examples010.adoc index 0d9e1c7..5986e1b 100644 --- a/src/main/jbake/content/jms-examples010.adoc +++ b/src/main/jbake/content/jms-examples010.adoc @@ -7,9 +7,8 @@ prev=jms-examples009.html Using NetBeans IDE to Create JMS Resources ========================================== -[[BABDFDJC]] +[[BABDFDJC]][[using-netbeans-ide-to-create-jms-resources]] -[[using-netbeans-ide-to-create-jms-resources]] Using NetBeans IDE to Create JMS Resources ------------------------------------------ @@ -30,9 +29,8 @@ The following topics are addressed here: * link:#CHDFIJBJ[To Create JMS Resources Using NetBeans IDE] * link:#CHDCFADI[To Delete JMS Resources Using NetBeans IDE] -[[CHDFIJBJ]] +[[CHDFIJBJ]][[to-create-jms-resources-using-netbeans-ide]] -[[to-create-jms-resources-using-netbeans-ide]] To Create JMS Resources Using NetBeans IDE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -67,9 +65,8 @@ find it under the Other Sources node. You will need to run the `asadmin add-resources` command to create the resources in GlassFish Server. -[[CHDCFADI]] +[[CHDCFADI]][[to-delete-jms-resources-using-netbeans-ide]] -[[to-delete-jms-resources-using-netbeans-ide]] To Delete JMS Resources Using NetBeans IDE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-advanced-cc.adoc b/src/main/jbake/content/jsf-advanced-cc.adoc index 1192edc..705c10c 100644 --- a/src/main/jbake/content/jsf-advanced-cc.adoc +++ b/src/main/jbake/content/jsf-advanced-cc.adoc @@ -7,9 +7,8 @@ prev=jsf-ajax012.html Composite Components: Advanced Topics and an Example ==================================================== -[[GKHXA]] +[[GKHXA]][[composite-components-advanced-topics-and-an-example]] -[[composite-components-advanced-topics-and-an-example]] 14 Composite Components: Advanced Topics and an Example ------------------------------------------------------- diff --git a/src/main/jbake/content/jsf-advanced-cc001.adoc b/src/main/jbake/content/jsf-advanced-cc001.adoc index 641f1e3..b7a3fb8 100644 --- a/src/main/jbake/content/jsf-advanced-cc001.adoc +++ b/src/main/jbake/content/jsf-advanced-cc001.adoc @@ -7,9 +7,8 @@ prev=jsf-advanced-cc.html = Attributes of a Composite Component -[[GKHWV]] +[[GKHWV]][[attributes-of-a-composite-component]] -[[attributes-of-a-composite-component]] Attributes of a Composite Component ----------------------------------- diff --git a/src/main/jbake/content/jsf-advanced-cc002.adoc b/src/main/jbake/content/jsf-advanced-cc002.adoc index 91f1658..a146a2d 100644 --- a/src/main/jbake/content/jsf-advanced-cc002.adoc +++ b/src/main/jbake/content/jsf-advanced-cc002.adoc @@ -7,9 +7,8 @@ prev=jsf-advanced-cc001.html Invoking a Managed Bean ======================= -[[GKHUO]] +[[GKHUO]][[invoking-a-managed-bean]] -[[invoking-a-managed-bean]] Invoking a Managed Bean ----------------------- diff --git a/src/main/jbake/content/jsf-advanced-cc003.adoc b/src/main/jbake/content/jsf-advanced-cc003.adoc index 9c11ee7..d2d6f8a 100644 --- a/src/main/jbake/content/jsf-advanced-cc003.adoc +++ b/src/main/jbake/content/jsf-advanced-cc003.adoc @@ -7,9 +7,9 @@ prev=jsf-advanced-cc002.html = Validating Composite Component Values -[[GKHWO]] +[[GKHWO]][[validating-composite-component-values]] + -[[validating-composite-component-values]] Validating Composite Component Values ------------------------------------- diff --git a/src/main/jbake/content/jsf-advanced-cc004.adoc b/src/main/jbake/content/jsf-advanced-cc004.adoc index 2afe7bc..9fa1e63 100644 --- a/src/main/jbake/content/jsf-advanced-cc004.adoc +++ b/src/main/jbake/content/jsf-advanced-cc004.adoc @@ -7,9 +7,8 @@ prev=jsf-advanced-cc003.html = The compositecomponentexample Example Application -[[GKHVN]] +[[GKHVN]][[the-compositecomponentexample-example-application]] -[[the-compositecomponentexample-example-application]] The compositecomponentexample Example Application ------------------------------------------------- @@ -33,9 +32,8 @@ The following topics are addressed here: * link:#GKHVQ[The Managed Bean] * link:#GLECV[Running the compositecomponentexample Example] -[[GKHUU]] +[[GKHUU]][[the-composite-component-file]] -[[the-composite-component-file]] The Composite Component File ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -111,9 +109,8 @@ prime or not is rendered only if the input value is validated. ---- -[[GKHVX]] +[[GKHVX]][[the-using-page]] -[[the-using-page]] The Using Page ~~~~~~~~~~~~~~ @@ -130,9 +127,8 @@ along with the managed bean. It validates the user's input. ---- -[[GKHVQ]] +[[GKHVQ]][[the-managed-bean]] -[[the-managed-bean]] The Managed Bean ~~~~~~~~~~~~~~~~ @@ -166,9 +162,8 @@ public class PrimeBean implements Serializable { } ---- -[[GLECV]] +[[GLECV]][[running-the-compositecomponentexample-example]] -[[running-the-compositecomponentexample-example]] Running the compositecomponentexample Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -183,9 +178,8 @@ compositecomponentexample Example Using NetBeans IDE] compositecomponentexample Example Using Maven] * link:#GLEEU[To Run the compositecomponentexample Example] -[[GKHVC]] +[[GKHVC]][[to-build-package-and-deploy-the-compositecomponentexample-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-compositecomponentexample-example-using-netbeans-ide]] To Build, Package, and Deploy the compositecomponentexample Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -206,9 +200,8 @@ project and select Build. + This command builds and deploys the application. -[[GLEAE]] +[[GLEAE]][[to-build-package-and-deploy-the-compositecomponentexample-example-using-maven]] -[[to-build-package-and-deploy-the-compositecomponentexample-example-using-maven]] To Build, Package, and Deploy the compositecomponentexample Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -228,9 +221,8 @@ tut-install/examples/web/jsf/compositecomponentexample/ mvn install ---- -[[GLEEU]] +[[GLEEU]][[to-run-the-compositecomponentexample-example]] -[[to-run-the-compositecomponentexample-example]] To Run the compositecomponentexample Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jsf-ajax.adoc b/src/main/jbake/content/jsf-ajax.adoc index 0024360..fdbae53 100644 --- a/src/main/jbake/content/jsf-ajax.adoc +++ b/src/main/jbake/content/jsf-ajax.adoc @@ -7,9 +7,8 @@ prev=jsf-develop003.html Using Ajax with JavaServer Faces Technology =========================================== -[[GKIOW]] +[[GKIOW]][[using-ajax-with-javaserver-faces-technology]] -[[using-ajax-with-javaserver-faces-technology]] 13 Using Ajax with JavaServer Faces Technology ---------------------------------------------- diff --git a/src/main/jbake/content/jsf-ajax001.adoc b/src/main/jbake/content/jsf-ajax001.adoc index 7f8a5c8..b7187c8 100644 --- a/src/main/jbake/content/jsf-ajax001.adoc +++ b/src/main/jbake/content/jsf-ajax001.adoc @@ -7,9 +7,8 @@ prev=jsf-ajax.html Overview of Ajax ================ -[[GKIGR]] +[[GKIGR]][[overview-of-ajax]] -[[overview-of-ajax]] Overview of Ajax ---------------- diff --git a/src/main/jbake/content/jsf-ajax002.adoc b/src/main/jbake/content/jsf-ajax002.adoc index 64bd0b8..33b7a55 100644 --- a/src/main/jbake/content/jsf-ajax002.adoc +++ b/src/main/jbake/content/jsf-ajax002.adoc @@ -7,9 +7,8 @@ prev=jsf-ajax001.html Using Ajax Functionality with JavaServer Faces Technology ========================================================= -[[GKINL]] +[[GKINL]][[using-ajax-functionality-with-javaserver-faces-technology]] -[[using-ajax-functionality-with-javaserver-faces-technology]] Using Ajax Functionality with JavaServer Faces Technology --------------------------------------------------------- diff --git a/src/main/jbake/content/jsf-ajax003.adoc b/src/main/jbake/content/jsf-ajax003.adoc index 799f282..0a5e996 100644 --- a/src/main/jbake/content/jsf-ajax003.adoc +++ b/src/main/jbake/content/jsf-ajax003.adoc @@ -7,9 +7,8 @@ prev=jsf-ajax002.html = Using Ajax with Facelets -[[GKABR]] +[[GKABR]][[using-ajax-with-facelets]] -[[using-ajax-with-facelets]] Using Ajax with Facelets ------------------------ @@ -30,9 +29,8 @@ server-side methods from a view. The component generates a JavaScript function with a given name that when invoked, in turn invokes, a given server-side method via Ajax. -[[GKAFN]] +[[GKAFN]][[using-the-fajax-tag]] -[[using-the-fajax-tag]] Using the f:ajax Tag ~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-ajax004.adoc b/src/main/jbake/content/jsf-ajax004.adoc index 67f2ed9..cd4a499 100644 --- a/src/main/jbake/content/jsf-ajax004.adoc +++ b/src/main/jbake/content/jsf-ajax004.adoc @@ -7,9 +7,7 @@ prev=jsf-ajax003.html Sending an Ajax Request ======================= -[[GKACE]] - -[[sending-an-ajax-request]] +[[GKACE]][[sending-an-ajax-request]] Sending an Ajax Request ----------------------- @@ -42,9 +40,8 @@ The following topics are addressed here: * link:#GKHWM[Using the immediate Attribute] * link:#GKHZS[Using the listener Attribute] -[[GKHVT]] +[[GKHVT]][[using-the-event-attribute]] -[[using-the-event-attribute]] Using the event Attribute ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -85,9 +82,8 @@ not have the `on` prefix. For a command button, the default event is `click`, so you do not actually need to specify `event="click"` to obtain the desired behavior. -[[GKHUZ]] +[[GKHUZ]][[using-the-execute-attribute]] -[[using-the-execute-attribute]] Using the execute Attribute ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -119,9 +115,8 @@ The following code specifies that the `h:inputText` component with the ---- -[[GKHWM]] +[[GKHWM]][[using-the-immediate-attribute]] -[[using-the-immediate-attribute]] Using the immediate Attribute ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -133,9 +128,8 @@ broadcast during the Invoke Application phase. If not defined, the default value of this attribute is `false`. -[[GKHZS]] +[[GKHZS]][[using-the-listener-attribute]] -[[using-the-listener-attribute]] Using the listener Attribute ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-ajax005.adoc b/src/main/jbake/content/jsf-ajax005.adoc index 1ef1d4d..36a15b3 100644 --- a/src/main/jbake/content/jsf-ajax005.adoc +++ b/src/main/jbake/content/jsf-ajax005.adoc @@ -7,9 +7,8 @@ prev=jsf-ajax004.html = Monitoring Events on the Client -[[GKDDF]] +[[GKDDF]][[monitoring-events-on-the-client]] -[[monitoring-events-on-the-client]] Monitoring Events on the Client ------------------------------- diff --git a/src/main/jbake/content/jsf-ajax006.adoc b/src/main/jbake/content/jsf-ajax006.adoc index 3a959ad..1d35bfb 100644 --- a/src/main/jbake/content/jsf-ajax006.adoc +++ b/src/main/jbake/content/jsf-ajax006.adoc @@ -7,9 +7,8 @@ prev=jsf-ajax005.html = Handling Errors -[[GKDCB]] +[[GKDCB]][[handling-errors]] -[[handling-errors]] Handling Errors --------------- diff --git a/src/main/jbake/content/jsf-ajax007.adoc b/src/main/jbake/content/jsf-ajax007.adoc index 0766ab7..752ed26 100644 --- a/src/main/jbake/content/jsf-ajax007.adoc +++ b/src/main/jbake/content/jsf-ajax007.adoc @@ -7,9 +7,8 @@ prev=jsf-ajax006.html Receiving an Ajax Response ========================== -[[GKDBR]] +[[GKDBR]][[receiving-an-ajax-response]] -[[receiving-an-ajax-response]] Receiving an Ajax Response -------------------------- diff --git a/src/main/jbake/content/jsf-ajax008.adoc b/src/main/jbake/content/jsf-ajax008.adoc index 535aa1b..a9f1384 100644 --- a/src/main/jbake/content/jsf-ajax008.adoc +++ b/src/main/jbake/content/jsf-ajax008.adoc @@ -7,9 +7,8 @@ prev=jsf-ajax007.html Ajax Request Lifecycle ====================== -[[GKUAR]] +[[GKUAR]][[ajax-request-lifecycle]] -[[ajax-request-lifecycle]] Ajax Request Lifecycle ---------------------- diff --git a/src/main/jbake/content/jsf-ajax009.adoc b/src/main/jbake/content/jsf-ajax009.adoc index 2d329da..ad62386 100644 --- a/src/main/jbake/content/jsf-ajax009.adoc +++ b/src/main/jbake/content/jsf-ajax009.adoc @@ -7,9 +7,8 @@ prev=jsf-ajax008.html Grouping of Components ====================== -[[GKHYH]] +[[GKHYH]][[grouping-of-components]] -[[grouping-of-components]] Grouping of Components ---------------------- diff --git a/src/main/jbake/content/jsf-ajax010.adoc b/src/main/jbake/content/jsf-ajax010.adoc index 071ac3e..e19fe4f 100644 --- a/src/main/jbake/content/jsf-ajax010.adoc +++ b/src/main/jbake/content/jsf-ajax010.adoc @@ -7,9 +7,8 @@ prev=jsf-ajax009.html = Loading JavaScript as a Resource -[[GKAAM]] +[[GKAAM]][[loading-javascript-as-a-resource]] -[[loading-javascript-as-a-resource]] Loading JavaScript as a Resource -------------------------------- @@ -33,9 +32,8 @@ topics: – Uses the `javax.faces.application.ResourceDependency` annotation on a `UIComponent` Java class -[[GKAFI]] +[[GKAFI]][[using-javascript-api-in-a-facelets-application]] -[[using-javascript-api-in-a-facelets-application]] Using JavaScript API in a Facelets Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -116,9 +114,8 @@ If no identifier is specified, the default assumed keyword for the You can also place the JavaScript method in a file and include it as a resource. -[[GKIPX]] +[[GKIPX]][[using-the-resourcedependency-annotation-in-a-bean-class]] -[[using-the-resourcedependency-annotation-in-a-bean-class]] Using the @ResourceDependency Annotation in a Bean Class ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-ajax011.adoc b/src/main/jbake/content/jsf-ajax011.adoc index 4bd7c8f..c37a618 100644 --- a/src/main/jbake/content/jsf-ajax011.adoc +++ b/src/main/jbake/content/jsf-ajax011.adoc @@ -7,9 +7,8 @@ prev=jsf-ajax010.html = The ajaxguessnumber Example Application -[[GKOKB]] +[[GKOKB]][[the-ajaxguessnumber-example-application]] -[[the-ajaxguessnumber-example-application]] The ajaxguessnumber Example Application --------------------------------------- @@ -29,9 +28,8 @@ The following topics are addressed here: * link:#GKOIJ[The ajaxguessnumber Source Files] * link:#GKOKE[Running the ajaxguessnumber Example] -[[GKOIJ]] +[[GKOIJ]][[the-ajaxguessnumber-source-files]] -[[the-ajaxguessnumber-source-files]] The ajaxguessnumber Source Files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -43,9 +41,8 @@ The following topics are addressed here: * link:#GKOHN[The UserNumberBean Backing Bean] * link:#CHDGAIGJ[The DukesNumberBean CDI Managed Bean] -[[GKOFW]] +[[GKOFW]][[the-ajaxgreeting.xhtml-facelets-page]] -[[the-ajaxgreeting.xhtml-facelets-page]] The ajaxgreeting.xhtml Facelets Page ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -108,9 +105,8 @@ validation error occurs, the managed bean is not executed, and the validation error message is displayed in the message pane. Otherwise, the result of the guess is rendered in the `result` component. -[[GKOHN]] +[[GKOHN]][[the-usernumberbean-backing-bean]] -[[the-usernumberbean-backing-bean]] The UserNumberBean Backing Bean ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -133,9 +129,8 @@ public String getResponse() { } ---- -[[CHDGAIGJ]] +[[CHDGAIGJ]][[the-dukesnumberbean-cdi-managed-bean]] -[[the-dukesnumberbean-cdi-managed-bean]] The DukesNumberBean CDI Managed Bean ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -154,9 +149,8 @@ DukesNumberBean dukesNumberBean; You will learn more about CDI in link:cdi-basic.html#GIWHB[Chapter 25, "Introduction to Contexts and Dependency Injection for Java EE"]. -[[GKOKE]] +[[GKOKE]][[running-the-ajaxguessnumber-example]] -[[running-the-ajaxguessnumber-example]] Running the ajaxguessnumber Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -171,9 +165,8 @@ Using NetBeans IDE] Using Maven] * link:#GLHWE[To Run the ajaxguessnumber Example] -[[GLHVU]] +[[GLHVU]][[to-build-package-and-deploy-the-ajaxguessnumber-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-ajaxguessnumber-example-using-netbeans-ide]] To Build, Package, and Deploy the ajaxguessnumber Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -194,9 +187,8 @@ select Build. + This command builds and deploys the project. -[[GLHVQ]] +[[GLHVQ]][[to-build-package-and-deploy-the-ajaxguessnumber-example-using-maven]] -[[to-build-package-and-deploy-the-ajaxguessnumber-example-using-maven]] To Build, Package, and Deploy the ajaxguessnumber Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -220,9 +212,8 @@ This command builds and packages the application into a WAR file, `ajaxguessnumber.war`, located in the `target` directory. It then deploys the application. -[[GLHWE]] +[[GLHWE]][[to-run-the-ajaxguessnumber-example]] -[[to-run-the-ajaxguessnumber-example]] To Run the ajaxguessnumber Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jsf-ajax012.adoc b/src/main/jbake/content/jsf-ajax012.adoc index 30da3c9..1916cdb 100644 --- a/src/main/jbake/content/jsf-ajax012.adoc +++ b/src/main/jbake/content/jsf-ajax012.adoc @@ -7,9 +7,8 @@ prev=jsf-ajax011.html = Further Information about Ajax in JavaServer Faces Technology -[[GKSDK]] +[[GKSDK]][[further-information-about-ajax-in-javaserver-faces-technology]] -[[further-information-about-ajax-in-javaserver-faces-technology]] Further Information about Ajax in JavaServer Faces Technology ------------------------------------------------------------- diff --git a/src/main/jbake/content/jsf-configure.adoc b/src/main/jbake/content/jsf-configure.adoc index 29406af..de946a4 100644 --- a/src/main/jbake/content/jsf-configure.adoc +++ b/src/main/jbake/content/jsf-configure.adoc @@ -7,9 +7,8 @@ prev=jsf-custom014.html Configuring JavaServer Faces Applications ========================================= -[[BNAWO]] +[[BNAWO]][[configuring-javaserver-faces-applications]] -[[configuring-javaserver-faces-applications]] 16 Configuring JavaServer Faces Applications -------------------------------------------- diff --git a/src/main/jbake/content/jsf-configure001.adoc b/src/main/jbake/content/jsf-configure001.adoc index c9b9c6e..a2e0dab 100644 --- a/src/main/jbake/content/jsf-configure001.adoc +++ b/src/main/jbake/content/jsf-configure001.adoc @@ -7,9 +7,8 @@ prev=jsf-configure.html Introduction to Configuring JavaServer Faces Applications ========================================================= -[[A1352824]] +[[A1352824]][[introduction-to-configuring-javaserver-faces-applications]] -[[introduction-to-configuring-javaserver-faces-applications]] Introduction to Configuring JavaServer Faces Applications --------------------------------------------------------- diff --git a/src/main/jbake/content/jsf-configure002.adoc b/src/main/jbake/content/jsf-configure002.adoc index 45ed1e3..146e1ef 100644 --- a/src/main/jbake/content/jsf-configure002.adoc +++ b/src/main/jbake/content/jsf-configure002.adoc @@ -7,9 +7,8 @@ prev=jsf-configure001.html = Using Annotations to Configure Managed Beans -[[GIRCH]] +[[GIRCH]][[using-annotations-to-configure-managed-beans]] -[[using-annotations-to-configure-managed-beans]] Using Annotations to Configure Managed Beans -------------------------------------------- @@ -61,9 +60,8 @@ along with registration of custom listeners, custom validators, and custom converters, in link:jsf-custom.html#BNAVG[Chapter 15, "Creating Custom UI Components and Other Custom Objects"]. -[[GIRCR]] +[[GIRCR]][[using-managed-bean-scopes]] -[[using-managed-bean-scopes]] Using Managed Bean Scopes ~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-configure003.adoc b/src/main/jbake/content/jsf-configure003.adoc index a20a381..6ae880a 100644 --- a/src/main/jbake/content/jsf-configure003.adoc +++ b/src/main/jbake/content/jsf-configure003.adoc @@ -7,9 +7,8 @@ prev=jsf-configure002.html Application Configuration Resource File ======================================= -[[BNAWP]] +[[BNAWP]][[application-configuration-resource-file]] -[[application-configuration-resource-file]] Application Configuration Resource File --------------------------------------- @@ -86,9 +85,8 @@ creates a single instance of the `Application` class and configures it with the information you provided in the application configuration resource file. -[[GIREP]] +[[GIREP]][[configuring-eager-application-scoped-managed-beans]] -[[configuring-eager-application-scoped-managed-beans]] Configuring Eager Application-Scoped Managed Beans ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -117,9 +115,8 @@ The annotation is as follows: @ApplicationScoped ---- -[[GIQCK]] +[[GIQCK]][[ordering-of-application-configuration-resource-files]] -[[ordering-of-application-configuration-resource-files]] Ordering of Application Configuration Resource Files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-configure004.adoc b/src/main/jbake/content/jsf-configure004.adoc index c8342d1..4e4708f 100644 --- a/src/main/jbake/content/jsf-configure004.adoc +++ b/src/main/jbake/content/jsf-configure004.adoc @@ -7,9 +7,8 @@ prev=jsf-configure003.html = Using Faces Flows -[[CHDGFCJF]] +[[CHDGFCJF]][[using-faces-flows]] -[[using-faces-flows]] Using Faces Flows ----------------- @@ -75,9 +74,8 @@ parameters that it can accept from Flow B. Flow B is identical to Flow A except for the names of the flow and files. Each flow also has an associated managed bean; the beans are `Flow_a_Bean` and `Flow_b_Bean`. -[[sthref81]] +[[sthref81]][[packaging-flows-in-an-application]] -[[packaging-flows-in-an-application]] Packaging Flows in an Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -114,9 +112,8 @@ src/main/java/javaeetutorial/flowexample In this example, `flow-a` is defined programmatically in `FlowA.java`, while `flow-b` is defined by the configuration file `flow-b-flow.xml`. -[[sthref82]] +[[sthref82]][[the-simplest-possible-flow-the-simple-flow-example-application]] -[[the-simplest-possible-flow-the-simple-flow-example-application]] The Simplest Possible Flow: The simple-flow Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -210,9 +207,8 @@ no value outside of the flow, and provides a link that navigates to the The Facelets pages use only flow-scoped data, so the example does not need a managed bean. -[[sthref83]] +[[sthref83]][[to-build-package-and-deploy-the-simple-flow-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-simple-flow-example-using-netbeans-ide]] To Build, Package, and Deploy the simple-flow Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -235,9 +231,8 @@ This command builds and packages the application into a WAR file, `simple-flow.war`, that is located in the `target` directory. It then deploys the application to the server. -[[sthref84]] +[[sthref84]][[to-build-package-and-deploy-the-simple-flow-example-using-maven]] -[[to-build-package-and-deploy-the-simple-flow-example-using-maven]] To Build, Package, and Deploy the simple-flow Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -261,9 +256,8 @@ This command builds and packages the application into a WAR file, `simple-flow.war`, that is located in the `target` directory. It then deploys the application to the server. -[[sthref85]] +[[sthref85]][[to-run-the-simple-flow-example]] -[[to-run-the-simple-flow-example]] To Run the simple-flow Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -282,9 +276,8 @@ Click Return. inaccessible value. Click Back to Start to return to the `index.xhtml` page. -[[sthref86]] +[[sthref86]][[the-checkout-module-example-application]] -[[the-checkout-module-example-application]] The checkout-module Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -343,9 +336,8 @@ The managed beans scoped to each flow are `CheckoutFlowBean.java` and `JoinFlowBean.java`, whereas `CheckoutBean.java` is the backing bean for the `index.html` page. -[[sthref87]] +[[sthref87]][[the-facelets-pages-for-the-checkout-module-example]] -[[the-facelets-pages-for-the-checkout-module-example]] The Facelets Pages for the checkout-module Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -421,9 +413,8 @@ to call the checkout flow as well as one to return from the join flow: For this flow, the actions `callcheckoutFlow` and `returnFromJoinFlow` are defined in the configuration file `joinFlow-flow.xml`. -[[sthref88]] +[[sthref88]][[using-a-configuration-file-to-configure-a-flow]] -[[using-a-configuration-file-to-configure-a-flow]] Using a Configuration File to Configure a Flow ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -498,9 +489,8 @@ action of calling the flow. Within the `flow-call` element, the to be passed when `checkoutFlow` is called. Here they are just arbitrary strings. -[[sthref89]] +[[sthref89]][[using-a-java-class-to-configure-a-flow]] -[[using-a-java-class-to-configure-a-flow]] Using a Java Class to Configure a Flow ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -582,9 +572,8 @@ are values from the `CheckoutFlowBean` managed bean. Finally, the `defineFlow` method calls the `getFlow` method and returns the result. -[[sthref90]] +[[sthref90]][[the-flow-scoped-managed-beans]] -[[the-flow-scoped-managed-beans]] The Flow-Scoped Managed Beans ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -606,9 +595,8 @@ public String getReturnValue() { For the `JoinFlowBean`, the return node is the `exithome.xhtml` page. -[[sthref91]] +[[sthref91]][[to-build-package-and-deploy-the-checkout-module-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-checkout-module-example-using-netbeans-ide]] To Build, Package, and Deploy the checkout-module Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -631,9 +619,8 @@ This command builds and packages the application into a WAR file, `checkout-module.war`, that is located in the `target` directory. It then deploys the application to the server. -[[sthref92]] +[[sthref92]][[to-build-package-and-deploy-the-checkout-module-example-using-maven]] -[[to-build-package-and-deploy-the-checkout-module-example-using-maven]] To Build, Package, and Deploy the checkout-module Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -657,9 +644,8 @@ This command builds and packages the application into a WAR file, `checkout-module.war`, that is located in the `target` directory. It then deploys the application to the server. -[[sthref93]] +[[sthref93]][[to-run-the-checkout-module-example]] -[[to-run-the-checkout-module-example]] To Run the checkout-module Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jsf-configure005.adoc b/src/main/jbake/content/jsf-configure005.adoc index 6d9afcf..c0ec45a 100644 --- a/src/main/jbake/content/jsf-configure005.adoc +++ b/src/main/jbake/content/jsf-configure005.adoc @@ -7,9 +7,8 @@ prev=jsf-configure004.html = Configuring Managed Beans -[[BNAWQ]] +[[BNAWQ]][[configuring-managed-beans]] -[[configuring-managed-beans]] Configuring Managed Beans ------------------------- @@ -49,9 +48,8 @@ creation facility. See link:jsf-develop002.html#BNATY[Writing Bean Properties] and link:jsf-develop003.html#BNAVB[Writing Managed Bean Methods] for information on programming managed beans. -[[BNAWR]] +[[BNAWR]][[using-the-managed-bean-element]] -[[using-the-managed-bean-element]] Using the managed-bean Element ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -160,9 +158,8 @@ managed-property Element], explains in more detail how to use the `managed-property` element. See link:#BNAWY[Initializing Managed Bean Properties] for an example of initializing a managed bean property. -[[BNAWS]] +[[BNAWS]][[initializing-properties-using-the-managed-property-element]] -[[initializing-properties-using-the-managed-property-element]] Initializing Properties Using the managed-property Element ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -202,9 +199,8 @@ the `value` subelement and other subelements to initialize properties of Java `Enum` types, `Map`, `array`, and `Collection`, as well as initialization parameters. -[[BNAWU]] +[[BNAWU]][[referencing-a-java-enum-type]] -[[referencing-a-java-enum-type]] Referencing a Java Enum Type ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -241,9 +237,8 @@ When the system encounters this property, it iterates over each of the members of the `enum` and calls `toString()` on each member until it finds one that is exactly equal to the value from the `value` element. -[[BNAWV]] +[[BNAWV]][[referencing-a-context-initialization-parameter]] -[[referencing-a-context-initialization-parameter]] Referencing a Context Initialization Parameter ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -290,9 +285,8 @@ property from the `area` component tag's `value` attribute: Values are retrieved from other implicit objects in a similar way. -[[BNAWW]] +[[BNAWW]][[initializing-map-properties]] -[[initializing-map-properties]] Initializing Map Properties ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -366,9 +360,8 @@ Instead of using a `map-entries` element, it is also possible to assign the entire map using a `value` element that specifies a map-typed expression. -[[BNAWX]] +[[BNAWX]][[initializing-array-and-list-properties]] -[[initializing-array-and-list-properties]] Initializing Array and List Properties ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -402,9 +395,8 @@ an argument of `null`. A `null` property cannot be specified for a property whose data type is a Java primitive, such as `int` or `boolean`. -[[BNAWY]] +[[BNAWY]][[initializing-managed-bean-properties]] -[[initializing-managed-bean-properties]] Initializing Managed Bean Properties ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -495,9 +487,8 @@ neither of the `AddressBean` objects in the preceding example should point back to the `CustomerBean` object, because `CustomerBean` already points to the `AddressBean` objects. -[[BNAXA]] +[[BNAXA]][[initializing-maps-and-lists]] -[[initializing-maps-and-lists]] Initializing Maps and Lists ~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-configure006.adoc b/src/main/jbake/content/jsf-configure006.adoc index d3feb89..00594f7 100644 --- a/src/main/jbake/content/jsf-configure006.adoc +++ b/src/main/jbake/content/jsf-configure006.adoc @@ -7,9 +7,8 @@ prev=jsf-configure005.html Registering Application Messages ================================ -[[BNAXB]] +[[BNAXB]][[registering-application-messages]] -[[registering-application-messages]] Registering Application Messages -------------------------------- @@ -83,9 +82,8 @@ The `alt` attribute can accept value expressions. In this case, the `alt` attribute refers to localized text that will be included in the alternative text of the image rendered by this tag. -[[GKUHG]] +[[GKUHG]][[using-facesmessage-to-create-a-message]] -[[using-facesmessage-to-create-a-message]] Using FacesMessage to Create a Message ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -124,9 +122,8 @@ public static String loadErrorMessage(FacesContext context, } ---- -[[BNASS]] +[[BNASS]][[referencing-error-messages]] -[[referencing-error-messages]] Referencing Error Messages ~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-configure007.adoc b/src/main/jbake/content/jsf-configure007.adoc index 2491b3e..7aba16e 100644 --- a/src/main/jbake/content/jsf-configure007.adoc +++ b/src/main/jbake/content/jsf-configure007.adoc @@ -7,9 +7,8 @@ prev=jsf-configure006.html Using Default Validators ======================== -[[GIREB]] +[[GIREB]][[using-default-validators]] -[[using-default-validators]] Using Default Validators ------------------------ diff --git a/src/main/jbake/content/jsf-configure008.adoc b/src/main/jbake/content/jsf-configure008.adoc index bed5e91..074ea1b 100644 --- a/src/main/jbake/content/jsf-configure008.adoc +++ b/src/main/jbake/content/jsf-configure008.adoc @@ -7,9 +7,8 @@ prev=jsf-configure007.html Registering a Custom Validator ============================== -[[BNAXD]] +[[BNAXD]][[registering-a-custom-validator]] -[[registering-a-custom-validator]] Registering a Custom Validator ------------------------------ diff --git a/src/main/jbake/content/jsf-configure009.adoc b/src/main/jbake/content/jsf-configure009.adoc index b4c95c7..a96a39b 100644 --- a/src/main/jbake/content/jsf-configure009.adoc +++ b/src/main/jbake/content/jsf-configure009.adoc @@ -7,9 +7,8 @@ prev=jsf-configure008.html Registering a Custom Converter ============================== -[[BNAXE]] +[[BNAXE]][[registering-a-custom-converter]] -[[registering-a-custom-converter]] Registering a Custom Converter ------------------------------ diff --git a/src/main/jbake/content/jsf-configure010.adoc b/src/main/jbake/content/jsf-configure010.adoc index 9521789..781cfba 100644 --- a/src/main/jbake/content/jsf-configure010.adoc +++ b/src/main/jbake/content/jsf-configure010.adoc @@ -7,9 +7,8 @@ prev=jsf-configure009.html = Configuring Navigation Rules -[[BNAXF]] +[[BNAXF]][[configuring-navigation-rules]] -[[configuring-navigation-rules]] Configuring Navigation Rules ---------------------------- diff --git a/src/main/jbake/content/jsf-configure011.adoc b/src/main/jbake/content/jsf-configure011.adoc index 2ad7969..f8fea6a 100644 --- a/src/main/jbake/content/jsf-configure011.adoc +++ b/src/main/jbake/content/jsf-configure011.adoc @@ -7,9 +7,8 @@ prev=jsf-configure010.html Registering a Custom Renderer with a Render Kit =============================================== -[[BNAXH]] +[[BNAXH]][[registering-a-custom-renderer-with-a-render-kit]] -[[registering-a-custom-renderer-with-a-render-kit]] Registering a Custom Renderer with a Render Kit ----------------------------------------------- diff --git a/src/main/jbake/content/jsf-configure012.adoc b/src/main/jbake/content/jsf-configure012.adoc index c8e3b2c..9326e9c 100644 --- a/src/main/jbake/content/jsf-configure012.adoc +++ b/src/main/jbake/content/jsf-configure012.adoc @@ -7,9 +7,8 @@ prev=jsf-configure011.html Registering a Custom Component ============================== -[[BNAXI]] +[[BNAXI]][[registering-a-custom-component]] -[[registering-a-custom-component]] Registering a Custom Component ------------------------------ diff --git a/src/main/jbake/content/jsf-configure013.adoc b/src/main/jbake/content/jsf-configure013.adoc index 6d258af..7298a78 100644 --- a/src/main/jbake/content/jsf-configure013.adoc +++ b/src/main/jbake/content/jsf-configure013.adoc @@ -7,9 +7,8 @@ prev=jsf-configure012.html = Basic Requirements of a JavaServer Faces Application -[[BNAXJ]] +[[BNAXJ]][[basic-requirements-of-a-javaserver-faces-application]] -[[basic-requirements-of-a-javaserver-faces-application]] Basic Requirements of a JavaServer Faces Application ---------------------------------------------------- @@ -58,9 +57,8 @@ The `web.xml` file (or web deployment descriptor), the set of JAR files, and the set of application files must be contained in the `WEB-INF` directory of the WAR file. -[[BNAXK]] +[[BNAXK]][[configuring-an-application-with-a-web-deployment-descriptor]] -[[configuring-an-application-with-a-web-deployment-descriptor]] Configuring an Application with a Web Deployment Descriptor ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -89,9 +87,8 @@ This section gives more details on these configurations. Where appropriate, it also describes how you can make these configurations using NetBeans IDE. -[[GLPOO]] +[[GLPOO]][[identifying-the-servlet-for-lifecycle-processing]] -[[identifying-the-servlet-for-lifecycle-processing]] Identifying the Servlet for Lifecycle Processing ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -178,9 +175,8 @@ deployment descriptor is automatically created for you with default configurations. If you created your application without an IDE, you can create a web deployment descriptor. -[[BNAXM]] +[[BNAXM]][[to-specify-a-path-to-an-application-configuration-resource-file]] -[[to-specify-a-path-to-an-application-configuration-resource-file]] To Specify a Path to an Application Configuration Resource File ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -208,9 +204,8 @@ field. 3. Click OK. 8. Repeat steps 1 through 7 for each configuration file. -[[BNAXN]] +[[BNAXN]][[to-specify-where-state-is-saved]] -[[to-specify-where-state-is-saved]] To Specify Where State Is Saved ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -241,9 +236,8 @@ rendered to a hidden field on the page. The JavaServer Faces implementation saves the state on the server by default. Duke's Forest saves its state on the client. -[[GIQXL]] +[[GIQXL]][[configuring-project-stage]] -[[configuring-project-stage]] Configuring Project Stage ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -274,9 +268,8 @@ deployment descriptor file. Here is an example: If no Project Stage is defined, the default stage is `Production`. You can also add custom stages according to your requirements. -[[BNAXT]] +[[BNAXT]][[including-the-classes-pages-and-other-resources]] -[[including-the-classes-pages-and-other-resources]] Including the Classes, Pages, and Other Resources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-custom.adoc b/src/main/jbake/content/jsf-custom.adoc index 556630b..9054e56 100644 --- a/src/main/jbake/content/jsf-custom.adoc +++ b/src/main/jbake/content/jsf-custom.adoc @@ -7,9 +7,8 @@ prev=jsf-advanced-cc004.html Creating Custom UI Components and Other Custom Objects ====================================================== -[[BNAVG]] +[[BNAVG]][[creating-custom-ui-components-and-other-custom-objects]] -[[creating-custom-ui-components-and-other-custom-objects]] 15 Creating Custom UI Components and Other Custom Objects --------------------------------------------------------- diff --git a/src/main/jbake/content/jsf-custom001.adoc b/src/main/jbake/content/jsf-custom001.adoc index 52a8eed..36d876a 100644 --- a/src/main/jbake/content/jsf-custom001.adoc +++ b/src/main/jbake/content/jsf-custom001.adoc @@ -7,9 +7,8 @@ prev=jsf-custom.html Introduction to Creating Custom Components ========================================== -[[A1350198]] +[[A1350198]][[introduction-to-creating-custom-components]] -[[introduction-to-creating-custom-components]] Introduction to Creating Custom Components ------------------------------------------ diff --git a/src/main/jbake/content/jsf-custom002.adoc b/src/main/jbake/content/jsf-custom002.adoc index b815213..0dc971e 100644 --- a/src/main/jbake/content/jsf-custom002.adoc +++ b/src/main/jbake/content/jsf-custom002.adoc @@ -7,9 +7,8 @@ prev=jsf-custom001.html = Determining Whether You Need a Custom Component or Renderer -[[BNAVH]] +[[BNAVH]][[determining-whether-you-need-a-custom-component-or-renderer]] -[[determining-whether-you-need-a-custom-component-or-renderer]] Determining Whether You Need a Custom Component or Renderer ----------------------------------------------------------- @@ -24,9 +23,8 @@ The following topics are addressed here: * link:#BNAVJ[When to Use a Custom Renderer] * link:#BNAVK[Component, Renderer, and Tag Combinations] -[[BNAVI]] +[[BNAVI]][[when-to-use-a-custom-component]] -[[when-to-use-a-custom-component]] When to Use a Custom Component ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -96,9 +94,8 @@ link:jsf-custom007.html#BNAUT[Implementing an Event Listener] and link:jsf-develop003.html#BNAVB[Writing Managed Bean Methods] for more information. -[[BNAVJ]] +[[BNAVJ]][[when-to-use-a-custom-renderer]] -[[when-to-use-a-custom-renderer]] When to Use a Custom Renderer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -142,9 +139,8 @@ approach, you can actually use both models. Your component class can include some default rendering code, but it can delegate rendering to a renderer if there is one. -[[BNAVK]] +[[BNAVK]][[component-renderer-and-tag-combinations]] -[[component-renderer-and-tag-combinations]] Component, Renderer, and Tag Combinations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-custom003.adoc b/src/main/jbake/content/jsf-custom003.adoc index ba2c6f4..f39e425 100644 --- a/src/main/jbake/content/jsf-custom003.adoc +++ b/src/main/jbake/content/jsf-custom003.adoc @@ -7,9 +7,8 @@ prev=jsf-custom002.html = Understanding the Image Map Example -[[GLPCB]] +[[GLPCB]][[understanding-the-image-map-example]] -[[understanding-the-image-map-example]] Understanding the Image Map Example ----------------------------------- @@ -29,9 +28,8 @@ Map?] * link:#GLPBO[Configuring Model Data] * link:#GLPEL[Summary of the Image Map Application Classes] -[[GLPBD]] +[[GLPBD]][[why-use-javaserver-faces-technology-to-implement-an-image-map]] -[[why-use-javaserver-faces-technology-to-implement-an-image-map]] Why Use JavaServer Faces Technology to Implement an Image Map? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -54,9 +52,8 @@ it has the best of both styles of image maps: It can handle the parts of the application that need to be performed on the server while allowing the other parts of the application to be performed on the client side. -[[GLPEM]] +[[GLPEM]][[understanding-the-rendered-html]] -[[understanding-the-rendered-html]] Understanding the Rendered HTML ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -110,9 +107,8 @@ The server-side objects retrieve the value of `bookMap_current` and set the locale in the `javax.faces.context.FacesContext` instance according to the region that was selected. -[[GLPCD]] +[[GLPCD]][[understanding-the-facelets-page]] -[[understanding-the-facelets-page]] Understanding the Facelets Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -192,9 +188,8 @@ scope. The value of this attribute is a bean, which stores the `coords`, `shape`, and `alt` data. How these beans are stored in the application scope is explained more in the next section. -[[GLPBO]] +[[GLPBO]][[configuring-model-data]] -[[configuring-model-data]] Configuring Model Data ~~~~~~~~~~~~~~~~~~~~~~ @@ -277,9 +272,8 @@ and alternative text values by calling the appropriate accessor methods of `ImageArea`. link:jsf-custom006.html#BNAWB[Creating the Renderer Class] explains how to do this in the `AreaRenderer` class. -[[GLPEL]] +[[GLPEL]][[summary-of-the-image-map-application-classes]] -[[summary-of-the-image-map-application-classes]] Summary of the Image Map Application Classes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-custom004.adoc b/src/main/jbake/content/jsf-custom004.adoc index 21d5bef..530fb8d 100644 --- a/src/main/jbake/content/jsf-custom004.adoc +++ b/src/main/jbake/content/jsf-custom004.adoc @@ -7,9 +7,8 @@ prev=jsf-custom003.html Steps for Creating a Custom Component ===================================== -[[BNAVT]] +[[BNAVT]][[steps-for-creating-a-custom-component]] -[[steps-for-creating-a-custom-component]] Steps for Creating a Custom Component ------------------------------------- diff --git a/src/main/jbake/content/jsf-custom005.adoc b/src/main/jbake/content/jsf-custom005.adoc index e9ce243..250b5fb 100644 --- a/src/main/jbake/content/jsf-custom005.adoc +++ b/src/main/jbake/content/jsf-custom005.adoc @@ -7,9 +7,8 @@ prev=jsf-custom004.html Creating Custom Component Classes ================================= -[[BNAVU]] +[[BNAVU]][[creating-custom-component-classes]] -[[creating-custom-component-classes]] Creating Custom Component Classes --------------------------------- @@ -164,9 +163,8 @@ performs as well as the encoding and decoding that it delegates to `MapRenderer`. link:jsf-custom008.html#BNAWD[Handling Events for Custom Components] details how `MapComponent` handles events. -[[BNAVV]] +[[BNAVV]][[specifying-the-component-family]] -[[specifying-the-component-family]] Specifying the Component Family ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -193,9 +191,8 @@ configuration. link:jsf-configure012.html#BNAXI[Registering a Custom Component] explains how to define the component family in the component configuration. -[[BNAVW]] +[[BNAVW]][[performing-encoding]] -[[performing-encoding]] Performing Encoding ~~~~~~~~~~~~~~~~~~~ @@ -311,9 +308,8 @@ might need to implement other methods in addition to `encodeEnd`. For example, if you need to retrieve the component's value from the request parameters, you must also implement the `decode` method. -[[BNAVX]] +[[BNAVX]][[performing-decoding]] -[[performing-decoding]] Performing Decoding ~~~~~~~~~~~~~~~~~~~ @@ -354,9 +350,8 @@ the `input` field. This value represents the currently selected area. Finally, it sets the value of the `MapComponent` class's `current` attribute to the value of the `input` field. -[[BNAVY]] +[[BNAVY]][[enabling-component-properties-to-accept-expressions]] -[[enabling-component-properties-to-accept-expressions]] Enabling Component Properties to Accept Expressions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -435,9 +430,8 @@ public void setAction(MethodExpression action) { } ---- -[[BNAVZ]] +[[BNAVZ]][[saving-and-restoring-state]] -[[saving-and-restoring-state]] Saving and Restoring State ~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-custom006.adoc b/src/main/jbake/content/jsf-custom006.adoc index 08f2749..563dbfa 100644 --- a/src/main/jbake/content/jsf-custom006.adoc +++ b/src/main/jbake/content/jsf-custom006.adoc @@ -7,9 +7,8 @@ prev=jsf-custom005.html Delegating Rendering to a Renderer ================================== -[[BNAWA]] +[[BNAWA]][[delegating-rendering-to-a-renderer]] -[[delegating-rendering-to-a-renderer]] Delegating Rendering to a Renderer ---------------------------------- @@ -26,9 +25,8 @@ topics: * link:#BNAWB[Creating the Renderer Class] * link:#BNAWC[Identifying the Renderer Type] -[[BNAWB]] +[[BNAWB]][[creating-the-renderer-class]] -[[creating-the-renderer-class]] Creating the Renderer Class ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -141,9 +139,8 @@ The `@FacesRenderer` annotation registers the renderer class with the JavaServer Faces implementation as a renderer class. The annotation identifies the component family as well as the renderer type. -[[BNAWC]] +[[BNAWC]][[identifying-the-renderer-type]] -[[identifying-the-renderer-type]] Identifying the Renderer Type ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-custom007.adoc b/src/main/jbake/content/jsf-custom007.adoc index 2820a86..49bd33e 100644 --- a/src/main/jbake/content/jsf-custom007.adoc +++ b/src/main/jbake/content/jsf-custom007.adoc @@ -7,9 +7,8 @@ prev=jsf-custom006.html Implementing an Event Listener ============================== -[[BNAUT]] +[[BNAUT]][[implementing-an-event-listener]] -[[implementing-an-event-listener]] Implementing an Event Listener ------------------------------ @@ -54,9 +53,8 @@ information on how to manage page navigation. |======================================================================= -[[BNAUU]] +[[BNAUU]][[implementing-value-change-listeners]] -[[implementing-value-change-listeners]] Implementing Value-Change Listeners ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -119,9 +117,8 @@ session map of the `FacesContext` instance. link:jsf-page-core002.html#BNATA[Registering a Value-Change Listener on a Component] explains how to register this listener onto a component. -[[BNAUV]] +[[BNAUV]][[implementing-action-listeners]] -[[implementing-action-listeners]] Implementing Action Listeners ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-custom008.adoc b/src/main/jbake/content/jsf-custom008.adoc index 90e91c0..eabbd9d 100644 --- a/src/main/jbake/content/jsf-custom008.adoc +++ b/src/main/jbake/content/jsf-custom008.adoc @@ -7,9 +7,8 @@ prev=jsf-custom007.html Handling Events for Custom Components ===================================== -[[BNAWD]] +[[BNAWD]][[handling-events-for-custom-components]] -[[handling-events-for-custom-components]] Handling Events for Custom Components ------------------------------------- diff --git a/src/main/jbake/content/jsf-custom009.adoc b/src/main/jbake/content/jsf-custom009.adoc index 607df04..51f6a65 100644 --- a/src/main/jbake/content/jsf-custom009.adoc +++ b/src/main/jbake/content/jsf-custom009.adoc @@ -7,9 +7,8 @@ prev=jsf-custom008.html Defining the Custom Component Tag in a Tag Library Descriptor ============================================================= -[[BNAWN]] +[[BNAWN]][[defining-the-custom-component-tag-in-a-tag-library-descriptor]] -[[defining-the-custom-component-tag-in-a-tag-library-descriptor]] Defining the Custom Component Tag in a Tag Library Descriptor ------------------------------------------------------------- diff --git a/src/main/jbake/content/jsf-custom010.adoc b/src/main/jbake/content/jsf-custom010.adoc index ed9c849..dba17a5 100644 --- a/src/main/jbake/content/jsf-custom010.adoc +++ b/src/main/jbake/content/jsf-custom010.adoc @@ -7,9 +7,8 @@ prev=jsf-custom009.html Using a Custom Component ======================== -[[BNATT]] +[[BNATT]][[using-a-custom-component]] -[[using-a-custom-component]] Using a Custom Component ------------------------ diff --git a/src/main/jbake/content/jsf-custom011.adoc b/src/main/jbake/content/jsf-custom011.adoc index dfa4e07..8e75694 100644 --- a/src/main/jbake/content/jsf-custom011.adoc +++ b/src/main/jbake/content/jsf-custom011.adoc @@ -7,9 +7,8 @@ prev=jsf-custom010.html Creating and Using a Custom Converter ===================================== -[[BNAUS]] +[[BNAUS]][[creating-and-using-a-custom-converter]] -[[creating-and-using-a-custom-converter]] Creating and Using a Custom Converter ------------------------------------- @@ -43,9 +42,8 @@ nonstandard object type. In the Duke's Tutoring case study, the `Student` and `Guardian` entities require a custom converter so that they can be converted to and from a `UISelectItems` input component. -[[GLPHB]] +[[GLPHB]][[creating-a-custom-converter]] -[[creating-a-custom-converter]] Creating a Custom Converter ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -195,9 +193,8 @@ bean, as in the `address-book` persistence example, in which the converters use an enterprise bean that is injected into the managed bean class. -[[BNATU]] +[[BNATU]][[using-a-custom-converter]] -[[using-a-custom-converter]] Using a Custom Converter ~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-custom012.adoc b/src/main/jbake/content/jsf-custom012.adoc index 576b031..77e887e 100644 --- a/src/main/jbake/content/jsf-custom012.adoc +++ b/src/main/jbake/content/jsf-custom012.adoc @@ -7,9 +7,8 @@ prev=jsf-custom011.html Creating and Using a Custom Validator ===================================== -[[BNAUW]] +[[BNAUW]][[creating-and-using-a-custom-validator]] -[[creating-and-using-a-custom-validator]] Creating and Using a Custom Validator ------------------------------------- @@ -79,9 +78,8 @@ situation. However, the rest of this section describes how this validator would be implemented and how to specify a custom tag so that the page author could register the validator on a component. -[[BNAUX]] +[[BNAUX]][[implementing-the-validator-interface]] -[[implementing-the-validator-interface]] Implementing the Validator Interface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -201,9 +199,8 @@ four methods: `saveState(FacesContext)`, `setTransient(boolean)`. See link:jsf-custom005.html#BNAVZ[Saving and Restoring State] for more information. -[[BNAUY]] +[[BNAUY]][[specifying-a-custom-tag]] -[[specifying-a-custom-tag]] Specifying a Custom Tag ~~~~~~~~~~~~~~~~~~~~~~~ @@ -242,9 +239,8 @@ implementation class. link:#BNATV[Using a Custom Validator] explains how to use the custom validator tag on the page. -[[BNATV]] +[[BNATV]][[using-a-custom-validator]] -[[using-a-custom-validator]] Using a Custom Validator ~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-custom013.adoc b/src/main/jbake/content/jsf-custom013.adoc index 0e69a89..37623df 100644 --- a/src/main/jbake/content/jsf-custom013.adoc +++ b/src/main/jbake/content/jsf-custom013.adoc @@ -7,9 +7,8 @@ prev=jsf-custom012.html = Binding Component Values and Instances to Managed Bean Properties -[[BNATG]] +[[BNATG]][[binding-component-values-and-instances-to-managed-bean-properties]] -[[binding-component-values-and-instances-to-managed-bean-properties]] Binding Component Values and Instances to Managed Bean Properties ----------------------------------------------------------------- @@ -109,9 +108,8 @@ component's value to a bean property or other data objects and how to use the `binding` attribute to bind a component instance to a bean property. -[[BNATI]] +[[BNATI]][[binding-a-component-value-to-a-property]] -[[binding-a-component-value-to-a-property]] Binding a Component Value to a Property ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -193,9 +191,8 @@ See link:jsf-configure005.html#BNAWQ[Configuring Managed Beans] for information on how to configure beans in the application configuration resource file. -[[BNATJ]] +[[BNATJ]][[binding-a-component-value-to-an-implicit-object]] -[[binding-a-component-value-to-an-implicit-object]] Binding a Component Value to an Implicit Object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -271,9 +268,8 @@ the `FacesRequest` for this request |======================================================================= -[[BNATL]] +[[BNATL]][[binding-a-component-instance-to-a-bean-property]] -[[binding-a-component-instance-to-a-bean-property]] Binding a Component Instance to a Bean Property ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-custom014.adoc b/src/main/jbake/content/jsf-custom014.adoc index 6fcb79e..dd1d037 100644 --- a/src/main/jbake/content/jsf-custom014.adoc +++ b/src/main/jbake/content/jsf-custom014.adoc @@ -7,9 +7,8 @@ prev=jsf-custom013.html Binding Converters, Listeners, and Validators to Managed Bean Properties ======================================================================== -[[BNATM]] +[[BNATM]][[binding-converters-listeners-and-validators-to-managed-bean-properties]] -[[binding-converters-listeners-and-validators-to-managed-bean-properties]] Binding Converters, Listeners, and Validators to Managed Bean Properties ------------------------------------------------------------------------ diff --git a/src/main/jbake/content/jsf-develop.adoc b/src/main/jbake/content/jsf-develop.adoc index ad1fd0a..f14d965 100644 --- a/src/main/jbake/content/jsf-develop.adoc +++ b/src/main/jbake/content/jsf-develop.adoc @@ -7,9 +7,8 @@ prev=jsf-page-core004.html Developing with JavaServer Faces Technology =========================================== -[[BNATX]] +[[BNATX]][[developing-with-javaserver-faces-technology]] -[[developing-with-javaserver-faces-technology]] 12 Developing with JavaServer Faces Technology ---------------------------------------------- diff --git a/src/main/jbake/content/jsf-develop001.adoc b/src/main/jbake/content/jsf-develop001.adoc index 3aeb5cb..bf45eee 100644 --- a/src/main/jbake/content/jsf-develop001.adoc +++ b/src/main/jbake/content/jsf-develop001.adoc @@ -7,9 +7,8 @@ prev=jsf-develop.html = Managed Beans in JavaServer Faces Technology -[[BNAQM]] +[[BNAQM]][[managed-beans-in-javaserver-faces-technology]] -[[managed-beans-in-javaserver-faces-technology]] Managed Beans in JavaServer Faces Technology -------------------------------------------- @@ -42,9 +41,8 @@ The following topics are addressed here: * link:#BNAQN[Creating a Managed Bean] * link:#BNAQP[Using the EL to Reference Managed Beans] -[[BNAQN]] +[[BNAQN]][[creating-a-managed-bean]] -[[creating-a-managed-bean]] Creating a Managed Bean ~~~~~~~~~~~~~~~~~~~~~~~ @@ -101,9 +99,8 @@ validator, or listener type. For more information on writing beans and their properties, see link:jsf-develop002.html#BNATY[Writing Bean Properties]. -[[BNAQP]] +[[BNAQP]][[using-the-el-to-reference-managed-beans]] -[[using-the-el-to-reference-managed-beans]] Using the EL to Reference Managed Beans ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-develop002.adoc b/src/main/jbake/content/jsf-develop002.adoc index 0e560d8..e61b756 100644 --- a/src/main/jbake/content/jsf-develop002.adoc +++ b/src/main/jbake/content/jsf-develop002.adoc @@ -7,9 +7,8 @@ prev=jsf-develop001.html = Writing Bean Properties -[[BNATY]] +[[BNATY]][[writing-bean-properties]] -[[writing-bean-properties]] Writing Bean Properties ----------------------- @@ -63,9 +62,8 @@ objects described in link:jsf-page002.html#BNARF[Adding Components to a Page Using HTML Tag Library Tags], and to converter, listener, and validator implementations. -[[BNATZ]] +[[BNATZ]][[writing-properties-bound-to-component-values]] -[[writing-properties-bound-to-component-values]] Writing Properties Bound to Component Values ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -104,9 +102,8 @@ When they bind components to properties by using the `value` attributes of the component tags, page authors need to ensure that the corresponding properties match the types of the components' values. -[[BNAUB]] +[[BNAUB]][[uiinput-and-uioutput-properties]] -[[uiinput-and-uioutput-properties]] UIInput and UIOutput Properties ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -172,9 +169,8 @@ public void setShipDate(Date shipDate) { } ---- -[[BNAUC]] +[[BNAUC]][[uidata-properties]] -[[uidata-properties]] UIData Properties ^^^^^^^^^^^^^^^^^ @@ -264,9 +260,8 @@ For UIData and UIRepeat, the supported types are: * `java.util.Map` * `java.lang.Object` (becomes ScalarDataModel) -[[BNAUD]] +[[BNAUD]][[uiselectboolean-properties]] -[[uiselectboolean-properties]] UISelectBoolean Properties ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -303,9 +298,8 @@ public boolean getReceiveEmails() { } ---- -[[BNAUE]] +[[BNAUE]][[uiselectmany-properties]] -[[uiselectmany-properties]] UISelectMany Properties ^^^^^^^^^^^^^^^^^^^^^^^ @@ -352,9 +346,8 @@ link:#BNAUG[UISelectItem Properties] and link:#BNAUH[UISelectItems Properties] for information on writing the bean properties for the `UISelectItem` and `UISelectItems` components. -[[BNAUF]] +[[BNAUF]][[uiselectone-properties]] -[[uiselectone-properties]] UISelectOne Properties ^^^^^^^^^^^^^^^^^^^^^^ @@ -412,9 +405,8 @@ For information on how to write the managed bean properties for the link:#BNAUG[UISelectItem Properties] and link:#BNAUH[UISelectItems Properties]. -[[BNAUG]] +[[BNAUG]][[uiselectitem-properties]] -[[uiselectitem-properties]] UISelectItem Properties ^^^^^^^^^^^^^^^^^^^^^^^ @@ -442,9 +434,8 @@ void setItemOne(SelectItem item) { } ---- -[[BNAUH]] +[[BNAUH]][[uiselectitems-properties]] -[[uiselectitems-properties]] UISelectItems Properties ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -487,9 +478,8 @@ value of the item, whereas the second argument is a `String` representing the label that appears in the `UISelectMany` component on the page. -[[BNAUK]] +[[BNAUK]][[writing-properties-bound-to-component-instances]]] -[[writing-properties-bound-to-component-instances]] Writing Properties Bound to Component Instances ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -558,9 +548,8 @@ For more information on writing managed bean methods that handle navigation, see link:jsf-develop003.html#BNAVC[Writing a Method to Handle Navigation]. -[[BNAUL]] +[[BNAUL]][[writing-properties-bound-to-converters-listeners-or-validators]] -[[writing-properties-bound-to-converters-listeners-or-validators]] Writing Properties Bound to Converters, Listeners, or Validators ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-develop003.adoc b/src/main/jbake/content/jsf-develop003.adoc index 907b6ad..d246607 100644 --- a/src/main/jbake/content/jsf-develop003.adoc +++ b/src/main/jbake/content/jsf-develop003.adoc @@ -7,9 +7,8 @@ prev=jsf-develop002.html Writing Managed Bean Methods ============================ -[[BNAVB]] +[[BNAVB]][[writing-managed-bean-methods]] -[[writing-managed-bean-methods]] Writing Managed Bean Methods ---------------------------- @@ -21,9 +20,8 @@ functions for components on the page. These functions include * Performing validation on the component's value * Handling value-change events -[[sthref68]] +[[sthref68]][[why-use-managed-beans]] -[[why-use-managed-beans]] Why Use Managed Beans ~~~~~~~~~~~~~~~~~~~~~ @@ -43,9 +41,8 @@ perform the validation associated with the component. The following sections explain how to write various types of managed bean methods. -[[BNAVC]] +[[BNAVC]][[writing-a-method-to-handle-navigation]] -[[writing-a-method-to-handle-navigation]] Writing a Method to Handle Navigation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -129,9 +126,8 @@ method. The section link:jsf-develop002.html#BNAUK[Writing Properties Bound to Component Instances] explains how to write the bean properties to which the components are bound. -[[BNAVD]] +[[BNAVD]][[writing-a-method-to-handle-an-action-event]] -[[writing-a-method-to-handle-an-action-event]] Writing a Method to Handle an Action Event ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -164,9 +160,8 @@ the book ID by using the selected value from the `HashMap` object. link:jsf-page-core004.html#BNATQ[Referencing a Method That Handles an Action Event] explains how a component tag references this method. -[[BNAVE]] +[[BNAVE]][[writing-a-method-to-perform-validation]] -[[writing-a-method-to-perform-validation]] Writing a Method to Perform Validation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -223,9 +218,8 @@ See link:jsf-page-core004.html#BNATR[Referencing a Method That Performs Validation] for information on how a component tag references this method. -[[BNAVF]] +[[BNAVF]][[writing-a-method-to-handle-a-value-change-event]] -[[writing-a-method-to-handle-a-value-change-event]] Writing a Method to Handle a Value-Change Event ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-el.adoc b/src/main/jbake/content/jsf-el.adoc index b31ccdd..4c7ea66 100644 --- a/src/main/jbake/content/jsf-el.adoc +++ b/src/main/jbake/content/jsf-el.adoc @@ -7,9 +7,8 @@ prev=jsf-facelets009.html Expression Language =================== -[[GJDDD]] +[[GJDDD]][[expression-language]] -[[expression-language]] 9 Expression Language --------------------- diff --git a/src/main/jbake/content/jsf-el001.adoc b/src/main/jbake/content/jsf-el001.adoc index 39a0e08..5e53d50 100644 --- a/src/main/jbake/content/jsf-el001.adoc +++ b/src/main/jbake/content/jsf-el001.adoc @@ -7,9 +7,8 @@ prev=jsf-el.html Overview of the EL ================== -[[BNAHQ]] +[[BNAHQ]][[overview-of-the-el]] -[[overview-of-the-el]] Overview of the EL ------------------ diff --git a/src/main/jbake/content/jsf-el002.adoc b/src/main/jbake/content/jsf-el002.adoc index 118f206..c17e48c 100644 --- a/src/main/jbake/content/jsf-el002.adoc +++ b/src/main/jbake/content/jsf-el002.adoc @@ -7,9 +7,8 @@ prev=jsf-el001.html Immediate and Deferred Evaluation Syntax ======================================== -[[BNAHR]] +[[BNAHR]][[immediate-and-deferred-evaluation-syntax]] -[[immediate-and-deferred-evaluation-syntax]] Immediate and Deferred Evaluation Syntax ---------------------------------------- @@ -33,9 +32,8 @@ lifecycle. Other technologies using the EL might have different reasons for using deferred expressions. -[[BNAHS]] +[[BNAHS]][[immediate-evaluation]] -[[immediate-evaluation]] Immediate Evaluation ~~~~~~~~~~~~~~~~~~~~ @@ -56,9 +54,8 @@ The JavaServer Faces implementation evaluates the expression `${catalog.bookQuantity}`, converts it, and passes the returned value to the tag handler. The value is updated on the page. -[[BNAHT]] +[[BNAHT]][[deferred-evaluation]] -[[deferred-evaluation]] Deferred Evaluation ~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-el003.adoc b/src/main/jbake/content/jsf-el003.adoc index f8d8465..8029efe 100644 --- a/src/main/jbake/content/jsf-el003.adoc +++ b/src/main/jbake/content/jsf-el003.adoc @@ -7,9 +7,8 @@ prev=jsf-el002.html = Value and Method Expressions -[[BNAHU]] +[[BNAHU]][[value-and-method-expressions]] -[[value-and-method-expressions]] Value and Method Expressions ---------------------------- @@ -23,9 +22,8 @@ The following topics are addressed here: * link:#method-expressions[Method Expressions] * link:#lambda-expressions[Lambda Expressions] -[[BNAHV]] +[[BNAHV]][[value-expressions]] -[[value-expressions]] Value Expressions ~~~~~~~~~~~~~~~~~ @@ -60,9 +58,8 @@ is evaluated immediately during an initial request for the page. During a postback request, this expression can be used to set the value of the `name` property with user input. -[[BNAHW]] +[[BNAHW]][[referencing-objects]] -[[referencing-objects]] Referencing Objects ^^^^^^^^^^^^^^^^^^^ @@ -107,9 +104,8 @@ you can compare `suit.hearts` to the instance: ${mySuit == suit.hearts} ---- -[[BNAHX]] +[[BNAHX]][[referencing-object-properties-or-collection-elements]] -[[referencing-object-properties-or-collection-elements]] Referencing Object Properties or Collection Elements ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -168,9 +164,8 @@ ${customer.orders["socks"]} ${customer.orders.socks} ---- -[[sthref38]] +[[sthref38]][[referencing-literals]] -[[referencing-literals]] Referencing Literals ^^^^^^^^^^^^^^^^^^^^ @@ -189,9 +184,8 @@ Here are some examples: * `${true}` * `${57}` -[[GJHBZ]] +[[GJHBZ]][[parameterized-method-calls]] -[[parameterized-method-calls]] Parameterized Method Calls ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -244,9 +238,8 @@ in which a parameter is passed: In the preceding example, you are passing the string `'SOMESTOCK'` (a stock symbol) as a parameter to the `buy` method. -[[BNAHY]] +[[BNAHY]][[where-value-expressions-can-be-used]] -[[where-value-expressions-can-be-used]] Where Value Expressions Can Be Used ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -330,9 +323,8 @@ of an attribute of type `float` will result in the following conversion: Float.valueOf("1.2E4").floatValue() ---- -[[BNAHZ]] +[[BNAHZ]][[method-expressions]] -[[method-expressions]] Method Expressions ~~~~~~~~~~~~~~~~~~ @@ -397,9 +389,8 @@ this method expression is invoked, the method returns the `String` literal, which is then converted to the expected return type, as defined in the tag's tag library descriptor. -[[BEIHCBAH]] +[[BEIHCBAH]][[lambda-expressions]] -[[lambda-expressions]] Lambda Expressions ~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-el004.adoc b/src/main/jbake/content/jsf-el004.adoc index ac28843..ee84abb 100644 --- a/src/main/jbake/content/jsf-el004.adoc +++ b/src/main/jbake/content/jsf-el004.adoc @@ -7,9 +7,8 @@ prev=jsf-el003.html Operations on Collection Objects ================================ -[[CIHGABHD]] +[[CIHGABHD]][[operations-on-collection-objects]] -[[operations-on-collection-objects]] Operations on Collection Objects -------------------------------- diff --git a/src/main/jbake/content/jsf-el005.adoc b/src/main/jbake/content/jsf-el005.adoc index c77978a..a12cb08 100644 --- a/src/main/jbake/content/jsf-el005.adoc +++ b/src/main/jbake/content/jsf-el005.adoc @@ -7,9 +7,8 @@ prev=jsf-el004.html Operators ========= -[[BNAIK]] +[[BNAIK]][[operators]] -[[operators]] Operators --------- diff --git a/src/main/jbake/content/jsf-el006.adoc b/src/main/jbake/content/jsf-el006.adoc index 9a9df49..33df616 100644 --- a/src/main/jbake/content/jsf-el006.adoc +++ b/src/main/jbake/content/jsf-el006.adoc @@ -7,9 +7,8 @@ prev=jsf-el005.html Reserved Words ============== -[[BNAIL]] +[[BNAIL]][[reserved-words]] -[[reserved-words]] Reserved Words -------------- diff --git a/src/main/jbake/content/jsf-el007.adoc b/src/main/jbake/content/jsf-el007.adoc index 5450dba..bcea327 100644 --- a/src/main/jbake/content/jsf-el007.adoc +++ b/src/main/jbake/content/jsf-el007.adoc @@ -7,9 +7,8 @@ prev=jsf-el006.html = Examples of EL Expressions -[[BNAIM]] +[[BNAIM]][[examples-of-el-expressions]] -[[examples-of-el-expressions]] Examples of EL Expressions -------------------------- diff --git a/src/main/jbake/content/jsf-el008.adoc b/src/main/jbake/content/jsf-el008.adoc index 624f610..6078d4b 100644 --- a/src/main/jbake/content/jsf-el008.adoc +++ b/src/main/jbake/content/jsf-el008.adoc @@ -7,9 +7,8 @@ prev=jsf-el007.html = Further Information about the Expression Language -[[CIHGBBHA]] +[[CIHGBBHA]][[further-information-about-the-expression-language]] -[[further-information-about-the-expression-language]] Further Information about the Expression Language ------------------------------------------------- diff --git a/src/main/jbake/content/jsf-facelets.adoc b/src/main/jbake/content/jsf-facelets.adoc index 25716c9..b7ed660 100644 --- a/src/main/jbake/content/jsf-facelets.adoc +++ b/src/main/jbake/content/jsf-facelets.adoc @@ -7,9 +7,8 @@ prev=jsf-intro009.html Introduction to Facelets ======================== -[[GIEPX]] +[[GIEPX]][[introduction-to-facelets]] -[[introduction-to-facelets]] 8 Introduction to Facelets -------------------------- diff --git a/src/main/jbake/content/jsf-facelets001.adoc b/src/main/jbake/content/jsf-facelets001.adoc index e259076..8eec8d9 100644 --- a/src/main/jbake/content/jsf-facelets001.adoc +++ b/src/main/jbake/content/jsf-facelets001.adoc @@ -7,9 +7,8 @@ prev=jsf-facelets.html = What Is Facelets? -[[GIJTU]] +[[GIJTU]][[what-is-facelets]] -[[what-is-facelets]] What Is Facelets? ----------------- diff --git a/src/main/jbake/content/jsf-facelets002.adoc b/src/main/jbake/content/jsf-facelets002.adoc index b271400..3bfb75b 100644 --- a/src/main/jbake/content/jsf-facelets002.adoc +++ b/src/main/jbake/content/jsf-facelets002.adoc @@ -7,9 +7,8 @@ prev=jsf-facelets001.html The Lifecycle of a Facelets Application ======================================= -[[GIPRR]] +[[GIPRR]][[the-lifecycle-of-a-facelets-application]] -[[the-lifecycle-of-a-facelets-application]] The Lifecycle of a Facelets Application --------------------------------------- diff --git a/src/main/jbake/content/jsf-facelets003.adoc b/src/main/jbake/content/jsf-facelets003.adoc index 6f7940b..e14012b 100644 --- a/src/main/jbake/content/jsf-facelets003.adoc +++ b/src/main/jbake/content/jsf-facelets003.adoc @@ -7,9 +7,8 @@ prev=jsf-facelets002.html Developing a Simple Facelets Application: The guessnumber-jsf Example Application ================================================================================= -[[GIPOB]] +[[GIPOB]][[developing-a-simple-facelets-application-the-guessnumber-jsf-example-application]] -[[developing-a-simple-facelets-application-the-guessnumber-jsf-example-application]] Developing a Simple Facelets Application: The guessnumber-jsf Example Application --------------------------------------------------------------------------------- @@ -28,9 +27,8 @@ The following topics are addressed here: * link:#configuring-the-application[Configuring the Application] * link:#running-the-guessnumber-jsf-facelets Example[Running the guessnumber-jsf Facelets Example] -[[GIQTE]] +[[GIQTE]][[creating-a-facelets-application]] -[[creating-a-facelets-application]] Creating a Facelets Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -43,9 +41,8 @@ correctly or incorrectly. The source code for this application is in the tut-install`/examples/web/jsf/guessnumber-jsf/` directory. -[[GIQQZ]] +[[GIQQZ]][[developing-a-managed-bean]] -[[developing-a-managed-bean]] Developing a Managed Bean ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -123,9 +120,8 @@ accessible through the EL. The `@SessionScoped` annotation registers the bean scope as `session` to enable you to make multiple guesses as you run the application. -[[GJZPV]] +[[GJZPV]][[creating-facelets-views]] -[[creating-facelets-views]] Creating Facelets Views ^^^^^^^^^^^^^^^^^^^^^^^ @@ -250,9 +246,8 @@ content: This page also uses implicit navigation, setting the `action` attribute for the Back button to send the user to the `greeting.xhtml` page. -[[GJJKC]] +[[GJJKC]][[configuring-the-application]] -[[configuring-the-application]] Configuring the Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -308,9 +303,8 @@ For example, if the project stage is defined as `Development`, debugging information is automatically generated for the user. If not defined by the user, the default project stage is `Production`. -[[GIRGF]] +[[GIRGF]][[running-the-guessnumber-jsf-facelets-example]] -[[running-the-guessnumber-jsf-facelets-example]] Running the guessnumber-jsf Facelets Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -325,9 +319,8 @@ Using NetBeans IDE] Using Maven] * link:#GJQYX[To Run the guessnumber-jsf Example] -[[GJQZL]] +[[GJQZL]][[to-build-package-and-deploy-the-guessnumber-jsf-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-guessnumber-jsf-example-using-netbeans-ide]] To Build, Package, and Deploy the guessnumber-jsf Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -349,9 +342,8 @@ select Build. This option builds the example application and deploys it to your GlassFish Server instance. -[[GJQYU]] +[[GJQYU]][[to-build-package-and-deploy-the-guessnumber-jsf-example-using-maven]] -[[to-build-package-and-deploy-the-guessnumber-jsf-example-using-maven]] To Build, Package, and Deploy the guessnumber-jsf Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -375,9 +367,8 @@ This command builds and packages the application into a WAR file, `guessnumber-jsf.war`, that is located in the `target` directory. It then deploys it to the server. -[[GJQYX]] +[[GJQYX]][[to-run-the-guessnumber-jsf-example]] -[[to-run-the-guessnumber-jsf-example]] To Run the guessnumber-jsf Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jsf-facelets004.adoc b/src/main/jbake/content/jsf-facelets004.adoc index 26f5d77..60626ef 100644 --- a/src/main/jbake/content/jsf-facelets004.adoc +++ b/src/main/jbake/content/jsf-facelets004.adoc @@ -7,9 +7,8 @@ prev=jsf-facelets003.html = Using Facelets Templates -[[GIQXP]] +[[GIQXP]][[using-facelets-templates]] -[[using-facelets-templates]] Using Facelets Templates ------------------------ diff --git a/src/main/jbake/content/jsf-facelets005.adoc b/src/main/jbake/content/jsf-facelets005.adoc index a7794df..47f518b 100644 --- a/src/main/jbake/content/jsf-facelets005.adoc +++ b/src/main/jbake/content/jsf-facelets005.adoc @@ -7,9 +7,8 @@ prev=jsf-facelets004.html = Composite Components -[[GIQZR]] +[[GIQZR]][[composite-components]] -[[composite-components]] Composite Components -------------------- diff --git a/src/main/jbake/content/jsf-facelets006.adoc b/src/main/jbake/content/jsf-facelets006.adoc index 093aa7e..6725b86 100644 --- a/src/main/jbake/content/jsf-facelets006.adoc +++ b/src/main/jbake/content/jsf-facelets006.adoc @@ -7,9 +7,8 @@ prev=jsf-facelets005.html Web Resources ============= -[[GIRGM]] +[[GIRGM]][[web-resources]] -[[web-resources]] Web Resources ------------- diff --git a/src/main/jbake/content/jsf-facelets007.adoc b/src/main/jbake/content/jsf-facelets007.adoc index b6f6c3c..66012e9 100644 --- a/src/main/jbake/content/jsf-facelets007.adoc +++ b/src/main/jbake/content/jsf-facelets007.adoc @@ -7,9 +7,8 @@ prev=jsf-facelets006.html Relocatable Resources ===================== -[[BABHGBJI]] +[[BABHGBJI]][[relocatable-resources]] -[[relocatable-resources]] Relocatable Resources --------------------- diff --git a/src/main/jbake/content/jsf-facelets008.adoc b/src/main/jbake/content/jsf-facelets008.adoc index 9503ad1..3b9e8c8 100644 --- a/src/main/jbake/content/jsf-facelets008.adoc +++ b/src/main/jbake/content/jsf-facelets008.adoc @@ -7,9 +7,8 @@ prev=jsf-facelets007.html Resource Library Contracts ========================== -[[BABHAHDF]] +[[BABHAHDF]][[resource-library-contracts]] -[[resource-library-contracts]] Resource Library Contracts -------------------------- @@ -81,9 +80,8 @@ You can specify the contract usage within an application's You need to use this element only if your application uses more than one contract, however. -[[sthref32]] +[[sthref32]][[the-hello1-rlc-example-application]] -[[the-hello1-rlc-example-application]] The hello1-rlc Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -109,9 +107,8 @@ Using NetBeans IDE] Using Maven] * link:#BABFCHEB[To Run the hello1-rlc Example] -[[BABGEDEB]] +[[BABGEDEB]][[configuring-the-hello1-rlc-example]] -[[configuring-the-hello1-rlc-example]] Configuring the hello1-rlc Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -168,9 +165,8 @@ Because it is not located under `src/main/webapp/reply`, this Facelets page uses the `hello` contract, whereas `src/main/webapp/reply/response.xhtml` uses the `reply` contract. -[[BABDHCFG]] +[[BABDHCFG]][[the-facelets-pages-for-the-hello1-rlc-example]] -[[the-facelets-pages-for-the-hello1-rlc-example]] The Facelets Pages for the hello1-rlc Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -190,9 +186,8 @@ specifies. The `default.css` stylesheets in the two contracts differ in only one respect: the background color specified for the `body` element. -[[BABBGFFF]] +[[BABBGFFF]][[to-build-package-and-deploy-the-hello1-rlc-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-hello1-rlc-example-using-netbeans-ide]] To Build, Package, and Deploy the hello1-rlc Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -214,9 +209,8 @@ Build. This option builds the example application and deploys it to your GlassFish Server instance. -[[BABJAGFB]] +[[BABJAGFB]][[to-build-package-and-deploy-the-hello1-rlc-example-using-maven]] -[[to-build-package-and-deploy-the-hello1-rlc-example-using-maven]] To Build, Package, and Deploy the hello1-rlc Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -240,9 +234,8 @@ This command builds and packages the application into a WAR file, `hello1-rlc.war`, that is located in the `target` directory. It then deploys it to your GlassFish Server instance. -[[BABFCHEB]] +[[BABFCHEB]][[to-run-the-hello1-rlc-example]] -[[to-run-the-hello1-rlc-example]] To Run the hello1-rlc Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jsf-facelets009.adoc b/src/main/jbake/content/jsf-facelets009.adoc index f78077a..ff00d97 100644 --- a/src/main/jbake/content/jsf-facelets009.adoc +++ b/src/main/jbake/content/jsf-facelets009.adoc @@ -7,9 +7,8 @@ prev=jsf-facelets008.html = HTML5-Friendly Markup -[[BABGECCJ]] +[[BABGECCJ]][[html5-friendly-markup]] -[[html5-friendly-markup]] HTML5-Friendly Markup --------------------- @@ -37,9 +36,8 @@ rather than having to pass this control off to component authors. You can mix and match JavaServer Faces and HTML5 components and elements as you see fit. -[[sthref33]] +[[sthref33]][[using-pass-through-elements]] -[[using-pass-through-elements]] Using Pass-Through Elements ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -117,9 +115,8 @@ interprets the markup that the page author has written. |======================================================= -[[sthref35]] +[[sthref35]][[using-pass-through-attributes]] -[[using-pass-through-attributes]] Using Pass-Through Attributes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -204,9 +201,8 @@ public Bean() { } ---- -[[BABGGIAA]] +[[BABGGIAA]][[the-reservation-example-application]] -[[the-reservation-example-application]] The reservation Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -226,9 +222,8 @@ The following topics are addressed here: * link:#BABIHHGC[To Build, Package, and Deploy the reservation Example Using NetBeans IDE] -[[BABGCAHH]] +[[BABGCAHH]][[the-facelets-pages-for-the-reservation-application]] -[[the-facelets-pages-for-the-reservation-application]] The Facelets Pages for the reservation Application ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -325,9 +320,8 @@ The second Facelets page, `confirmation.xhtml`, uses a pass-through a Facelets `h:commandButton` tag to allow the user to return to the `reservation.xhtml` page. -[[BABHFCCG]] +[[BABHFCCG]][[the-managed-bean-for-the-reservation-application]] -[[the-managed-bean-for-the-reservation-application]] The Managed Bean for the reservation Application ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -337,9 +331,8 @@ Facelets pages. It also contains two methods, `calculateTotal` and `clear`, that act as listeners for Ajax events on the `reservation.xhtml` page. -[[BABIHHGC]] +[[BABIHHGC]][[to-build-package-and-deploy-the-reservation-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-reservation-example-using-netbeans-ide]] To Build, Package, and Deploy the reservation Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -361,9 +354,8 @@ select Build. This option builds the example application and deploys it to your GlassFish Server instance. -[[sthref36]] +[[sthref36]][[to-build-package-and-deploy-the-reservation-example-using-maven]] -[[to-build-package-and-deploy-the-reservation-example-using-maven]] To Build, Package, and Deploy the reservation Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -387,9 +379,8 @@ This command builds and packages the application into a WAR file, `reservation.war`, that is located in the `target` directory. It then deploys the WAR file to your GlassFish Server instance. -[[sthref37]] +[[sthref37]][[to-run-the-reservation-example]] -[[to-run-the-reservation-example]] To Run the reservation Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/jsf-intro.adoc b/src/main/jbake/content/jsf-intro.adoc index 9b438fa..b9ebb02 100644 --- a/src/main/jbake/content/jsf-intro.adoc +++ b/src/main/jbake/content/jsf-intro.adoc @@ -7,9 +7,8 @@ prev=webapp006.html JavaServer Faces Technology =========================== -[[BNAPH]] +[[BNAPH]][[javaserver-faces-technology]] -[[javaserver-faces-technology]] 7 JavaServer Faces Technology ----------------------------- diff --git a/src/main/jbake/content/jsf-intro001.adoc b/src/main/jbake/content/jsf-intro001.adoc index d96914a..6c7d3ee 100644 --- a/src/main/jbake/content/jsf-intro001.adoc +++ b/src/main/jbake/content/jsf-intro001.adoc @@ -7,9 +7,8 @@ prev=jsf-intro.html Introduction to JavaServer Faces Technology =========================================== -[[A1073698]] +[[A1073698]][[introduction-to-javaserver-faces-technology]] -[[introduction-to-javaserver-faces-technology]] Introduction to JavaServer Faces Technology ------------------------------------------- diff --git a/src/main/jbake/content/jsf-intro002.adoc b/src/main/jbake/content/jsf-intro002.adoc index 792c1db..2bd9385 100644 --- a/src/main/jbake/content/jsf-intro002.adoc +++ b/src/main/jbake/content/jsf-intro002.adoc @@ -7,9 +7,8 @@ prev=jsf-intro001.html What Is a JavaServer Faces Application? ======================================= -[[BNAPK]] +[[BNAPK]][[what-is-a-javaserver-faces-application]] -[[what-is-a-javaserver-faces-application]] What Is a JavaServer Faces Application? --------------------------------------- diff --git a/src/main/jbake/content/jsf-intro003.adoc b/src/main/jbake/content/jsf-intro003.adoc index a1294c6..a1c99c6 100644 --- a/src/main/jbake/content/jsf-intro003.adoc +++ b/src/main/jbake/content/jsf-intro003.adoc @@ -7,9 +7,8 @@ prev=jsf-intro002.html JavaServer Faces Technology Benefits ==================================== -[[BNAPJ]] +[[BNAPJ]][[javaserver-faces-technology-benefits]] -[[javaserver-faces-technology-benefits]] JavaServer Faces Technology Benefits ------------------------------------ diff --git a/src/main/jbake/content/jsf-intro004.adoc b/src/main/jbake/content/jsf-intro004.adoc index fef0c48..1917c92 100644 --- a/src/main/jbake/content/jsf-intro004.adoc +++ b/src/main/jbake/content/jsf-intro004.adoc @@ -7,9 +7,8 @@ prev=jsf-intro003.html A Simple JavaServer Faces Application ===================================== -[[GJAAM]] +[[GJAAM]][[a-simple-javaserver-faces-application]] -[[a-simple-javaserver-faces-application]] A Simple JavaServer Faces Application ------------------------------------- diff --git a/src/main/jbake/content/jsf-intro005.adoc b/src/main/jbake/content/jsf-intro005.adoc index 8ce402e..b861a2b 100644 --- a/src/main/jbake/content/jsf-intro005.adoc +++ b/src/main/jbake/content/jsf-intro005.adoc @@ -7,9 +7,8 @@ prev=jsf-intro004.html User Interface Component Model ============================== -[[BNAQD]] +[[BNAQD]][[user-interface-component-model]] -[[user-interface-component-model]] User Interface Component Model ------------------------------ @@ -42,9 +41,8 @@ component This section briefly describes each of these pieces of the component architecture. -[[BNAQE]] +[[BNAQE]][[user-interface-component-classes]] -[[user-interface-component-classes]] User Interface Component Classes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -146,9 +144,8 @@ The next section explains how the rendering model works and how page authors can choose to render the components by selecting the appropriate tags. -[[BNAQF]] +[[BNAQF]][[component-rendering-model]] -[[component-rendering-model]] Component Rendering Model ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -194,9 +191,8 @@ illustrates how to use the tags in an example. The JavaServer Faces implementation provides a custom tag library for rendering components in HTML. -[[BNAQI]] +[[BNAQI]][[conversion-model]] -[[conversion-model]] Conversion Model ~~~~~~~~~~~~~~~~ @@ -240,9 +236,8 @@ Faces implementation or create your own custom converter. Custom converter creation is covered in link:jsf-custom.html#BNAVG[Chapter 15, "Creating Custom UI Components and Other Custom Objects"]. -[[GIREH]] +[[GIREH]][[event-and-listener-model]] -[[event-and-listener-model]] Event and Listener Model ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -327,9 +322,8 @@ addition to implementing an event listener class or a managed bean method that handles the event. link:jsf-custom008.html#BNAWD[Handling Events for Custom Components] explains how to do this. -[[BNAQK]] +[[BNAQK]][[validation-model]] -[[validation-model]] Validation Model ~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-intro006.adoc b/src/main/jbake/content/jsf-intro006.adoc index f7b4c2a..ba09d47 100644 --- a/src/main/jbake/content/jsf-intro006.adoc +++ b/src/main/jbake/content/jsf-intro006.adoc @@ -7,9 +7,8 @@ prev=jsf-intro005.html Navigation Model ================ -[[BNAQL]] +[[BNAQL]][[navigation-model]] -[[navigation-model]] Navigation Model ---------------- diff --git a/src/main/jbake/content/jsf-intro007.adoc b/src/main/jbake/content/jsf-intro007.adoc index e2ddb24..25b8f65 100644 --- a/src/main/jbake/content/jsf-intro007.adoc +++ b/src/main/jbake/content/jsf-intro007.adoc @@ -7,9 +7,8 @@ prev=jsf-intro006.html = The Lifecycle of a JavaServer Faces Application -[[BNAQQ]] +[[BNAQQ]][[the-lifecycle-of-a-javaserver-faces-application]] -[[the-lifecycle-of-a-javaserver-faces-application]] The Lifecycle of a JavaServer Faces Application ----------------------------------------------- @@ -39,9 +38,8 @@ two main phases of a JavaServer Faces web application, is introduced in link:jsf-intro004.html#GJAAM[A Simple JavaServer Faces Application]. This section examines the JavaServer Faces lifecycle in more detail. -[[GLPRC]] +[[GLPRC]][[overview-of-the-javaserver-faces-lifecycle]] -[[overview-of-the-javaserver-faces-lifecycle]] Overview of the JavaServer Faces Lifecycle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -134,9 +132,8 @@ following subphases: * link:#BNAQW[Invoke Application Phase] * link:#BNAQX[Render Response Phase] -[[BNAQS]] +[[BNAQS]][[restore-view-phase]] -[[restore-view-phase]] Restore View Phase ~~~~~~~~~~~~~~~~~~ @@ -161,9 +158,8 @@ page already exists in the `FacesContext` instance. During this phase, the JavaServer Faces implementation restores the view by using the state information saved on the client or the server. -[[BNAQT]] +[[BNAQT]][[apply-request-values-phase]] -[[apply-request-values-phase]] Apply Request Values Phase ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -200,9 +196,8 @@ If the current request is identified as a partial request, the partial context is retrieved from the `FacesContext`, and the partial processing method is applied. -[[GJSBP]] +[[GJSBP]][[process-validations-phase]] -[[process-validations-phase]] Process Validations Phase ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -237,9 +232,8 @@ If the current request is identified as a partial request, the partial context is retrieved from the `FacesContext`, and the partial processing method is applied. -[[BNAQV]] +[[BNAQV]][[update-model-values-phase]] -[[update-model-values-phase]] Update Model Values Phase ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -269,9 +263,8 @@ If the current request is identified as a partial request, the partial context is retrieved from the `FacesContext`, and the partial processing method is applied. -[[BNAQW]] +[[BNAQW]][[invoke-application-phase]] -[[invoke-application-phase]] Invoke Application Phase ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -291,9 +284,8 @@ events are broadcast to interested listeners. Finally, the JavaServer Faces implementation transfers control to the Render Response phase. -[[BNAQX]] +[[BNAQX]][[render-response-phase]] -[[render-response-phase]] Render Response Phase ~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-intro008.adoc b/src/main/jbake/content/jsf-intro008.adoc index 259a60f..474cb92 100644 --- a/src/main/jbake/content/jsf-intro008.adoc +++ b/src/main/jbake/content/jsf-intro008.adoc @@ -7,9 +7,8 @@ prev=jsf-intro007.html Partial Processing and Partial Rendering ======================================== -[[GKNOJ]] +[[GKNOJ]][[partial-processing-and-partial-rendering]] -[[partial-processing-and-partial-rendering]] Partial Processing and Partial Rendering ---------------------------------------- diff --git a/src/main/jbake/content/jsf-intro009.adoc b/src/main/jbake/content/jsf-intro009.adoc index 65e9a8f..7622d81 100644 --- a/src/main/jbake/content/jsf-intro009.adoc +++ b/src/main/jbake/content/jsf-intro009.adoc @@ -7,9 +7,8 @@ prev=jsf-intro008.html = Further Information about JavaServer Faces Technology -[[BNAQY]] +[[BNAQY]][[further-information-about-javaserver-faces-technology]] -[[further-information-about-javaserver-faces-technology]] Further Information about JavaServer Faces Technology ----------------------------------------------------- diff --git a/src/main/jbake/content/jsf-page-core.adoc b/src/main/jbake/content/jsf-page-core.adoc index a63d411..e7961e1 100644 --- a/src/main/jbake/content/jsf-page-core.adoc +++ b/src/main/jbake/content/jsf-page-core.adoc @@ -7,9 +7,8 @@ prev=jsf-page003.html Using Converters, Listeners, and Validators =========================================== -[[GJCUT]] +[[GJCUT]][[using-converters-listeners-and-validators]] -[[using-converters-listeners-and-validators]] 11 Using Converters, Listeners, and Validators ---------------------------------------------- diff --git a/src/main/jbake/content/jsf-page-core001.adoc b/src/main/jbake/content/jsf-page-core001.adoc index 9b20f54..99f9569 100644 --- a/src/main/jbake/content/jsf-page-core001.adoc +++ b/src/main/jbake/content/jsf-page-core001.adoc @@ -7,9 +7,8 @@ prev=jsf-page-core.html = Using the Standard Converters -[[BNAST]] +[[BNAST]][[using-the-standard-converters]] -[[using-the-standard-converters]] Using the Standard Converters ----------------------------- @@ -75,9 +74,8 @@ see link:#BNASX[Using NumberConverter]. The following section explains how to convert a component's value, including how to register other standard converters with a component. -[[BNASU]] +[[BNASU]][[converting-a-components-value]] -[[converting-a-components-value]] Converting a Component's Value ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -139,9 +137,8 @@ You can also create custom converters and register them on components using the `f:converter` tag. For details, see link:jsf-custom011.html#BNAUS[Creating and Using a Custom Converter]. -[[BNASV]] +[[BNASV]][[using-datetimeconverter]] -[[using-datetimeconverter]] Using DateTimeConverter ~~~~~~~~~~~~~~~~~~~~~~~ @@ -290,9 +287,8 @@ See link:#CFHEABEI[Table 11-3] for additional information. |======================================================================= -[[BNASX]] +[[BNASX]][[using-numberconverter]] -[[using-numberconverter]] Using NumberConverter ~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-page-core002.adoc b/src/main/jbake/content/jsf-page-core002.adoc index 7732d04..379067b 100644 --- a/src/main/jbake/content/jsf-page-core002.adoc +++ b/src/main/jbake/content/jsf-page-core002.adoc @@ -7,9 +7,8 @@ prev=jsf-page-core001.html = Registering Listeners on Components -[[BNASZ]] +[[BNASZ]][[registering-listeners-on-components]] -[[registering-listeners-on-components]] Registering Listeners on Components ----------------------------------- @@ -33,9 +32,8 @@ listener and a `BookChange` action listener implementation on components. The Duke's Bookstore case study includes both of these listeners. -[[BNATA]] +[[BNATA]][[registering-a-value-change-listener-on-a-component]] -[[registering-a-value-change-listener-on-a-component]] Registering a Value-Change Listener on a Component ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -93,9 +91,8 @@ similar way to the `binding` attribute supported by the standard converter tags. See link:jsf-custom013.html#BNATG[Binding Component Values and Instances to Managed Bean Properties] for more information. -[[BNATB]] +[[BNATB]][[registering-an-action-listener-on-a-component]] -[[registering-an-action-listener-on-a-component]] Registering an Action Listener on a Component ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-page-core003.adoc b/src/main/jbake/content/jsf-page-core003.adoc index 6d05d1e..b2b77db 100644 --- a/src/main/jbake/content/jsf-page-core003.adoc +++ b/src/main/jbake/content/jsf-page-core003.adoc @@ -7,9 +7,8 @@ prev=jsf-page-core002.html = Using the Standard Validators -[[BNATC]] +[[BNATC]][[using-the-standard-validators]] -[[using-the-standard-validators]] Using the Standard Validators ----------------------------- @@ -94,9 +93,8 @@ You can also create and register custom validators, although Bean Validation has made this feature less useful. For details, see link:jsf-custom012.html#BNAUW[Creating and Using a Custom Validator]. -[[BNATE]] +[[BNATE]][[validating-a-components-value]] -[[validating-a-components-value]] Validating a Component's Value ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -125,9 +123,8 @@ Keep in mind that validation can be performed only on components that implement `EditableValueHolder`, because these components accept values that can be validated. -[[BNATF]] +[[BNATF]][[using-validator-tags]] -[[using-validator-tags]] Using Validator Tags ~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-page-core004.adoc b/src/main/jbake/content/jsf-page-core004.adoc index e97c410..be3a8cd 100644 --- a/src/main/jbake/content/jsf-page-core004.adoc +++ b/src/main/jbake/content/jsf-page-core004.adoc @@ -7,9 +7,8 @@ prev=jsf-page-core003.html = Referencing a Managed Bean Method -[[BNATN]] +[[BNATN]][[referencing-a-managed-bean-method]] -[[referencing-a-managed-bean-method]] Referencing a Managed Bean Method --------------------------------- @@ -59,9 +58,8 @@ void validate(javax.faces.context.FacesContext, The following sections give examples of how to use the attributes. -[[BNATP]] +[[BNATP]][[referencing-a-method-that-performs-navigation]] -[[referencing-a-method-that-performs-navigation]] Referencing a Method That Performs Navigation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -86,9 +84,8 @@ The following example shows how to reference a navigation method: See link:jsf-develop003.html#BNAVC[Writing a Method to Handle Navigation] for information on how to write such a method. -[[BNATQ]] +[[BNATQ]][[referencing-a-method-that-handles-an-action-event]] -[[referencing-a-method-that-handles-an-action-event]] Referencing a Method That Handles an Action Event ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -111,9 +108,8 @@ link rendered by this component. See link:jsf-develop003.html#BNAVD[Writing a Method to Handle an Action Event] for information on how to write such a method. -[[BNATR]] +[[BNATR]][[referencing-a-method-that-performs-validation]] -[[referencing-a-method-that-performs-validation]] Referencing a Method That Performs Validation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -141,9 +137,8 @@ value is within the valid range, which changes each time another guess is made. See link:jsf-develop003.html#BNAVE[Writing a Method to Perform Validation] for information on how to write such a method. -[[BNATS]] +[[BNATS]][[referencing-a-method-that-handles-a-value-change-event]] -[[referencing-a-method-that-handles-a-value-change-event]] Referencing a Method That Handles a Value-Change Event ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-page.adoc b/src/main/jbake/content/jsf-page.adoc index 6dcfa16..5aaba6f 100644 --- a/src/main/jbake/content/jsf-page.adoc +++ b/src/main/jbake/content/jsf-page.adoc @@ -7,9 +7,8 @@ prev=jsf-el008.html Using JavaServer Faces Technology in Web Pages ============================================== -[[BNAQZ]] +[[BNAQZ]][[using-javaserver-faces-technology-in-web-pages]] -[[using-javaserver-faces-technology-in-web-pages]] 10 Using JavaServer Faces Technology in Web Pages ------------------------------------------------- diff --git a/src/main/jbake/content/jsf-page001.adoc b/src/main/jbake/content/jsf-page001.adoc index c03d7a6..fa14a18 100644 --- a/src/main/jbake/content/jsf-page001.adoc +++ b/src/main/jbake/content/jsf-page001.adoc @@ -7,9 +7,8 @@ prev=jsf-page.html Setting Up a Page ================= -[[BNARB]] +[[BNARB]][[setting-up-a-page]] -[[setting-up-a-page]] Setting Up a Page ----------------- diff --git a/src/main/jbake/content/jsf-page002.adoc b/src/main/jbake/content/jsf-page002.adoc index 219e283..a5a7c09 100644 --- a/src/main/jbake/content/jsf-page002.adoc +++ b/src/main/jbake/content/jsf-page002.adoc @@ -7,9 +7,8 @@ prev=jsf-page001.html = Adding Components to a Page Using HTML Tag Library Tags -[[BNARF]] +[[BNARF]][[adding-components-to-a-page-using-html-tag-library-tags]] -[[adding-components-to-a-page-using-html-tag-library-tags]] Adding Components to a Page Using HTML Tag Library Tags ------------------------------------------------------- @@ -127,9 +126,8 @@ particular component or its value. For reference information about the tags and their attributes, see the olink:JSFTL[JavaServer Faces Facelets Tag Library documentation]. -[[BNARG]] +[[BNARG]][[common-component-tag-attributes]] -[[common-component-tag-attributes]] Common Component Tag Attributes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -172,9 +170,8 @@ the EL, described in link:jsf-el.html#GJDDD[Expression Language]. An attribute such as `rendered` or `value` can be set on the page and then modified in the backing bean for the page. -[[BNARH]] +[[BNARH]][[the-id-attribute]] -[[the-id-attribute]] The id Attribute ^^^^^^^^^^^^^^^^ @@ -188,9 +185,8 @@ link:jsf-el002.html#BNAHS[Immediate Evaluation], which uses the `${}` delimiters. For more information on expression syntax, see link:jsf-el003.html#BNAHV[Value Expressions]. -[[BNARI]] +[[BNARI]][[the-immediate-attribute]] -[[the-immediate-attribute]] The immediate Attribute ^^^^^^^^^^^^^^^^^^^^^^^ @@ -260,9 +256,8 @@ entered into the `quantity` input fields will be processed. If you click the Update Quantities hyperlink, the values in the `quantity` fields will be updated in the shopping cart. -[[BNARJ]] +[[BNARJ]][[the-rendered-attribute]] -[[the-rendered-attribute]] The rendered Attribute ^^^^^^^^^^^^^^^^^^^^^^ @@ -305,9 +300,8 @@ Web Applications"]. |======================================================================= -[[BNARK]] +[[BNARK]][[the-style-and-styleclass-attributes]] -[[the-style-and-styleclass-attributes]] The style and styleClass Attributes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -334,9 +328,8 @@ be included in the application. For more information on defining styles, see the Cascading Style Sheets specifications and drafts at `http://www.w3.org/Style/CSS/`. -[[BNARL]] +[[BNARL]][[the-value-and-binding-attributes]] -[[the-value-and-binding-attributes]] The value and binding Attributes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -350,9 +343,8 @@ link:jsf-develop002.html#BNATZ[Writing Properties Bound to Component Values], and link:jsf-develop002.html#BNAUK[Writing Properties Bound to Component Instances]. -[[GJDGQ]] +[[GJDGQ]][[adding-html-head-and-body-tags]] -[[adding-html-head-and-body-tags]] Adding HTML Head and Body Tags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -403,9 +395,8 @@ relocation. For more information on resource relocation, see link:#GJGEP[Resource Relocation Using h:outputScript and h:outputStylesheet Tags]. -[[BNARM]] +[[BNARM]][[adding-a-form-component]] -[[adding-a-form-component]] Adding a Form Component ~~~~~~~~~~~~~~~~~~~~~~~ @@ -441,9 +432,8 @@ can be used by other components in the form. A page can include multiple `h:form` tags, but only the values from the form submitted by the user will be included in the postback request. -[[BNARO]] +[[BNARO]][[using-text-components]] -[[using-text-components]] Using Text Components ~~~~~~~~~~~~~~~~~~~~~ @@ -580,9 +570,8 @@ The rest of this section explains how to use some of the tags listed in link:#BNARQ[Table 10-3] and link:#GJFWE[Output Tags]. The other tags are written in a similar way. -[[BNARR]] +[[BNARR]][[rendering-a-field-with-the-hinputtext-tag]] -[[rendering-a-field-with-the-hinputtext-tag]] Rendering a Field with the h:inputText Tag ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -632,9 +621,8 @@ validators must handle the possibility of a null or zero-length string. See link:bean-validation003.html#GKCRG[Validating Null and Empty Strings] for more information. -[[BNARV]] +[[BNARV]][[rendering-a-password-field-with-the-hinputsecret-tag]] -[[rendering-a-password-field-with-the-hinputsecret-tag]] Rendering a Password Field with the h:inputSecret Tag ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -652,9 +640,8 @@ In this example, the `redisplay` attribute is set to `false`. This will prevent the password from being displayed in a query string or in the source file of the resulting HTML page. -[[BNARS]] +[[BNARS]][[rendering-a-label-with-the-houtputlabel-tag]] -[[rendering-a-label-with-the-houtputlabel-tag]] Rendering a Label with the h:outputLabel Tag ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -704,9 +691,8 @@ specify the text of the label: ... ---- -[[BNART]] +[[BNART]][[rendering-a-link-with-the-houtputlink-tag]] -[[rendering-a-link-with-the-houtputlink-tag]] Rendering a Link with the h:outputLink Tag ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -727,9 +713,8 @@ Here is an example: The text in the body of the `h:outputLink` tag identifies the text that the user clicks to get to the next page. -[[BNARU]] +[[BNARU]][[displaying-a-formatted-message-with-the-houtputformat-tag]] -[[displaying-a-formatted-message-with-the-houtputformat-tag]] Displaying a Formatted Message with the h:outputFormat Tag ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -782,9 +767,8 @@ expression. The message displayed in the page is now as follows: Hello, Bill! You are visitor number 10 to the page. ---- -[[BNARW]] +[[BNARW]][[using-command-component-tags-for-performing-actions-and-navigation]] -[[using-command-component-tags-for-performing-actions-and-navigation]] Using Command Component Tags for Performing Actions and Navigation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -814,9 +798,8 @@ Navigation] for more information on using the `action` attribute. See link:jsf-page-core004.html#BNATQ[Referencing a Method That Handles an Action Event] for details on using the `actionListener` attribute. -[[BNARX]] +[[BNARX]][[rendering-a-button-with-the-hcommandbutton-tag]] -[[rendering-a-button-with-the-hcommandbutton-tag]] Rendering a Button with the h:commandButton Tag ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -839,9 +822,8 @@ the button's label. For information on how to use the `action` attribute, see link:jsf-page-core004.html#BNATP[Referencing a Method That Performs Navigation]. -[[GKBUJ]] +[[GKBUJ]][[rendering-a-link-with-the-hcommandlink-tag]] -[[rendering-a-link-with-the-hcommandlink-tag]] Rendering a Link with the h:commandLink Tag ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -884,9 +866,8 @@ technology. |======================================================================= -[[BNASB]] +[[BNASB]][[adding-graphics-and-images-with-the-hgraphicimage-tag]] -[[adding-graphics-and-images-with-the-hgraphicimage-tag]] Adding Graphics and Images with the h:graphicImage Tag ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -931,9 +912,8 @@ header { ... ---- -[[BNASC]] +[[BNASC]][[laying-out-components-with-the-hpanelgrid-and-hpanelgroup-tags]] -[[laying-out-components-with-the-hpanelgrid-and-hpanelgroup-tags]] Laying Out Components with the h:panelGrid and h:panelGroup Tags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1059,9 +1039,8 @@ the page modulo 2. So, if a component is the fifth one in the list of components, that component will be in the 5 modulo 2 column, or column 1. -[[BNASE]] +[[BNASE]][[displaying-components-for-selecting-one-value]] -[[displaying-components-for-selecting-one-value]] Displaying Components for Selecting One Value ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1083,9 +1062,8 @@ link:#BNASF[Figure 10-3] shows examples of these components. image:img/javaeett_dt_067_slctn.png[ "Options, check box, and lists."] -[[BNASG]] +[[BNASG]][[displaying-a-check-box-using-the-hselectbooleancheckbox-tag]] -[[displaying-a-check-box-using-the-hselectbooleancheckbox-tag]] Displaying a Check Box Using the h:selectBooleanCheckbox Tag ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1114,9 +1092,8 @@ allow users to indicate whether they want to join the Duke Fan Club. When the `h:outputLabel` tag is rendered, it displays the label for the check box. The label text is represented by the `value` attribute. -[[BNASH]] +[[BNASH]][[displaying-a-menu-using-the-hselectonemenu-tag]] -[[displaying-a-menu-using-the-hselectonemenu-tag]] Displaying a Menu Using the h:selectOneMenu Tag ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1159,9 +1136,8 @@ either an `f:selectItems` tag or a set of `f:selectItem` tags for representing the items in the list. link:#BNASK[Using the f:selectItem and f:selectItems Tags] describes these tags. -[[BNASI]] +[[BNASI]][[displaying-components-for-selecting-multiple-values]] -[[displaying-components-for-selecting-multiple-values]] Displaying Components for Selecting Multiple Values ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1223,9 +1199,8 @@ use the `f:selectItems` tag. To represent each item individually, you use the `f:selectItem` tag. The following section explains these tags in more detail. -[[BNASK]] +[[BNASK]][[using-the-fselectitem-and-fselectitems-tags]] -[[using-the-fselectitem-and-fselectitems-tags]] Using the f:selectItem and f:selectItems Tags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1256,9 +1231,8 @@ properties. The rest of this section shows you how to use the `f:selectItems` and `f:selectItem` tags. -[[BNASM]] +[[BNASM]][[using-the-fselectitems-tag]] -[[using-the-fselectitems-tag]] Using the f:selectItems Tag ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1283,9 +1257,8 @@ See link:jsf-develop002.html#BNAUH[UISelectItems Properties] for information on how to write a managed bean property for one of these tags. -[[BNASN]] +[[BNASN]][[using-the-fselectitem-tag]] -[[using-the-fselectitem-tag]] Using the f:selectItem Tag ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1316,9 +1289,8 @@ meaning that they can use value-binding expressions to refer to values in external objects. These attributes can also define literal values, as shown in the example `h:selectOneMenu` tag. -[[sthref50]] +[[sthref50]][[displaying-the-results-from-selection-components]] -[[displaying-the-results-from-selection-components]] Displaying the Results from Selection Components ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1360,9 +1332,8 @@ array is not empty. Then a `ui:repeat` tag, a simple way to show values in a loop, displays the contents of the selected items in an itemized list. (This tag is listed in link:jsf-facelets004.html#GJBFP[Table 8-2].) -[[BNARZ]] +[[BNARZ]][[using-data-bound-table-components]] -[[using-data-bound-table-components]] Using Data-Bound Table Components ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1541,9 +1512,8 @@ from the first column or row. Similarly, if the style attribute specifies fewer styles than there are columns or rows, the remaining columns or rows will be assigned styles starting from the first style. -[[BNASO]] +[[BNASO]][[displaying-error-messages-with-the-hmessage-and-hmessages-tags]] -[[displaying-error-messages-with-the-hmessage-and-hmessages-tags]] Displaying Error Messages with the h:message and h:messages Tags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1610,9 +1580,8 @@ standard validators. An application architect can override these standard messages and supply error messages for custom converters and validators by registering custom error messages with the application. -[[GIQZD]] +[[GIQZD]][[creating-bookmarkable-urls-with-the-hbutton-and-hlink-tags]] -[[creating-bookmarkable-urls-with-the-hbutton-and-hlink-tags]] Creating Bookmarkable URLs with the h:button and h:link Tags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1655,9 +1624,8 @@ This is a simple GET request that cannot pass any data from page to page. To create more complex GET requests and utilize the complete functionality of the `h:link` tag, use view parameters. -[[GIQWQ]] +[[GIQWQ]][[using-view-parameters-to-configure-bookmarkable-urls]] -[[using-view-parameters-to-configure-bookmarkable-urls]] Using View Parameters to Configure Bookmarkable URLs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1724,9 +1692,8 @@ parameter values are read is as follows: 2. Navigation-case parameters 3. View parameters -[[sthref52]] +[[sthref52]][[the-bookmarks-example-application]] -[[the-bookmarks-example-application]] The bookmarks Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1753,9 +1720,8 @@ Using NetBeans IDE] Using Maven] * link:#CHDGEBCB[To Run the bookmarks Example] -[[CHDIEHEB]] +[[CHDIEHEB]][[to-build-package-and-deploy-the-bookmarks-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-bookmarks-example-using-netbeans-ide]] To Build, Package, and Deploy the bookmarks Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1777,9 +1743,8 @@ Build. This option builds the example application and deploys it to your GlassFish Server instance. -[[CHDEFJEF]] +[[CHDEFJEF]][[to-build-package-and-deploy-the-bookmarks-example-using-maven]] -[[to-build-package-and-deploy-the-bookmarks-example-using-maven]] To Build, Package, and Deploy the bookmarks Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1803,9 +1768,8 @@ This command builds and packages the application into a WAR file, `bookmarks.war`, that is located in the `target` directory. It then deploys the WAR file to your GlassFish Server instance. -[[CHDGEBCB]] +[[CHDGEBCB]][[to-run-the-bookmarks-example]] -[[to-run-the-bookmarks-example]] To Run the bookmarks Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1826,9 +1790,8 @@ Return. + The name in the greeting changes to what you typed. -[[GJGEP]] +[[GJGEP]][[resource-relocation-using-houtputscript-and-houtputstylesheet-tags]] -[[resource-relocation-using-houtputscript-and-houtputstylesheet-tags]] Resource Relocation Using h:outputScript and h:outputStylesheet Tags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/jsf-page003.adoc b/src/main/jbake/content/jsf-page003.adoc index 4aec9a7..f65fd4d 100644 --- a/src/main/jbake/content/jsf-page003.adoc +++ b/src/main/jbake/content/jsf-page003.adoc @@ -7,9 +7,8 @@ prev=jsf-page002.html = Using Core Tags -[[BNARC]] +[[BNARC]][[using-core-tags]] -[[using-core-tags]] Using Core Tags --------------- diff --git a/src/main/jbake/content/jsf-ws002.adoc b/src/main/jbake/content/jsf-ws002.adoc index cb96728..198721f 100644 --- a/src/main/jbake/content/jsf-ws002.adoc +++ b/src/main/jbake/content/jsf-ws002.adoc @@ -37,7 +37,7 @@ to explicitly specify the port: [[websocket-usage-client-side]] WebSocket Usage: Client Side -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Declare the `f:websocket tag` in the JSF view with a channel name and an `onmessage` JavaScript listener function. @@ -79,7 +79,7 @@ the document is unloaded. [[websocket-usage-server-side]] WebSocket Usage: Server Side -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ On the Java programming side, inject a `PushContext` using the `@Push` annotation on the given channel in any CDI or container managed artifact, such as `@Named`, diff --git a/src/main/jbake/content/jsf-ws005.adoc b/src/main/jbake/content/jsf-ws005.adoc index a8be5c3..b8836fb 100644 --- a/src/main/jbake/content/jsf-ws005.adoc +++ b/src/main/jbake/content/jsf-ws005.adoc @@ -48,7 +48,7 @@ function someWebsocketListener(message) { [[websocket-events-server]] WebSocket Events: Server -~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~ When a session or view-scoped socket is automatically closed with close reason code `1000` by the server (and thus, not manually closed by the client diff --git a/src/main/jbake/content/jsonb003.adoc b/src/main/jbake/content/jsonb003.adoc index 59a2f3e..013f80f 100644 --- a/src/main/jbake/content/jsonb003.adoc +++ b/src/main/jbake/content/jsonb003.adoc @@ -27,7 +27,7 @@ The following topics are addressed here: [[components-of-the-jsonbbasics-example-application]] Components of the jsonbbasics Example Application -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The `jsonbbasics` example application contains the following files. @@ -48,7 +48,7 @@ uses the JSON Binding API. [[running-the-jsonbbasics-example-application]] Running the jsonbbasics Example Application -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This section describes how to run the `jsonbbasics` example application from the command line using Maven. diff --git a/src/main/jbake/content/overview.adoc b/src/main/jbake/content/overview.adoc index 3f81b45..9cc5e1b 100644 --- a/src/main/jbake/content/overview.adoc +++ b/src/main/jbake/content/overview.adoc @@ -7,9 +7,8 @@ prev=partintro.html Overview ======== -[[BNAAW]] +[[BNAAW]][[overview]] -[[overview]] 1 Overview ---------- diff --git a/src/main/jbake/content/overview001.adoc b/src/main/jbake/content/overview001.adoc index 10eae3b..d8425c0 100644 --- a/src/main/jbake/content/overview001.adoc +++ b/src/main/jbake/content/overview001.adoc @@ -7,9 +7,8 @@ prev=overview.html Introduction to Java EE ======================= -[[A1046550]] +[[A1046550]][[introduction-to-java-ee]] -[[introduction-to-java-ee]] Introduction to Java EE ----------------------- diff --git a/src/main/jbake/content/overview002.adoc b/src/main/jbake/content/overview002.adoc index 3c43200..ab9ccd4 100644 --- a/src/main/jbake/content/overview002.adoc +++ b/src/main/jbake/content/overview002.adoc @@ -7,9 +7,8 @@ prev=overview001.html = Java EE 8 Platform Highlights -[[GIQVH]] +[[GIQVH]][[java-ee-8-platform-highlights]] -[[java-ee-8-platform-highlights]] Java EE 8 Platform Highlights ----------------------------- diff --git a/src/main/jbake/content/overview003.adoc b/src/main/jbake/content/overview003.adoc index e70b2b7..24da801 100644 --- a/src/main/jbake/content/overview003.adoc +++ b/src/main/jbake/content/overview003.adoc @@ -7,9 +7,8 @@ prev=overview002.html Java EE Application Model ========================= -[[BNAAX]] +[[BNAAX]][[java-ee-application-model]] -[[java-ee-application-model]] Java EE Application Model ------------------------- diff --git a/src/main/jbake/content/overview004.adoc b/src/main/jbake/content/overview004.adoc index 49ea7b3..3fc57e3 100644 --- a/src/main/jbake/content/overview004.adoc +++ b/src/main/jbake/content/overview004.adoc @@ -7,9 +7,8 @@ prev=overview003.html Distributed Multitiered Applications ==================================== -[[BNAAY]] +[[BNAAY]][[distributed-multitiered-applications]] -[[distributed-multitiered-applications]] Distributed Multitiered Applications ------------------------------------ @@ -47,9 +46,8 @@ image:img/javaeett_dt_001.png[ "Diagram of multitiered application structure, including client tier, web tier, business tier, and EIS tier."] -[[BNABA]] +[[BNABA]][[security]] -[[security]] Security ~~~~~~~~ @@ -67,9 +65,8 @@ mechanisms so that application developers do not have to implement these mechanisms in their applications. The same application works in a variety of security environments without changing the source code. -[[BNABB]] +[[BNABB]][[java-ee-components]] -[[java-ee-components]] Java EE Components ~~~~~~~~~~~~~~~~~~ @@ -94,18 +91,16 @@ to be well formed and in compliance with the Java EE specification, and they are deployed to production, where they are run and managed by the Java EE server. -[[BNABC]] +[[BNABC]][[java-ee-clients]] -[[java-ee-clients]] Java EE Clients ~~~~~~~~~~~~~~~ A Java EE client is usually either a web client or an application client. -[[BNABD]] +[[BNABD]][[web-clients]] -[[web-clients]] Web Clients ^^^^^^^^^^^ @@ -123,9 +118,8 @@ operations are off-loaded to enterprise beans executing on the Java EE server, where they can leverage the security, speed, services, and reliability of Java EE server-side technologies. -[[BNABF]] +[[BNABF]][[application-clients]] -[[application-clients]] Application Clients ^^^^^^^^^^^^^^^^^^^ @@ -144,9 +138,8 @@ clients written in languages other than Java can interact with Java EE servers, enabling the Java EE platform to interoperate with legacy systems, clients, and non-Java languages. -[[BNABE]] +[[BNABE]][[applets]] -[[applets]] Applets ^^^^^^^ @@ -165,9 +158,8 @@ programming from web page design. Personnel involved in web page design thus do not need to understand Java programming language syntax to do their jobs. -[[BNABG]] +[[BNABG]][[the-javabeans-component-architecture]] -[[the-javabeans-component-architecture]] The JavaBeans Component Architecture ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -188,9 +180,8 @@ are typically simple in design and implementation but should conform to the naming and design conventions outlined in the JavaBeans component architecture. -[[BNABH]] +[[BNABH]][[java-ee-server-communications]] -[[java-ee-server-communications]] Java EE Server Communications ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -208,9 +199,8 @@ image:img/javaeett_dt_002.png[ business tier directly. Browsers, web pages, and applets access the web tier."] -[[BNABJ]] +[[BNABJ]][[web-components]] -[[web-components]] Web Components ~~~~~~~~~~~~~~ @@ -240,9 +230,8 @@ image:img/javaeett_dt_003.png[ "Diagram of client-server communication showing detail of JavaBeans components and web pages in the web tier."] -[[BNABK]] +[[BNABK]][[business-components]] -[[business-components]] Business Components ~~~~~~~~~~~~~~~~~~~ @@ -262,9 +251,8 @@ image:img/javaeett_dt_004.png[ "Diagram of client-server communication showing detail of entities, session beans, and message-driven beans in the business tier."] -[[BNABL]] +[[BNABL]][[enterprise-information-system-tier]] -[[enterprise-information-system-tier]] Enterprise Information System Tier ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/overview005.adoc b/src/main/jbake/content/overview005.adoc index ce53749..f0f6e4a 100644 --- a/src/main/jbake/content/overview005.adoc +++ b/src/main/jbake/content/overview005.adoc @@ -7,9 +7,8 @@ prev=overview004.html Java EE Containers ================== -[[BNABO]] +[[BNABO]][[java-ee-containers]] -[[java-ee-containers]] Java EE Containers ------------------ @@ -24,9 +23,8 @@ component type. Because you do not have to develop these services yourself, you are free to concentrate on solving the business problem at hand. -[[BNABP]] +[[BNABP]][[container-services]] -[[container-services]] Container Services ~~~~~~~~~~~~~~~~~~ @@ -68,9 +66,8 @@ bean and servlet lifecycles, database connection resource pooling, data persistence, and access to the Java EE platform APIs (see link:overview008.html#BNACJ[Java EE 8 APIs]). -[[BNABQ]] +[[BNABQ]][[container-types]] -[[container-types]] Container Types ~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/overview006.adoc b/src/main/jbake/content/overview006.adoc index 87c90da..4ba0468 100644 --- a/src/main/jbake/content/overview006.adoc +++ b/src/main/jbake/content/overview006.adoc @@ -7,9 +7,8 @@ prev=overview005.html Web Services Support ==================== -[[BNABS]] +[[BNABS]][[web-services-support]] -[[web-services-support]] Web Services Support -------------------- @@ -39,9 +38,8 @@ the like. The next section introduces XML and explains how parties doing business can use XML tags and schemas to exchange data in a meaningful way. -[[BNABT]] +[[BNABT]][[xml]] -[[xml]] XML ~~~ @@ -64,9 +62,8 @@ to create a marketing presentation. * Another company might read the XML pricing information into an application for processing. -[[BNABU]] +[[BNABU]][[soap-transport-protocol]] -[[soap-transport-protocol]] SOAP Transport Protocol ~~~~~~~~~~~~~~~~~~~~~~~ @@ -87,9 +84,8 @@ application-defined data types within the message * Defines an XML-based convention for representing the request to the remote service and the resulting response -[[BNABV]] +[[BNABV]][[wsdl-standard-format]] -[[wsdl-standard-format]] WSDL Standard Format ~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/overview007.adoc b/src/main/jbake/content/overview007.adoc index 63a8895..f5c181f 100644 --- a/src/main/jbake/content/overview007.adoc +++ b/src/main/jbake/content/overview007.adoc @@ -7,9 +7,8 @@ prev=overview006.html Java EE Application Assembly and Deployment =========================================== -[[BNABX]] +[[BNABX]][[java-ee-application-assembly-and-deployment]] -[[java-ee-application-assembly-and-deployment]] Java EE Application Assembly and Deployment ------------------------------------------- diff --git a/src/main/jbake/content/overview008.adoc b/src/main/jbake/content/overview008.adoc index b25f9d5..ec68e27 100644 --- a/src/main/jbake/content/overview008.adoc +++ b/src/main/jbake/content/overview008.adoc @@ -7,9 +7,8 @@ prev=overview007.html = Java EE APIs -[[BNACJ]] +[[BNACJ]][[java-ee-apis]] -[[java-ee-apis]] Java EE APIs ------------ @@ -54,9 +53,8 @@ image:img/javaeett_dt_009.png[ The following sections give a brief summary of the technologies required by the Java EE platform and the APIs used in Java EE applications. -[[BNACL]] +[[BNACL]][[enterprise-javabeans-technology]] -[[enterprise-javabeans-technology]] Enterprise JavaBeans Technology ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -78,9 +76,8 @@ The Java EE 8 platform requires Enterprise JavaBeans 3.2 and Interceptors 1.2. The Interceptors specification is part of the EJB specification. -[[BNACM]] +[[BNACM]][[java-servlet-technology]] -[[java-servlet-technology]] Java Servlet Technology ~~~~~~~~~~~~~~~~~~~~~~~ @@ -98,9 +95,8 @@ the following: The Java EE 8 platform requires Servlet 4.0 -[[BNACP]] +[[BNACP]][[javaserver-faces-technology]] -[[javaserver-faces-technology]] JavaServer Faces Technology ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -141,9 +137,8 @@ Language 3.0. For an excellent summary of what's new in JSF 2.3, see `https://javaserverfaces.github.io/users.html`. -[[BNACN]] +[[BNACN]][[javaserver-pages-technology]] -[[javaserver-pages-technology]] JavaServer Pages Technology ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -162,9 +157,8 @@ The Java EE 8 platform requires JavaServer Pages 2.3 for compatibility with earlier releases but recommends the use of Facelets as the display technology in new applications. -[[BNACO]] +[[BNACO]][[javaserver-pages-standard-tag-library]] -[[javaserver-pages-standard-tag-library]] JavaServer Pages Standard Tag Library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -181,9 +175,8 @@ accessing databases using SQL, and tags for commonly used functions. The Java EE 8 platform requires JSTL 1.2. -[[BNADB]] +[[BNADB]][[java-persistence-api]] -[[java-persistence-api]] Java Persistence API ~~~~~~~~~~~~~~~~~~~~ @@ -200,9 +193,8 @@ consists of the following areas: The Java EE 8 platform requires Java Persistence API 2.2. -[[BNACR]] +[[BNACR]][[java-transaction-api]] -[[java-transaction-api]] Java Transaction API ~~~~~~~~~~~~~~~~~~~~ @@ -218,9 +210,8 @@ back, and commits. The Java EE 8 platform requires Java Transaction API 1.2. -[[GIRBT]] +[[GIRBT]][[java-api-for-restful-web-services]] -[[java-api-for-restful-web-services]] Java API for RESTful Web Services ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -242,9 +233,8 @@ Clients may subscribe to server-issued event notifications using a long-running The Java EE 8 platform requires JAX-RS 2.1. -[[GJXSD]] +[[GJXSD]][[managed-beans]] -[[managed-beans]] Managed Beans ~~~~~~~~~~~~~ @@ -259,9 +249,8 @@ The Managed Beans specification is part of the Java EE 8 platform specification (JSR 366). The Java EE 8 platform requires Managed Beans 1.0. -[[GJXVO]] +[[GJXVO]][[contexts-and-dependency-injection-for-java-ee]] -[[contexts-and-dependency-injection-for-java-ee]] Contexts and Dependency Injection for Java EE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -282,9 +271,8 @@ In the Java EE 8 platform, new CDI features include the following: The Java EE 8 platform requires CDI 2.0. -[[GJXVG]] +[[GJXVG]][[dependency-injection-for-java]] -[[dependency-injection-for-java]] Dependency Injection for Java ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -297,9 +285,8 @@ application. The Java EE 8 platform requires Dependency Injection for Java 1.0. -[[GJXTY]] +[[GJXTY]][[bean-validation]] -[[bean-validation]] Bean Validation ~~~~~~~~~~~~~~~ @@ -317,9 +304,8 @@ In the Java EE 8 platform, new Bean Validation features include the following: The Java EE 8 platform requires Bean Validation 2.0. -[[BNACQ]] +[[BNACQ]][[java-message-service-api]] -[[java-message-service-api]] Java Message Service API ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -330,9 +316,8 @@ reliable, and asynchronous. The Java EE 8 platform requires JMS 2.0. -[[BNACZ]] +[[BNACZ]][[java-ee-connector-architecture]] -[[java-ee-connector-architecture]] Java EE Connector Architecture ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -357,9 +342,8 @@ and end-to-end business integration. The Java EE 8 platform requires Java EE Connector Architecture 1.7. -[[BNACS]] +[[BNACS]][[javamail-api]] -[[javamail-api]] JavaMail API ~~~~~~~~~~~~ @@ -375,9 +359,8 @@ that allows application components to send Internet mail. The Java EE 8 platform requires JavaMail 1.6. -[[GIRBE]] +[[GIRBE]][[java-authorization-contract-for-containers]] -[[java-authorization-contract-for-containers]] Java Authorization Contract for Containers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -396,9 +379,8 @@ of roles. The Java EE 8 platform requires JACC 1.5. -[[GIRGP]] +[[GIRGP]][[java-authentication-service-provider-interface-for-containers]] -[[java-authentication-service-provider-interface-for-containers]] Java Authentication Service Provider Interface for Containers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -445,9 +427,8 @@ for default group-to-role mapping, and defines a principal type called The Java EE 8 platform requires Java EE Security API 1.0. -[[CJAHDJBJ]] +[[CJAHDJBJ]][[java-api-for-websocket]] -[[java-api-for-websocket]] Java API for WebSocket ~~~~~~~~~~~~~~~~~~~~~~ @@ -459,9 +440,8 @@ lifecycle callback methods. The Java EE 8 platform requires Java API for WebSocket 1.1. -[[CJAGIEEI]] +[[CJAGIEEI]][[java-api-for-json-processing]] -[[java-api-for-json-processing]] Java API for JSON Processing ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -495,9 +475,8 @@ The Java API for JSON Binding (JSON-B) provides a binding layer for converting J JSON-B is new to the Java EE 8 platform. The Java EE 8 platform requires JSON-B 1.0. -[[CJAFGFCJ]] +[[CJAFGFCJ]][[concurrency-utilities-for-java-ee]] -[[concurrency-utilities-for-java-ee]] Concurrency Utilities for Java EE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -508,9 +487,8 @@ executor service, managed thread factory, and context service. The Java EE 8 platform requires Concurrency Utilities for Java EE 1.0. -[[CJAJHGIH]] +[[CJAJHGIH]][[batch-applications-for-the-java-platform]] -[[batch-applications-for-the-java-platform]] Batch Applications for the Java Platform ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/overview009.adoc b/src/main/jbake/content/overview009.adoc index 4647b79..cb199df 100644 --- a/src/main/jbake/content/overview009.adoc +++ b/src/main/jbake/content/overview009.adoc @@ -9,9 +9,8 @@ prev=overview008.html -[[GIRDR]] +[[GIRDR]][[java-ee-8-apis-in-the-java-platform-standard-edition-8]] -[[java-ee-8-apis-in-the-java-platform-standard-edition-8]] Java EE 8 APIs in the Java Platform, Standard Edition 8 ------------------------------------------------------- @@ -19,9 +18,8 @@ Several APIs that are required by the Java EE 8 platform are included in the Java Platform, Standard Edition 8 (Java SE 8) and are thus available to Java EE applications. -[[BNADA]] +[[BNADA]][[java-database-connectivity-api]] -[[java-database-connectivity-api]] Java Database Connectivity API ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -40,9 +38,8 @@ platform The Java EE 8 platform requires JDBC 4.1. -[[BNADC]] +[[BNADC]][[java-naming-and-directory-interface-api]] -[[java-naming-and-directory-interface-api]] Java Naming and Directory Interface API ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -80,9 +77,8 @@ context in `InitialContext` under the name `java:comp/env`. A component's naming environment is stored directly in the environment naming context or in any of its direct or indirect subcontexts. -[[BNACT]] +[[BNACT]][[javabeans-activation-framework]] -[[javabeans-activation-framework]] JavaBeans Activation Framework ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -92,9 +88,8 @@ piece of data, encapsulate access to it, discover the operations available on it, and create the appropriate JavaBeans component to perform those operations. -[[BNACU]] +[[BNACU]][[java-api-for-xml-processing]] -[[java-api-for-xml-processing]] Java API for XML Processing ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -112,9 +107,8 @@ your application and supports the Worldwide Web Consortium (W3C) schema. You can find information on the W3C schema at `http://www.w3.org/XML/Schema`. -[[BNACW]] +[[BNACW]][[java-architecture-for-xml-binding]] -[[java-architecture-for-xml-binding]] Java Architecture for XML Binding ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -127,9 +121,8 @@ containers support the JAXB API. The Java EE 8 platform requires JAXB 2.2. -[[BNACV]] +[[BNACV]][[java-api-for-xml-web-services]] -[[java-api-for-xml-web-services]] Java API for XML Web Services ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -154,9 +147,8 @@ handlers. The Java EE 8 platform requires JAX-WS 2.2. -[[BNACX]] +[[BNACX]][[soap-with-attachments-api-for-java]] -[[soap-with-attachments-api-for-java]] SOAP with Attachments API for Java ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -166,9 +158,8 @@ messages that conform to the SOAP 1.1 and 1.2 specifications and the SOAP with Attachments note. Most developers do not use the SAAJ API, instead using the higher-level JAX-WS API. -[[BNADD]] +[[BNADD]][[java-authentication-and-authorization-service]] -[[java-authentication-and-authorization-service]] Java Authentication and Authorization Service ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -180,9 +171,8 @@ JAAS is a Java programming language version of the standard Pluggable Authentication Module (PAM) framework, which extends the Java platform security architecture to support user-based authorization. -[[sthref12]] +[[sthref12]][[common-annotations-for-the-java-platform]] -[[common-annotations-for-the-java-platform]] Common Annotations for the Java Platform ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/overview010.adoc b/src/main/jbake/content/overview010.adoc index aadeda2..1d2f486 100644 --- a/src/main/jbake/content/overview010.adoc +++ b/src/main/jbake/content/overview010.adoc @@ -7,9 +7,8 @@ prev=overview009.html = GlassFish Server Tools -[[BNADF]] +[[BNADF]][[glassfish-server-tools]] -[[glassfish-server-tools]] GlassFish Server Tools ---------------------- diff --git a/src/main/jbake/content/packaging.adoc b/src/main/jbake/content/packaging.adoc index 7344f95..bbfacac 100644 --- a/src/main/jbake/content/packaging.adoc +++ b/src/main/jbake/content/packaging.adoc @@ -7,9 +7,8 @@ prev=injection003.html Packaging ========= -[[GKJIQ4]] +[[GKJIQ4]][[packaging]] -[[packaging]] 5 Packaging ----------- diff --git a/src/main/jbake/content/packaging001.adoc b/src/main/jbake/content/packaging001.adoc index ad07115..377f317 100644 --- a/src/main/jbake/content/packaging001.adoc +++ b/src/main/jbake/content/packaging001.adoc @@ -7,9 +7,8 @@ prev=packaging.html Packaging Applications ====================== -[[BCGDJDFB]] +[[BCGDJDFB]][[packaging-applications]] -[[packaging-applications]] Packaging Applications ---------------------- diff --git a/src/main/jbake/content/packaging002.adoc b/src/main/jbake/content/packaging002.adoc index b27285f..1411a67 100644 --- a/src/main/jbake/content/packaging002.adoc +++ b/src/main/jbake/content/packaging002.adoc @@ -7,9 +7,8 @@ prev=packaging001.html Packaging Enterprise Beans ========================== -[[BCGECBIJ]] +[[BCGECBIJ]][[packaging-enterprise-beans]] -[[packaging-enterprise-beans]] Packaging Enterprise Beans -------------------------- @@ -19,9 +18,8 @@ WAR modules. It includes the following sections: * link:#packaging-enterprise-beans-in-ejb-jar-modules[Packaging Enterprise Beans in EJB JAR Modules] * link:#packaging-enterprise-beans-in-war-modules[Packaging Enterprise Beans in WAR Modules] -[[CHDFCDBG]] +[[CHDFCDBG]][[packaging-enterprise-beans-in-ejb-jar-modules]] -[[packaging-enterprise-beans-in-ejb-jar-modules]] Packaging Enterprise Beans in EJB JAR Modules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -41,9 +39,8 @@ image:img/javaeett_dt_011.png[ "Diagram showing the structure and contents of an enterprise bean JAR file."] -[[CHDJABEJ]] +[[CHDJABEJ]][[packaging-enterprise-beans-in-war-modules]] -[[packaging-enterprise-beans-in-war-modules]] Packaging Enterprise Beans in WAR Modules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/packaging003.adoc b/src/main/jbake/content/packaging003.adoc index 03e9c5d..b235274 100644 --- a/src/main/jbake/content/packaging003.adoc +++ b/src/main/jbake/content/packaging003.adoc @@ -7,9 +7,8 @@ prev=packaging002.html Packaging Web Archives ====================== -[[BCGHAHGD]] +[[BCGHAHGD]][[packaging-web-archives]] -[[packaging-web-archives]] Packaging Web Archives ---------------------- diff --git a/src/main/jbake/content/packaging004.adoc b/src/main/jbake/content/packaging004.adoc index 2e19a69..068ffe2 100644 --- a/src/main/jbake/content/packaging004.adoc +++ b/src/main/jbake/content/packaging004.adoc @@ -7,9 +7,8 @@ prev=packaging003.html Packaging Resource Adapter Archives =================================== -[[BCGDHBHJ]] +[[BCGDHBHJ]][[packaging-resource-adapter-archives]] -[[packaging-resource-adapter-archives]] Packaging Resource Adapter Archives ----------------------------------- diff --git a/src/main/jbake/content/partbeanvalidation.adoc b/src/main/jbake/content/partbeanvalidation.adoc index 6e5ba81..5f4e014 100644 --- a/src/main/jbake/content/partbeanvalidation.adoc +++ b/src/main/jbake/content/partbeanvalidation.adoc @@ -9,13 +9,9 @@ Bean Validation [[sthref1322]][[JEETT001301]] -[[part-iv]] -Part IV + ---------- - -[[bean-validation]] -Bean Validation ---------------- +[[part-iv-bean-validation]] +Part IV Bean Validation +----------------------- Part IV explores Java API for JavaBean Validation ("Bean Validation"). This part contains the following chapters: diff --git a/src/main/jbake/content/partcasestudies.adoc b/src/main/jbake/content/partcasestudies.adoc index 8b43bf7..0f06b2c 100644 --- a/src/main/jbake/content/partcasestudies.adoc +++ b/src/main/jbake/content/partcasestudies.adoc @@ -9,13 +9,9 @@ Case Studies [[GKGJW]][[JEETT00135]] -[[part-xii]] -Part XII + ----------- - -[[case-studies]] -Case Studies ------------- +[[part-xii-case-studies]] +Part XII Case Studies +--------------------- Part XII presents case studies that use a variety of Java EE technologies. This part contains the following chapters: diff --git a/src/main/jbake/content/partcdi.adoc b/src/main/jbake/content/partcdi.adoc index 5c30545..b93958e 100644 --- a/src/main/jbake/content/partcdi.adoc +++ b/src/main/jbake/content/partcdi.adoc @@ -9,13 +9,9 @@ Contexts and Dependency Injection for Java EE [[GJBNR]][[JEETT00131]] -[[part-v]] -Part V + --------- - -[[contexts-and-dependency-injection-for-java-ee]] -Contexts and Dependency Injection for Java EE ---------------------------------------------- +[[part-v-contexts-and-dependency-injection-for-java-ee]] +Part V Contexts and Dependency Injection for Java EE +---------------------------------------------------- Part V explores Contexts and Dependency Injection for Java EE (CDI). This part contains the following chapters: diff --git a/src/main/jbake/content/partentbeans.adoc b/src/main/jbake/content/partentbeans.adoc index 31c98b1..d59640f 100644 --- a/src/main/jbake/content/partentbeans.adoc +++ b/src/main/jbake/content/partentbeans.adoc @@ -9,13 +9,9 @@ Enterprise Beans [[BNBLR]][[JEETT00130]] -[[part-vii]] -Part VII + ----------- - -[[enterprise-beans]] -Enterprise Beans ----------------- +[[part-vii-enterprise-beans]] +Part VII Enterprise Beans +------------------------- Part VII explores Enterprise JavaBeans components. This part contains the following chapters: diff --git a/src/main/jbake/content/partintro.adoc b/src/main/jbake/content/partintro.adoc index f4d64e0..eda994e 100644 --- a/src/main/jbake/content/partintro.adoc +++ b/src/main/jbake/content/partintro.adoc @@ -9,13 +9,9 @@ Introduction [[GFIRP]][[JEETT00127]] -[[part-i]] -Part I + --------- - -[[introduction]] -Introduction ------------- +[[part-i-introduction]] +Part I Introduction +------------------- Part I introduces the platform, the tutorial, and the examples. This part contains the following chapters: diff --git a/src/main/jbake/content/partmessaging.adoc b/src/main/jbake/content/partmessaging.adoc index 31eb883..85f39f5 100644 --- a/src/main/jbake/content/partmessaging.adoc +++ b/src/main/jbake/content/partmessaging.adoc @@ -9,13 +9,9 @@ Messaging [[GFIRP3]][[JEETT1712]] -[[part-ix]] -Part IX + ---------- - -[[messaging]] -Messaging ---------- +[[part-ix-messaging]] +Part IX Messaging +----------------- Part IX introduces messaging. This part contains the following chapters: diff --git a/src/main/jbake/content/partpersist.adoc b/src/main/jbake/content/partpersist.adoc index d97e399..d13d4d0 100644 --- a/src/main/jbake/content/partpersist.adoc +++ b/src/main/jbake/content/partpersist.adoc @@ -9,13 +9,9 @@ Persistence [[BNBPY]][[JEETT00132]] -[[part-viii]] -Part VIII + ------------ - -[[persistence]] -Persistence ------------ +[[part-viii-persistence]] +Part VIII Persistence +--------------------- Part VIII explores the Java Persistence API. This part contains the following chapters: diff --git a/src/main/jbake/content/partplatform.adoc b/src/main/jbake/content/partplatform.adoc index f3ad528..33fd7c8 100644 --- a/src/main/jbake/content/partplatform.adoc +++ b/src/main/jbake/content/partplatform.adoc @@ -9,13 +9,9 @@ Platform Basics [[GFIRP2]][[JEETT1358]] -[[part-ii]] -Part II + ---------- - -[[platform-basics]] -Platform Basics ---------------- +[[part-ii-platform-basics]] +Part II Platform Basics +----------------------- Part II introduces platform basics. This part contains the following chapters: diff --git a/src/main/jbake/content/partsecurity.adoc b/src/main/jbake/content/partsecurity.adoc index 5e1a039..a5c3407 100644 --- a/src/main/jbake/content/partsecurity.adoc +++ b/src/main/jbake/content/partsecurity.adoc @@ -8,13 +8,9 @@ prev=jms-examples010.html [[GIJRP]][[JEETT00133]] -[[part-x]] -Part X + --------- - -[[security]] -Security --------- +[[part-x-security]] +Part X Security +--------------- Part X explores security concepts and examples. This part contains the following chapters: diff --git a/src/main/jbake/content/partsupporttechs.adoc b/src/main/jbake/content/partsupporttechs.adoc index bd69053..6bedcfc 100644 --- a/src/main/jbake/content/partsupporttechs.adoc +++ b/src/main/jbake/content/partsupporttechs.adoc @@ -9,13 +9,9 @@ Java EE Supporting Technologies [[GIJUE]][[JEETT00134]] -[[part-xi]] -Part XI + ---------- - -[[java-ee-supporting-technologies]] -Java EE Supporting Technologies -------------------------------- +[[part-xi-java-ee-supporting-technologies]] +Part XI Java EE Supporting Technologies +--------------------------------------- Part XI explores several technologies that support the Java EE platform. This part contains the following chapters: diff --git a/src/main/jbake/content/partwebsvcs.adoc b/src/main/jbake/content/partwebsvcs.adoc index 575d135..86aed62 100644 --- a/src/main/jbake/content/partwebsvcs.adoc +++ b/src/main/jbake/content/partwebsvcs.adoc @@ -9,13 +9,9 @@ Web Services [[BNAYK]][[JEETT00129]] -[[part-vi]] -Part VI + ---------- - -[[web-services]] -Web Services ------------- +[[part-vi-web-services]] +Part VI Web Services +-------------------- Part VI explores web services. This part contains the following chapters: diff --git a/src/main/jbake/content/partwebtier.adoc b/src/main/jbake/content/partwebtier.adoc index 3e17fe7..dc135c5 100644 --- a/src/main/jbake/content/partwebtier.adoc +++ b/src/main/jbake/content/partwebtier.adoc @@ -9,13 +9,9 @@ The Web Tier [[BNADP]][[JEETT00128]] -[[part-iii]] -Part III + ----------- - -[[the-web-tier]] -The Web Tier ------------- +[[part-iii-the-web-tier]] +Part III The Web Tier +--------------------- Part III explores the technologies in the web tier. This part contains the following chapters: diff --git a/src/main/jbake/content/persistence-basicexamples.adoc b/src/main/jbake/content/persistence-basicexamples.adoc index cc162ff..256f194 100644 --- a/src/main/jbake/content/persistence-basicexamples.adoc +++ b/src/main/jbake/content/persistence-basicexamples.adoc @@ -7,9 +7,8 @@ prev=persistence-intro007.html Running the Persistence Examples ================================ -[[GIJST]] +[[GIJST]][[running-the-persistence-examples]] -[[running-the-persistence-examples]] 41 Running the Persistence Examples ----------------------------------- diff --git a/src/main/jbake/content/persistence-basicexamples001.adoc b/src/main/jbake/content/persistence-basicexamples001.adoc index cd53cec..b0d2e5e 100644 --- a/src/main/jbake/content/persistence-basicexamples001.adoc +++ b/src/main/jbake/content/persistence-basicexamples001.adoc @@ -7,9 +7,8 @@ prev=persistence-basicexamples.html Overview of the Persistence Examples ==================================== -[[A1023268]] +[[A1023268]][[overview-of-the-persistence-examples]] -[[overview-of-the-persistence-examples]] Overview of the Persistence Examples ------------------------------------ diff --git a/src/main/jbake/content/persistence-basicexamples002.adoc b/src/main/jbake/content/persistence-basicexamples002.adoc index 7e56d98..b64ef65 100644 --- a/src/main/jbake/content/persistence-basicexamples002.adoc +++ b/src/main/jbake/content/persistence-basicexamples002.adoc @@ -7,9 +7,8 @@ prev=persistence-basicexamples001.html The order Application ===================== -[[GIQST]] +[[GIQST]][[the-order-application]] -[[the-order-application]] The order Application --------------------- @@ -54,9 +53,8 @@ omitted from the table names. |======================================================================= -[[GIQRH]] +[[GIQRH]][[entity-relationships-in-the-order-application]] -[[entity-relationships-in-the-order-application]] Entity Relationships in the order Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -72,9 +70,8 @@ The following topics are addressed here: Foreign Keys] * link:#GIQUD[Unidirectional Relationships] -[[GIQQR]] +[[GIQQR]][[self-referential-relationships]] -[[self-referential-relationships]] Self-Referential Relationships ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -108,9 +105,8 @@ public Collection getParts() { ... ---- -[[GIQSR]] +[[GIQSR]][[one-to-one-relationships]] -[[one-to-one-relationships]] One-to-One Relationships ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -149,9 +145,8 @@ Note that, because `Part` uses a compound primary key, the `PARTREVISION` column refers to `PERSISTENCE_ORDER_PART`'s `REVISION` column. -[[GIQTJ]] +[[GIQTJ]][[one-to-many-relationship-mapped-to-overlapping-primary-and-foreign-keys]] -[[one-to-many-relationship-mapped-to-overlapping-primary-and-foreign-keys]] One-to-Many Relationship Mapped to Overlapping Primary and Foreign Keys ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -189,9 +184,8 @@ public CustomerOrder getCustomerOrder() { } ---- -[[GIQUD]] +[[GIQUD]][[unidirectional-relationships]] -[[unidirectional-relationships]] Unidirectional Relationships ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -208,9 +202,8 @@ public VendorPart getVendorPart() { } ---- -[[GIQQY]] +[[GIQQY]][[primary-keys-in-the-order-application]] -[[primary-keys-in-the-order-application]] Primary Keys in the order Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -223,9 +216,8 @@ The following topics are addressed here: * link:#GIQUV[Generated Primary Keys] * link:#GIQUF[Compound Primary Keys] -[[GIQUV]] +[[GIQUV]][[generated-primary-keys]] -[[generated-primary-keys]] Generated Primary Keys ^^^^^^^^^^^^^^^^^^^^^^ @@ -273,9 +265,8 @@ increment when allocating primary key values. In this case, each The primary key field `vendorPartNumber` is of type `Long`, as the generated primary key's field must be an integral type. -[[GIQUF]] +[[GIQUF]][[compound-primary-keys]] -[[compound-primary-keys]] Compound Primary Keys ^^^^^^^^^^^^^^^^^^^^^ @@ -448,9 +439,8 @@ public class Part implements Serializable { } ---- -[[GIQTL]] +[[GIQTL]][[entity-mapped-to-more-than-one-database-table]] -[[entity-mapped-to-more-than-one-database-table]] Entity Mapped to More Than One Database Table ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -486,9 +476,8 @@ table the column refers to. In this case, the primary key column names for both `PERSISTENCE_ORDER_PART_DETAIL` and `PERSISTENCE_ORDER_PART` are the same: `PARTNUMBER` and `REVISION`, respectively. -[[GIQUE]] +[[GIQUE]][[cascade-operations-in-the-order-application]] -[[cascade-operations-in-the-order-application]] Cascade Operations in the order Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -532,9 +521,8 @@ public CustomerOrder getCustomerOrder() { } ---- -[[GIQSC]] +[[GIQSC]][[blob-and-clob-database-types-in-the-order-application]] -[[blob-and-clob-database-types-in-the-order-application]] BLOB and CLOB Database Types in the order Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -572,9 +560,8 @@ public String getSpecification() { Both of these fields use the `@Column` annotation and set the `table` element to the secondary table. -[[GIQUM]] +[[GIQUM]][[temporal-types-in-the-order-application]] -[[temporal-types-in-the-order-application]] Temporal Types in the order Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -600,9 +587,8 @@ public Date getLastUpdate() { } ---- -[[GIQQV]] +[[GIQQV]][[managing-the-order-applications-entities]] -[[managing-the-order-applications-entities]] Managing the order Application's Entities ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -622,9 +608,8 @@ This `EntityManager` instance is a container-managed entity manager, so the container takes care of all the transactions involved in managing `order`'s entities. -[[GIQRR]] +[[GIQRR]][[creating-entities]] -[[creating-entities]] Creating Entities ^^^^^^^^^^^^^^^^^ @@ -650,9 +635,8 @@ deployed. The `createData` method is annotated with `@PostConstruct` and creates the initial entities used by `order` by calling `RequestBean`'s business methods. -[[GIQQC]] +[[GIQQC]][[finding-entities]] -[[finding-entities]] Finding Entities ^^^^^^^^^^^^^^^^ @@ -668,9 +652,8 @@ CustomerOrder order = em.find(CustomerOrder.class, orderId); The first argument of `EntityManager.find` is the entity class, and the second is the primary key. -[[GIQUK]] +[[GIQUK]][[setting-entity-relationships]] -[[setting-entity-relationships]] Setting Entity Relationships ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -697,9 +680,8 @@ vendor.addVendorPart(vendorPart); vendorPart.setVendor(vendor); ---- -[[GIQSV]] +[[GIQSV]][[using-queries]] -[[using-queries]] Using Queries ^^^^^^^^^^^^^ @@ -757,9 +739,8 @@ return (Double) em.createNamedQuery( The `Query.getSingleResult` method is used for this query because the query returns a single value. -[[GIQTW]] +[[GIQTW]][[removing-entities]] -[[removing-entities]] Removing Entities ^^^^^^^^^^^^^^^^^ @@ -773,9 +754,8 @@ CustomerOrder order = em.find(CustomerOrder.class, orderId); em.remove(order); ---- -[[GIQUP]] +[[GIQUP]][[running-the-order-example]] -[[running-the-order-example]] Running the order Example ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -788,9 +768,8 @@ The following topics are addressed here: * link:#GIQSG[To Run the order Example Using NetBeans IDE] * link:#GIQTY[To Run the order Example Using Maven] -[[GIQSG]] +[[GIQSG]][[to-run-the-order-example-using-netbeans-ide]] -[[to-run-the-order-example-using-netbeans-ide]] To Run the order Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -818,9 +797,8 @@ NetBeans IDE opens a web browser to the following URL: http://localhost:8080/order/ ---- -[[GIQTY]] +[[GIQTY]][[to-run-the-order-example-using-maven]] -[[to-run-the-order-example-using-maven]] To Run the order Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/persistence-basicexamples003.adoc b/src/main/jbake/content/persistence-basicexamples003.adoc index 39ce234..ca5c292 100644 --- a/src/main/jbake/content/persistence-basicexamples003.adoc +++ b/src/main/jbake/content/persistence-basicexamples003.adoc @@ -7,9 +7,8 @@ prev=persistence-basicexamples002.html The roster Application ====================== -[[GIQSQ]] +[[GIQSQ]][[the-roster-application]] -[[the-roster-application]] The roster Application ---------------------- @@ -45,9 +44,8 @@ omitted from the table names. |======================================================================= -[[GIQSO]] +[[GIQSO]][[relationships-in-the-roster-application]] -[[relationships-in-the-roster-application]] Relationships in the roster Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -64,9 +62,8 @@ between the `Player`, `Team`, and `League` entities. * There is a many-to-many relationship between `Player` and `Team`. * There is a many-to-one relationship between `Team` and `League`. -[[GIQQK]] +[[GIQQK]][[the-many-to-many-relationship-in-roster]] -[[the-many-to-many-relationship-in-roster]] The Many-To-Many Relationship in roster ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -114,9 +111,8 @@ public Collection getTeams() { } ---- -[[GIQRF]] +[[GIQRF]][[entity-inheritance-in-the-roster-application]] -[[entity-inheritance-in-the-roster-application]] Entity Inheritance in the roster Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -197,9 +193,8 @@ different name for the discriminator column, decorate `League` with public abstract class League implements Serializable { ... } ---- -[[GJJFL]] +[[GJJFL]][[criteria-queries-in-the-roster-application]] -[[criteria-queries-in-the-roster-application]] Criteria Queries in the roster Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -215,9 +210,8 @@ The following topics are addressed here: * link:#GJJFF[Creating Criteria Queries in RequestBean's Business Methods] -[[GJJEX]] +[[GJJEX]][[metamodel-classes-in-the-roster-application]] -[[metamodel-classes-in-the-roster-application]] Metamodel Classes in the roster Application ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -244,9 +238,8 @@ public class Player_ { } ---- -[[GJJFN]] +[[GJJFN]][[obtaining-a-criteriabuilder-instance-in-requestbean]] -[[obtaining-a-criteriabuilder-instance-in-requestbean]] Obtaining a CriteriaBuilder Instance in RequestBean ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -273,9 +266,8 @@ by calling `getCriteriaBuilder`. The `CriteriaBuilder` instance is created in a `@PostConstruct` method to ensure that the `EntityManager` instance has been injected by the enterprise bean container. -[[GJJFF]] +[[GJJFF]][[creating-criteria-queries-in-requestbeans-business-methods]] -[[creating-criteria-queries-in-requestbeans-business-methods]] Creating Criteria Queries in RequestBean's Business Methods ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -334,9 +326,8 @@ the type of the query, in this case `Player`. This typed query object is used to execute the query, which occurs when the `getResultList` method is called, and a `List` collection is returned. -[[GIQRX]] +[[GIQRX]][[automatic-table-generation-in-the-roster-application]] -[[automatic-table-generation-in-the-roster-application]] Automatic Table Generation in the roster Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -363,9 +354,8 @@ the database tables used by `roster`. This is done by setting the ---- -[[GIQUZ]] +[[GIQUZ]][[running-the-roster-example]] -[[running-the-roster-example]] Running the roster Example ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -377,9 +367,8 @@ The following topics are addressed here: * link:#GIQUG[To Run the roster Example Using NetBeans IDE] * link:#GIQSJ[To Run the roster Example Using Maven] -[[GIQUG]] +[[GIQUG]][[to-run-the-roster-example-using-netbeans-ide]] -[[to-run-the-roster-example-using-netbeans-ide]] To Run the roster Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -429,9 +418,8 @@ P22 Janice Walker defender 857.0 P25 Frank Fletcher defender 399.0 ---- -[[GIQSJ]] +[[GIQSJ]][[to-run-the-roster-example-using-maven]] -[[to-run-the-roster-example-using-maven]] To Run the roster Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/persistence-basicexamples004.adoc b/src/main/jbake/content/persistence-basicexamples004.adoc index ebb6c57..0a20a13 100644 --- a/src/main/jbake/content/persistence-basicexamples004.adoc +++ b/src/main/jbake/content/persistence-basicexamples004.adoc @@ -7,9 +7,8 @@ prev=persistence-basicexamples003.html The address-book Application ============================ -[[GKANQ]] +[[GKANQ]][[the-address-book-application]] -[[the-address-book-application]] The address-book Application ---------------------------- @@ -28,9 +27,8 @@ The following topics are addressed here: Application] * link:#GKAOP[Running the address-book Example] -[[GKAOJ]] +[[GKAOJ]][[bean-validation-constraints-in-address-book]] -[[bean-validation-constraints-in-address-book]] Bean Validation Constraints in address-book ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -92,9 +90,8 @@ public class Contact implements Serializable { } ---- -[[GKANL]] +[[GKANL]][[specifying-error-messages-for-constraints-in-address-book]] -[[specifying-error-messages-for-constraints-in-address-book]] Specifying Error Messages for Constraints in address-book ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -130,9 +127,8 @@ resource bundles taking the form `ValidationMessages_es.properties` is the resource bundle used in Spanish-speaking locales. -[[GKAON]] +[[GKAON]][[validating-contact-input-from-a-javaserver-faces-application]] -[[validating-contact-input-from-a-javaserver-faces-application]] Validating Contact Input from a JavaServer Faces Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -180,9 +176,8 @@ an associated `` tag that will display validation error messages. The form doesn't require any JavaServer Faces validation tags, however. -[[GKAOP]] +[[GKAOP]][[running-the-address-book-example]] -[[running-the-address-book-example]] Running the address-book Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -194,9 +189,8 @@ The following topics are addressed here: * link:#GKAOD[To Run the address-book Example Using NetBeans IDE] * link:#GKANZ[To Run the address-book Example Using Maven] -[[GKAOD]] +[[GKAOD]][[to-run-the-address-book-example-using-netbeans-ide]] -[[to-run-the-address-book-example-using-netbeans-ide]] To Run the address-book Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -232,9 +226,8 @@ If any of the values entered violate the constraints in `Contact`, an error message will appear in red beside the field with the incorrect values. -[[GKANZ]] +[[GKANZ]][[to-run-the-address-book-example-using-maven]] -[[to-run-the-address-book-example-using-maven]] To Run the address-book Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/persistence-cache.adoc b/src/main/jbake/content/persistence-cache.adoc index 370ec3c..80cb8ff 100644 --- a/src/main/jbake/content/persistence-cache.adoc +++ b/src/main/jbake/content/persistence-cache.adoc @@ -7,9 +7,8 @@ prev=persistence-entitygraphs004.html Using a Second-Level Cache with Java Persistence API Applications ================================================================= -[[GKJIA]] +[[GKJIA]][[using-a-second-level-cache-with-java-persistence-api-applications]] -[[using-a-second-level-cache-with-java-persistence-api-applications]] 47 Using a Second-Level Cache with Java Persistence API Applications -------------------------------------------------------------------- diff --git a/src/main/jbake/content/persistence-cache001.adoc b/src/main/jbake/content/persistence-cache001.adoc index 1569369..ad548ea 100644 --- a/src/main/jbake/content/persistence-cache001.adoc +++ b/src/main/jbake/content/persistence-cache001.adoc @@ -7,9 +7,8 @@ prev=persistence-cache.html = Overview of the Second-Level Cache -[[GKJIO]] +[[GKJIO]][[overview-of-the-second-level-cache]] -[[overview-of-the-second-level-cache]] Overview of the Second-Level Cache ---------------------------------- @@ -79,9 +78,8 @@ Store Modes]) Which of these strategies works best to avoid stale reads depends upon the application. -[[GKJIW]] +[[GKJIW]][[controlling-whether-entities-may-be-cached]] -[[controlling-whether-entities-may-be-cached]] Controlling whether Entities May Be Cached ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/persistence-cache002.adoc b/src/main/jbake/content/persistence-cache002.adoc index f357ce1..75519a6 100644 --- a/src/main/jbake/content/persistence-cache002.adoc +++ b/src/main/jbake/content/persistence-cache002.adoc @@ -7,9 +7,8 @@ prev=persistence-cache001.html Specifying the Cache Mode Settings to Improve Performance ========================================================= -[[GKJJJ]] +[[GKJJJ]][[specifying-the-cache-mode-settings-to-improve-performance]] -[[specifying-the-cache-mode-settings-to-improve-performance]] Specifying the Cache Mode Settings to Improve Performance --------------------------------------------------------- @@ -52,9 +51,8 @@ EntityManagerFactory emf = "javax.persistence.sharedCache.mode", "ENABLE_SELECTIVE")); ---- -[[GKJDK]] +[[GKJDK]][[setting-the-cache-retrieval-and-store-modes]] -[[setting-the-cache-retrieval-and-store-modes]] Setting the Cache Retrieval and Store Modes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -68,9 +66,8 @@ and value to the `EntityManager.setProperty` method, or you can set them on a per-`EntityManager` operation (`EntityManager.find` or `EntityManager.refresh`) or on a per-query level. -[[GKJDR]] +[[GKJDR]][[cache-retrieval-mode]] -[[cache-retrieval-mode]] Cache Retrieval Mode ^^^^^^^^^^^^^^^^^^^^ @@ -89,9 +86,8 @@ persistence provider will read it from the database. When the property is set to `BYPASS`, the second-level cache is bypassed and a call to the database is made to retrieve the data. -[[GKJDD]] +[[GKJDD]][[cache-store-mode]] -[[cache-store-mode]] Cache Store Mode ^^^^^^^^^^^^^^^^ @@ -115,9 +111,8 @@ When the property is set to `REFRESH`, the cache data is created or updated when data is read from or committed to the database, and a refresh is forced on data in the cache upon database reads. -[[GKJDS]] +[[GKJDS]][[setting-the-cache-retrieval-or-store-mode]] -[[setting-the-cache-retrieval-or-store-mode]] Setting the Cache Retrieval or Store Mode ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -174,9 +169,8 @@ Setting the store or retrieve mode in a query or when calling the `EntityManager.find` or `EntityManager.refresh` method overrides the setting of the entity manager. -[[GKJEB]] +[[GKJEB]][[controlling-the-second-level-cache-programmatically]] -[[controlling-the-second-level-cache-programmatically]] Controlling the Second-Level Cache Programmatically ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -190,9 +184,8 @@ The following topics are addressed here: * link:#GKJDQ[Removing an Entity from the Cache] * link:#GKJDA[Removing All Data from the Cache] -[[CHDEECCF]] +[[CHDEECCF]][[overview-of-the-javax.persistence.cache-interface]] -[[overview-of-the-javax.persistence.cache-interface]] Overview of the javax.persistence.Cache Interface ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -217,9 +210,8 @@ always return `false`. |======================================================================= -[[GKJDZ]] +[[GKJDZ]][[checking-whether-an-entitys-data-is-cached]] -[[checking-whether-an-entitys-data-is-cached]] Checking whether an Entity's Data Is Cached ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -242,9 +234,8 @@ if (cache.contains(Person.class, personPK)) { } ---- -[[GKJDQ]] +[[GKJDQ]][[removing-an-entity-from-the-cache]] -[[removing-an-entity-from-the-cache]] Removing an Entity from the Cache ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -277,9 +268,8 @@ cache. If the `Person` entity has a subclass, `Student`, calls to the above method will remove all instances of `Student` from the cache as well. -[[GKJDA]] +[[GKJDA]][[removing-all-data-from-the-cache]] -[[removing-all-data-from-the-cache]] Removing All Data from the Cache ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/persistence-criteria.adoc b/src/main/jbake/content/persistence-criteria.adoc index 9171d72..d946571 100644 --- a/src/main/jbake/content/persistence-criteria.adoc +++ b/src/main/jbake/content/persistence-criteria.adoc @@ -7,9 +7,8 @@ prev=persistence-querylanguage006.html Using the Criteria API to Create Queries ======================================== -[[GJITV]] +[[GJITV]][[using-the-criteria-api-to-create-queries]] -[[using-the-criteria-api-to-create-queries]] 43 Using the Criteria API to Create Queries ------------------------------------------- diff --git a/src/main/jbake/content/persistence-criteria001.adoc b/src/main/jbake/content/persistence-criteria001.adoc index e975793..1c94d59 100644 --- a/src/main/jbake/content/persistence-criteria001.adoc +++ b/src/main/jbake/content/persistence-criteria001.adoc @@ -7,9 +7,8 @@ prev=persistence-criteria.html Overview of the Criteria and Metamodel APIs =========================================== -[[GJRIJ]] +[[GJRIJ]][[overview-of-the-criteria-and-metamodel-apis]] -[[overview-of-the-criteria-and-metamodel-apis]] Overview of the Criteria and Metamodel APIs ------------------------------------------- diff --git a/src/main/jbake/content/persistence-criteria002.adoc b/src/main/jbake/content/persistence-criteria002.adoc index d28b5fe..920e0ab 100644 --- a/src/main/jbake/content/persistence-criteria002.adoc +++ b/src/main/jbake/content/persistence-criteria002.adoc @@ -7,9 +7,8 @@ prev=persistence-criteria001.html Using the Metamodel API to Model Entity Classes =============================================== -[[GJIUP]] +[[GJIUP]][[using-the-metamodel-api-to-model-entity-classes]] -[[using-the-metamodel-api-to-model-entity-classes]] Using the Metamodel API to Model Entity Classes ----------------------------------------------- @@ -57,9 +56,8 @@ public class Pet_ { Criteria queries use the metamodel class and its attributes to refer to the managed entity classes and their persistent state and relationships. -[[GJIVL]] +[[GJIVL]][[using-metamodel-classes]] -[[using-metamodel-classes]] Using Metamodel Classes ~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/persistence-criteria003.adoc b/src/main/jbake/content/persistence-criteria003.adoc index 8bf9400..88cbbd2 100644 --- a/src/main/jbake/content/persistence-criteria003.adoc +++ b/src/main/jbake/content/persistence-criteria003.adoc @@ -7,9 +7,8 @@ prev=persistence-criteria002.html = Using the Criteria API and Metamodel API to Create Basic Typesafe Queries -[[GJIVM]] +[[GJIVM]][[using-the-criteria-api-and-metamodel-api-to-create-basic-typesafe-queries]] -[[using-the-criteria-api-and-metamodel-api-to-create-basic-typesafe-queries]] Using the Criteria API and Metamodel API to Create Basic Typesafe Queries ------------------------------------------------------------------------- @@ -28,9 +27,8 @@ The following topics are addressed here: * link:#GJIXE[Managing Criteria Query Results] * link:#GJIVY[Executing Queries] -[[GJIVS]] +[[GJIVS]][[creating-a-criteria-query]] -[[creating-a-criteria-query]] Creating a Criteria Query ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -87,9 +85,8 @@ that returns a `String`: CriteriaQuery cq = cb.createQuery(String.class); ---- -[[GJIVQ]] +[[GJIVQ]][[query-roots]] -[[query-roots]] Query Roots ~~~~~~~~~~~ @@ -132,9 +129,8 @@ Root pet1 = cq.from(Pet.class); Root pet2 = cq.from(Pet.class); ---- -[[GJIUV]] +[[GJIUV]][[querying-relationships-using-joins]] -[[querying-relationships-using-joins]] Querying Relationships Using Joins ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -171,9 +167,8 @@ Root pet = cq.from(Pet.class); Join address = pet.join(Pet_.owners).join(Owner_.addresses); ---- -[[GJIVE]] +[[GJIVE]][[path-navigation-in-criteria-queries]] -[[path-navigation-in-criteria-queries]] Path Navigation in Criteria Queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -202,9 +197,8 @@ Root pet = cq.from(Pet.class); cq.select(pet.get(Pet_.name)); ---- -[[GJIVI]] +[[GJIVI]][[restricting-criteria-query-results]] -[[restricting-criteria-query-results]] Restricting Criteria Query Results ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -218,9 +212,8 @@ restrict the results according to the conditions of the expressions. To create `Expression` instances, use methods defined in the `Expression` and `CriteriaBuilder` interfaces. -[[GJIWN]] +[[GJIWN]][[the-expression-interface-methods]] -[[the-expression-interface-methods]] The Expression Interface Methods ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -264,9 +257,8 @@ cq.where(pet.get(Pet_.color).in("brown", "black")); The `in` method can also check whether an attribute is a member of a collection. -[[GJIXA]] +[[GJIXA]][[expression-methods-in-the-criteriabuilder-interface]] -[[expression-methods-in-the-criteriabuilder-interface]] Expression Methods in the CriteriaBuilder Interface ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -371,9 +363,8 @@ cq.where(cb.equal(pet.get(Pet_.name), "Fido") .and(cb.equal(pet.get(Pet_.color), "brown"))); ---- -[[GJIXE]] +[[GJIXE]][[managing-criteria-query-results]] -[[managing-criteria-query-results]] Managing Criteria Query Results ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -392,9 +383,8 @@ The following topics are addressed here: * link:#GJIWO[Ordering Results] * link:#GJIXG[Grouping Results] -[[GJIWO]] +[[GJIWO]][[ordering-results]] -[[ordering-results]] Ordering Results ^^^^^^^^^^^^^^^^ @@ -452,9 +442,8 @@ cq.orderBy(cb.asc(owner.get(Owner_.lastName)), owner.get(Owner_.firstName))); The results of this query will be ordered alphabetically by the pet owner's last name, then first name. -[[GJIXG]] +[[GJIXG]][[grouping-results]] -[[grouping-results]] Grouping Results ^^^^^^^^^^^^^^^^ @@ -489,9 +478,8 @@ as in the preceding example. However, the only returned groups will be `Pet` entities where the `color` attribute is set to `brown` or `blonde`. That is, no gray-colored pets will be returned in this query. -[[GJIVY]] +[[GJIVY]][[executing-queries]] -[[executing-queries]] Executing Queries ~~~~~~~~~~~~~~~~~ @@ -502,9 +490,8 @@ the type of the query result, passing the `CriteriaQuery` object to To execute a query, call either `getSingleResult` or `getResultList` on the `TypedQuery` object. -[[GJIUR]] +[[GJIUR]][[single-valued-query-results]] -[[single-valued-query-results]] Single-Valued Query Results ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -519,9 +506,8 @@ TypedQuery q = em.createQuery(cq); Pet result = q.getSingleResult(); ---- -[[GJIVP]] +[[GJIVP]][[collection-valued-query-results]] -[[collection-valued-query-results]] Collection-Valued Query Results ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/persistence-entitygraphs.adoc b/src/main/jbake/content/persistence-entitygraphs.adoc index bcfdc30..14c13d8 100644 --- a/src/main/jbake/content/persistence-entitygraphs.adoc +++ b/src/main/jbake/content/persistence-entitygraphs.adoc @@ -7,9 +7,8 @@ prev=persistence-locking002.html Creating Fetch Plans with Entity Graphs ======================================= -[[BABIJIAC]] +[[BABIJIAC]][[creating-fetch-plans-with-entity-graphs]] -[[creating-fetch-plans-with-entity-graphs]] 46 Creating Fetch Plans with Entity Graphs ------------------------------------------ diff --git a/src/main/jbake/content/persistence-entitygraphs001.adoc b/src/main/jbake/content/persistence-entitygraphs001.adoc index 14287ae..940ca7a 100644 --- a/src/main/jbake/content/persistence-entitygraphs001.adoc +++ b/src/main/jbake/content/persistence-entitygraphs001.adoc @@ -7,9 +7,8 @@ prev=persistence-entitygraphs.html Overview of Using Fetch Plans and Entity Graphs =============================================== -[[A1153411]] +[[A1153411]][[overview-of-using-fetch-plans-and-entity-graphs]] -[[overview-of-using-fetch-plans-and-entity-graphs]] Overview of Using Fetch Plans and Entity Graphs ----------------------------------------------- diff --git a/src/main/jbake/content/persistence-entitygraphs002.adoc b/src/main/jbake/content/persistence-entitygraphs002.adoc index 825df49..8aef49b 100644 --- a/src/main/jbake/content/persistence-entitygraphs002.adoc +++ b/src/main/jbake/content/persistence-entitygraphs002.adoc @@ -7,9 +7,8 @@ prev=persistence-entitygraphs001.html Entity Graph Basics =================== -[[BABCJBCG]] +[[BABCJBCG]][[entity-graph-basics]] -[[entity-graph-basics]] Entity Graph Basics ------------------- @@ -25,9 +24,8 @@ eagerly fetched during a `find` or query operation. The primary key and version fields of the entity class are always fetched and do not need to be explicitly added to an entity graph. -[[sthref184]] +[[sthref184]][[the-default-entity-graph]] -[[the-default-entity-graph]] The Default Entity Graph ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -61,9 +59,8 @@ The default entity graph for this entity would contain the `messageId`, `subject`, and `sender` fields, but not the `body` or `attachments` fields. -[[sthref185]] +[[sthref185]][[using-entity-graphs-in-persistence-operations]] -[[using-entity-graphs-in-persistence-operations]] Using Entity Graphs in Persistence Operations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -86,9 +83,8 @@ The following topics are addressed here: * link:#BABGEFCG[Fetch Graphs] * link:#BABHJBHG[Load Graphs] -[[BABGEFCG]] +[[BABGEFCG]][[fetch-graphs]] -[[fetch-graphs]] Fetch Graphs ^^^^^^^^^^^^ @@ -110,9 +106,8 @@ props.put("javax.persistence.fetchgraph", eg); EmailMessage message = em.find(EmailMessage.class, id, props); ---- -[[BABHJBHG]] +[[BABHJBHG]][[load-graphs]] -[[load-graphs]] Load Graphs ^^^^^^^^^^^ diff --git a/src/main/jbake/content/persistence-entitygraphs003.adoc b/src/main/jbake/content/persistence-entitygraphs003.adoc index 085f0ad..b6f3118 100644 --- a/src/main/jbake/content/persistence-entitygraphs003.adoc +++ b/src/main/jbake/content/persistence-entitygraphs003.adoc @@ -7,9 +7,8 @@ prev=persistence-entitygraphs002.html Using Named Entity Graphs ========================= -[[BABFIGEI]] +[[BABFIGEI]][[using-named-entity-graphs]] -[[using-named-entity-graphs]] Using Named Entity Graphs ------------------------- @@ -20,9 +19,8 @@ for all named entity graphs, defined in both annotations and in XML, within an application. A named entity graph set using an annotation may be overridden using `named-entity-graph`. -[[sthref186]] +[[sthref186]][[applying-named-entity-graph-annotations-to-entity-classes]] -[[applying-named-entity-graph-annotations-to-entity-classes]] Applying Named Entity Graph Annotations to Entity Classes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -105,9 +103,8 @@ of the message, including any message attachments: public class EmailMessage { ... } ---- -[[sthref187]] +[[sthref187]][[obtaining-entitygraph-instances-from-named-entity-graphs]] -[[obtaining-entitygraph-instances-from-named-entity-graphs]] Obtaining EntityGraph Instances from Named Entity Graphs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/persistence-entitygraphs004.adoc b/src/main/jbake/content/persistence-entitygraphs004.adoc index 48425f5..3990e6d 100644 --- a/src/main/jbake/content/persistence-entitygraphs004.adoc +++ b/src/main/jbake/content/persistence-entitygraphs004.adoc @@ -7,9 +7,8 @@ prev=persistence-entitygraphs003.html Using Entity Graphs in Query Operations ======================================= -[[BABGJDAJ]] +[[BABGJDAJ]][[using-entity-graphs-in-query-operations]] -[[using-entity-graphs-in-query-operations]] Using Entity Graphs in Query Operations --------------------------------------- diff --git a/src/main/jbake/content/persistence-intro.adoc b/src/main/jbake/content/persistence-intro.adoc index 0f0d131..ff27299 100644 --- a/src/main/jbake/content/persistence-intro.adoc +++ b/src/main/jbake/content/persistence-intro.adoc @@ -7,9 +7,8 @@ prev=partpersist.html Introduction to the Java Persistence API ======================================== -[[BNBPZ]] +[[BNBPZ]][[introduction-to-the-java-persistence-api]] -[[introduction-to-the-java-persistence-api]] 40 Introduction to the Java Persistence API ------------------------------------------- diff --git a/src/main/jbake/content/persistence-intro001.adoc b/src/main/jbake/content/persistence-intro001.adoc index 343baba..e116436 100644 --- a/src/main/jbake/content/persistence-intro001.adoc +++ b/src/main/jbake/content/persistence-intro001.adoc @@ -7,9 +7,8 @@ prev=persistence-intro.html Overview of the Java Persistence API ==================================== -[[A1019685]] +[[A1019685]][[overview-of-the-java-persistence-api]] -[[overview-of-the-java-persistence-api]] Overview of the Java Persistence API ------------------------------------ diff --git a/src/main/jbake/content/persistence-intro002.adoc b/src/main/jbake/content/persistence-intro002.adoc index 4fbdf0c..c4b91b3 100644 --- a/src/main/jbake/content/persistence-intro002.adoc +++ b/src/main/jbake/content/persistence-intro002.adoc @@ -7,9 +7,8 @@ prev=persistence-intro001.html = Entities -[[BNBQA]] +[[BNBQA]][[entities]] -[[entities]] Entities -------- @@ -24,9 +23,8 @@ persistent fields or persistent properties. These fields or properties use object/relational mapping annotations to map the entities and entity relationships to the relational data in the underlying data store. -[[BNBQB]] +[[BNBQB]][[requirements-for-entity-classes]] -[[requirements-for-entity-classes]] Requirements for Entity Classes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -48,9 +46,8 @@ package-private and can be accessed directly only by the entity class's methods. Clients must access the entity's state through accessor or business methods. -[[BNBQC]] +[[BNBQC]][[persistent-fields-and-properties-in-entity-classes]] -[[persistent-fields-and-properties-in-entity-classes]] Persistent Fields and Properties in Entity Classes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -97,9 +94,8 @@ entity's instance variables, the entity uses persistent fields. If the mapping annotations are applied to the entity's getter methods for JavaBeans-style properties, the entity uses persistent properties. -[[BNBQD]] +[[BNBQD]][[persistent-fields]] -[[persistent-fields]] Persistent Fields ^^^^^^^^^^^^^^^^^ @@ -109,9 +105,8 @@ annotated `javax.persistence.Transient` or not marked as Java `transient` will be persisted to the data store. The object/relational mapping annotations must be applied to the instance variables. -[[BNBQE]] +[[BNBQE]][[persistent-properties]] -[[persistent-properties]] Persistent Properties ^^^^^^^^^^^^^^^^^^^^^ @@ -140,9 +135,8 @@ The object/relational mapping annotations for persistent properties must be applied to the getter methods. Mapping annotations cannot be applied to fields or properties annotated `@Transient` or marked `transient`. -[[GIQVN]] +[[GIQVN]][[using-collections-in-entity-fields-and-properties]] -[[using-collections-in-entity-fields-and-properties]] Using Collections in Entity Fields and Properties ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -255,9 +249,8 @@ represents the value of the `Map`. If generic types are not used, the `targetEntity` attribute of the `@OneToMany` and `@ManyToMany` annotations must be set to the type of the `Map` value. -[[GKAHQ]] +[[GKAHQ]][[validating-persistent-fields-and-properties]] -[[validating-persistent-fields-and-properties]] Validating Persistent Fields and Properties ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -360,9 +353,8 @@ in the United States and Canada of the form `(`xxx`)` xxx`-`xxxx. The `birthday` field is annotated with the `@Past` constraint, which ensures that the value of `birthday` must be in the past. -[[BNBQF]] +[[BNBQF]][[primary-keys-in-entities]] -[[primary-keys-in-entities]] Primary Keys in Entities ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -459,9 +451,8 @@ public final class LineItemKey implements Serializable { } ---- -[[BNBQH]] +[[BNBQH]][[multiplicity-in-entity-relationships]] -[[multiplicity-in-entity-relationships]] Multiplicity in Entity Relationships ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -494,9 +485,8 @@ relationship. Many-to-many relationships use the `javax.persistence.ManyToMany` annotation on the corresponding persistent property or field. -[[BNBQI]] +[[BNBQI]][[direction-in-entity-relationships]] -[[direction-in-entity-relationships]] Direction in Entity Relationships ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -506,9 +496,8 @@ an inverse side. A unidirectional relationship has only an owning side. The owning side of a relationship determines how the Persistence runtime makes updates to the relationship in the database. -[[BNBQJ]] +[[BNBQJ]][[bidirectional-relationships]] -[[bidirectional-relationships]] Bidirectional Relationships ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -535,9 +524,8 @@ corresponds to the side that contains the corresponding foreign key. * For many-to-many bidirectional relationships, either side may be the owning side. -[[BNBQK]] +[[BNBQK]][[unidirectional-relationships]] -[[unidirectional-relationships]] Unidirectional Relationships ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -548,9 +536,8 @@ would not have a relationship field or property for `LineItem`. In other words, `LineItem` knows about `Product`, but `Product` doesn't know which `LineItem` instances refer to it. -[[BNBQL]] +[[BNBQL]][[queries-and-relationship-direction]] -[[queries-and-relationship-direction]] Queries and Relationship Direction ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -562,9 +549,8 @@ opposite direction. For `CustomerOrder` and `LineItem`, a query could navigate in both directions because these two entities have a bidirectional relationship. -[[BNBQM]] +[[BNBQM]][[cascade-operations-and-relationships]] -[[cascade-operations-and-relationships]] Cascade Operations and Relationships ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -616,9 +602,8 @@ For example: public Set getOrders() { return orders; } ---- -[[GIQXY]] +[[GIQXY]][[orphan-removal-in-relationships]] -[[orphan-removal-in-relationships]] Orphan Removal in Relationships ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -644,9 +629,8 @@ The following example will cascade the remove operation to the orphaned public List getOrders() { ... } ---- -[[GJIWZ]] +[[GJIWZ]][[embeddable-classes-in-entities]] -[[embeddable-classes-in-entities]] Embeddable Classes in Entities ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/persistence-intro003.adoc b/src/main/jbake/content/persistence-intro003.adoc index b75894f..74d2249 100644 --- a/src/main/jbake/content/persistence-intro003.adoc +++ b/src/main/jbake/content/persistence-intro003.adoc @@ -7,9 +7,8 @@ prev=persistence-intro002.html = Entity Inheritance -[[BNBQN]] +[[BNBQN]][[entity-inheritance]] -[[entity-inheritance]] Entity Inheritance ------------------ @@ -29,9 +28,8 @@ The following topics are addressed here: * link:#BNBQQ[Non-Entity Superclasses] * link:#BNBQR[Entity Inheritance Mapping Strategies] -[[BNBQO]] +[[BNBQO]][[abstract-entities]] -[[abstract-entities]] Abstract Entities ~~~~~~~~~~~~~~~~~ @@ -62,9 +60,8 @@ public class PartTimeEmployee extends Employee { } ---- -[[BNBQP]] +[[BNBQP]][[mapped-superclasses]] -[[mapped-superclasses]] Mapped Superclasses ~~~~~~~~~~~~~~~~~~~ @@ -110,9 +107,8 @@ define the table mappings. For instance, in the preceding code sample, the underlying tables would be `FULLTIMEEMPLOYEE` and `PARTTIMEEMPLOYEE`, but there is no `EMPLOYEE` table. -[[BNBQQ]] +[[BNBQQ]][[non-entity-superclasses]] -[[non-entity-superclasses]] Non-Entity Superclasses ~~~~~~~~~~~~~~~~~~~~~~~ @@ -123,9 +119,8 @@ an entity class is nonpersistent. Non-entity superclasses may not be used in `EntityManager` or `Query` operations. Any mapping or relationship annotations in non-entity superclasses are ignored. -[[BNBQR]] +[[BNBQR]][[entity-inheritance-mapping-strategies]] -[[entity-inheritance-mapping-strategies]] Entity Inheritance Mapping Strategies ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -158,9 +153,8 @@ The default strategy, `InheritanceType.SINGLE_TABLE`, is used if the `@Inheritance` annotation is not specified on the root class of the entity hierarchy. -[[BNBQS]] +[[BNBQS]][[the-single-table-per-class-hierarchy-strategy]] -[[the-single-table-per-class-hierarchy-strategy]] The Single Table per Class Hierarchy Strategy ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -234,9 +228,8 @@ between entities and queries that cover the entire entity class hierarchy. However, this strategy requires the columns that contain the state of subclasses to be nullable. -[[BNBQU]] +[[BNBQU]][[the-table-per-concrete-class-strategy]] -[[the-table-per-concrete-class-strategy]] The Table per Concrete Class Strategy ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -254,9 +247,8 @@ Support for this strategy is optional and may not be supported by all Java Persistence API providers. The default Java Persistence API provider in GlassFish Server does not support this strategy. -[[BNBQV]] +[[BNBQV]][[the-joined-subclass-strategy]] -[[the-joined-subclass-strategy]] The Joined Subclass Strategy ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/persistence-intro004.adoc b/src/main/jbake/content/persistence-intro004.adoc index 32d0299..ab1014e 100644 --- a/src/main/jbake/content/persistence-intro004.adoc +++ b/src/main/jbake/content/persistence-intro004.adoc @@ -7,9 +7,8 @@ prev=persistence-intro003.html Managing Entities ================= -[[BNBQW]] +[[BNBQW]][[managing-entities]] -[[managing-entities]] Managing Entities ----------------- @@ -26,9 +25,8 @@ The following topics are addressed here: * link:#BNBQY[The EntityManager Interface] * link:#BNBRJ[Persistence Units] -[[BNBQY]] +[[BNBQY]][[the-entitymanager-interface]] -[[the-entitymanager-interface]] The EntityManager Interface ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -46,9 +44,8 @@ The following topics are addressed here: * link:#BNBRE[Removing Entity Instances] * link:#BNBRF[Synchronizing Entity Data to the Database] -[[BNBQZ]] +[[BNBQZ]][[container-managed-entity-managers]] -[[container-managed-entity-managers]] Container-Managed Entity Managers ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -80,9 +77,8 @@ the application component: EntityManager em; ---- -[[BNBRA]] +[[BNBRA]][[application-managed-entity-managers]] -[[application-managed-entity-managers]] Application-Managed Entity Managers ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -166,9 +162,8 @@ try { } ---- -[[BNBRB]] +[[BNBRB]][[finding-entities-using-the-entitymanager]] -[[finding-entities-using-the-entitymanager]] Finding Entities Using the EntityManager ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -186,9 +181,8 @@ public void enterOrder(int custID, CustomerOrder newOrder) { } ---- -[[BNBRC]] +[[BNBRC]][[managing-an-entity-instances-lifecycle]] -[[managing-an-entity-instances-lifecycle]] Managing an Entity Instance's Lifecycle ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -206,9 +200,8 @@ currently associated with a persistence context. with a persistent context, and are scheduled for removal from the data store. -[[BNBRD]] +[[BNBRD]][[persisting-entity-instances]] -[[persisting-entity-instances]] Persisting Entity Instances ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -252,9 +245,8 @@ public Collection getLineItems() { } ---- -[[BNBRE]] +[[BNBRE]][[removing-entity-instances]] -[[removing-entity-instances]] Removing Entity Instances ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -284,9 +276,8 @@ public void removeOrder(Integer orderId) { }... ---- -[[BNBRF]] +[[BNBRF]][[synchronizing-entity-data-to-the-database]] -[[synchronizing-entity-data-to-the-database]] Synchronizing Entity Data to the Database ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -305,9 +296,8 @@ will be synchronized with the data store when `flush` is called. If the entity is removed, calling `flush` will remove the entity data from the data store. -[[BNBRJ]] +[[BNBRJ]][[persistence-units]] -[[persistence-units]] Persistence Units ~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/persistence-intro005.adoc b/src/main/jbake/content/persistence-intro005.adoc index 5e1fb32..84976c1 100644 --- a/src/main/jbake/content/persistence-intro005.adoc +++ b/src/main/jbake/content/persistence-intro005.adoc @@ -7,9 +7,8 @@ prev=persistence-intro004.html Querying Entities ================= -[[GJISE]] +[[GJISE]][[querying-entities]] -[[querying-entities]] Querying Entities ----------------- diff --git a/src/main/jbake/content/persistence-intro006.adoc b/src/main/jbake/content/persistence-intro006.adoc index c3d9936..0eba05b 100644 --- a/src/main/jbake/content/persistence-intro006.adoc +++ b/src/main/jbake/content/persistence-intro006.adoc @@ -7,9 +7,8 @@ prev=persistence-intro005.html = Database Schema Creation -[[CHDBEGIC]] +[[CHDBEGIC]][[database-schema-creation]] -[[database-schema-creation]] Database Schema Creation ------------------------ @@ -51,9 +50,8 @@ and load data from a provided script when the application is deployed: ---- -[[sthref161]] +[[sthref161]][[configuring-an-application-to-create-or-drop-database-tables]] -[[configuring-an-application-to-create-or-drop-database-tables]] Configuring an Application to Create or Drop Database Tables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -148,9 +146,8 @@ In the above example, the `create-script-source` is set to a SQL file called `create.sql` in the `META-INF/sql` directory relative to root of the persistence unit. -[[sthref166]] +[[sthref166]][[loading-data-using-sql-scripts]] -[[loading-data-using-sql-scripts]] Loading Data Using SQL Scripts ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/persistence-intro007.adoc b/src/main/jbake/content/persistence-intro007.adoc index b1fc873..de198b2 100644 --- a/src/main/jbake/content/persistence-intro007.adoc +++ b/src/main/jbake/content/persistence-intro007.adoc @@ -7,9 +7,8 @@ prev=persistence-intro006.html Further Information about Persistence ===================================== -[[GKCLC]] +[[GKCLC]][[further-information-about-persistence]] -[[further-information-about-persistence]] Further Information about Persistence ------------------------------------- diff --git a/src/main/jbake/content/persistence-locking.adoc b/src/main/jbake/content/persistence-locking.adoc index 829349d..f1d9d0b 100644 --- a/src/main/jbake/content/persistence-locking.adoc +++ b/src/main/jbake/content/persistence-locking.adoc @@ -7,9 +7,8 @@ prev=persistence-string-queries003.html Controlling Concurrent Access to Entity Data with Locking ========================================================= -[[GKJJF]] +[[GKJJF]][[controlling-concurrent-access-to-entity-data-with-locking]] -[[controlling-concurrent-access-to-entity-data-with-locking]] 45 Controlling Concurrent Access to Entity Data with Locking ------------------------------------------------------------ diff --git a/src/main/jbake/content/persistence-locking001.adoc b/src/main/jbake/content/persistence-locking001.adoc index f3757c4..26e2717 100644 --- a/src/main/jbake/content/persistence-locking001.adoc +++ b/src/main/jbake/content/persistence-locking001.adoc @@ -7,9 +7,8 @@ prev=persistence-locking.html Overview of Entity Locking and Concurrency ========================================== -[[GKJHZ]] +[[GKJHZ]][[overview-of-entity-locking-and-concurrency]] -[[overview-of-entity-locking-and-concurrency]] Overview of Entity Locking and Concurrency ------------------------------------------ @@ -59,9 +58,8 @@ modification may result in decreased application performance. |======================================================================= -[[GKJJC]] +[[GKJJC]][[using-optimistic-locking]] -[[using-optimistic-locking]] Using Optimistic Locking ~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/persistence-locking002.adoc b/src/main/jbake/content/persistence-locking002.adoc index 619b176..9928b1d 100644 --- a/src/main/jbake/content/persistence-locking002.adoc +++ b/src/main/jbake/content/persistence-locking002.adoc @@ -7,9 +7,8 @@ prev=persistence-locking001.html = Lock Modes -[[GKJIU]] +[[GKJIU]][[lock-modes]] -[[lock-modes]] Lock Modes ---------- @@ -71,9 +70,8 @@ applications. |======================================================================= -[[GKJIK]] +[[GKJIK]][[setting-the-lock-mode]] -[[setting-the-lock-mode]] Setting the Lock Mode ~~~~~~~~~~~~~~~~~~~~~ @@ -126,9 +124,8 @@ q.setLockMode(LockModeType.PESSIMISTIC_FORCE_INCREMENT); lockMode=PESSIMISTIC_READ) ---- -[[GKJIL]] +[[GKJIL]][[using-pessimistic-locking]] -[[using-pessimistic-locking]] Using Pessimistic Locking ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -158,9 +155,8 @@ Locking a versioned entity with `PESSIMISTIC_WRITE` results in the version attribute being incremented if the transaction was successfully committed. -[[GKJLQ]] +[[GKJLQ]][[pessimistic-locking-timeouts]] -[[pessimistic-locking-timeouts]] Pessimistic Locking Timeouts ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/persistence-querylanguage.adoc b/src/main/jbake/content/persistence-querylanguage.adoc index 48ad0fc..5ea05ae 100644 --- a/src/main/jbake/content/persistence-querylanguage.adoc +++ b/src/main/jbake/content/persistence-querylanguage.adoc @@ -7,9 +7,8 @@ prev=persistence-basicexamples004.html The Java Persistence Query Language =================================== -[[BNBTG]] +[[BNBTG]][[the-java-persistence-query-language]] -[[the-java-persistence-query-language]] 42 The Java Persistence Query Language -------------------------------------- diff --git a/src/main/jbake/content/persistence-querylanguage001.adoc b/src/main/jbake/content/persistence-querylanguage001.adoc index d467776..b2810f3 100644 --- a/src/main/jbake/content/persistence-querylanguage001.adoc +++ b/src/main/jbake/content/persistence-querylanguage001.adoc @@ -7,9 +7,8 @@ prev=persistence-querylanguage.html Overview of the Java Persistence Query Language =============================================== -[[A1073303]] +[[A1073303]][[overview-of-the-java-persistence-query-language]] -[[overview-of-the-java-persistence-query-language]] Overview of the Java Persistence Query Language ----------------------------------------------- diff --git a/src/main/jbake/content/persistence-querylanguage002.adoc b/src/main/jbake/content/persistence-querylanguage002.adoc index 5626661..da6cdd5 100644 --- a/src/main/jbake/content/persistence-querylanguage002.adoc +++ b/src/main/jbake/content/persistence-querylanguage002.adoc @@ -7,9 +7,8 @@ prev=persistence-querylanguage001.html Query Language Terminology ========================== -[[BNBTH]] +[[BNBTH]][[query-language-terminology]] -[[query-language-terminology]] Query Language Terminology -------------------------- diff --git a/src/main/jbake/content/persistence-querylanguage003.adoc b/src/main/jbake/content/persistence-querylanguage003.adoc index f63fc3c..2613e08 100644 --- a/src/main/jbake/content/persistence-querylanguage003.adoc +++ b/src/main/jbake/content/persistence-querylanguage003.adoc @@ -7,9 +7,8 @@ prev=persistence-querylanguage002.html Creating Queries Using the Java Persistence Query Language ========================================================== -[[BNBRG]] +[[BNBRG]][[creating-queries-using-the-java-persistence-query-language]] -[[creating-queries-using-the-java-persistence-query-language]] Creating Queries Using the Java Persistence Query Language ---------------------------------------------------------- @@ -58,9 +57,8 @@ customers = em.createNamedQuery("findAllCustomersWithName") .getResultList(); ---- -[[BNBRH]] +[[BNBRH]][[named-parameters-in-queries]] -[[named-parameters-in-queries]] Named Parameters in Queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -90,9 +88,8 @@ public List findWithName(String name) { Named parameters are case-sensitive and may be used by both dynamic and static queries. -[[BNBRI]] +[[BNBRI]][[positional-parameters-in-queries]] -[[positional-parameters-in-queries]] Positional Parameters in Queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/persistence-querylanguage004.adoc b/src/main/jbake/content/persistence-querylanguage004.adoc index 73ad312..9e1b2ba 100644 --- a/src/main/jbake/content/persistence-querylanguage004.adoc +++ b/src/main/jbake/content/persistence-querylanguage004.adoc @@ -7,9 +7,8 @@ prev=persistence-querylanguage003.html Simplified Query Language Syntax ================================ -[[BNBTI]] +[[BNBTI]][[simplified-query-language-syntax]] -[[simplified-query-language-syntax]] Simplified Query Language Syntax -------------------------------- @@ -24,9 +23,8 @@ The following topics are addressed here: * link:#BNBTJ[Select Statements] * link:#BNBTK[Update and Delete Statements] -[[BNBTJ]] +[[BNBTJ]][[select-statements]] -[[select-statements]] Select Statements ~~~~~~~~~~~~~~~~~ @@ -69,9 +67,8 @@ restrict the query results according to a conditional expression. * The `ORDER BY` clause sorts the objects or values returned by the query into a specified order. -[[BNBTK]] +[[BNBTK]][[update-and-delete-statements]] -[[update-and-delete-statements]] Update and Delete Statements ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/persistence-querylanguage005.adoc b/src/main/jbake/content/persistence-querylanguage005.adoc index 5a6969a..29e7fa4 100644 --- a/src/main/jbake/content/persistence-querylanguage005.adoc +++ b/src/main/jbake/content/persistence-querylanguage005.adoc @@ -7,9 +7,8 @@ prev=persistence-querylanguage004.html Example Queries =============== -[[BNBTL]] +[[BNBTL]][[example-queries]] -[[example-queries]] Example Queries --------------- @@ -24,9 +23,8 @@ The following topics are addressed here: * link:#BNBTW[Queries with Other Conditional Expressions] * link:#BNBUC[Bulk Updates and Deletes] -[[BNBTM]] +[[BNBTM]][[simple-queries]] -[[simple-queries]] Simple Queries ~~~~~~~~~~~~~~ @@ -39,9 +37,8 @@ The following topics are addressed here: * link:#BNBTO[Eliminating Duplicate Values] * link:#BNBTP[Using Named Parameters] -[[BNBTN]] +[[BNBTN]][[a-basic-select-query]] -[[a-basic-select-query]] A Basic Select Query ^^^^^^^^^^^^^^^^^^^^ @@ -65,9 +62,8 @@ The `Player` element is the abstract schema name of the `Player` entity. * See also: link:persistence-querylanguage006.html#BNBUM[Identification Variables]. -[[BNBTO]] +[[BNBTO]][[eliminating-duplicate-values]] -[[eliminating-duplicate-values]] Eliminating Duplicate Values ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -89,9 +85,8 @@ denotes the input parameter of the query. Parameters] and link:persistence-querylanguage006.html#BNBWB[The DISTINCT Keyword]. -[[BNBTP]] +[[BNBTP]][[using-named-parameters]] -[[using-named-parameters]] Using Named Parameters ^^^^^^^^^^^^^^^^^^^^^^ @@ -110,9 +105,8 @@ fields with the named parameters of the query, set using the input parameter using a colon (`:`) followed by an identifier. The first input parameter is `:position`, the second is `:name`. -[[BNBTQ]] +[[BNBTQ]][[queries-that-navigate-to-related-entities]] -[[queries-that-navigate-to-related-entities]] Queries That Navigate to Related Entities ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -129,9 +123,8 @@ The following topics are addressed here: * link:#BNBTU[Traversing Multiple Relationships] * link:#BNBTV[Navigating According to Related Fields] -[[BNBTR]] +[[BNBTR]][[a-simple-query-with-relationships]] -[[a-simple-query-with-relationships]] A Simple Query with Relationships ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -167,9 +160,8 @@ FROM Player p WHERE p.team IS NOT EMPTY ---- -[[BNBTS]] +[[BNBTS]][[navigating-to-single-valued-relationship-fields]] -[[navigating-to-single-valued-relationship-fields]] Navigating to Single-Valued Relationship Fields ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -186,9 +178,8 @@ WHERE l.sport = 'soccer' OR l.sport ='football' In this example, the query will return all teams that are in either soccer or football leagues. -[[BNBTT]] +[[BNBTT]][[traversing-relationships-with-an-input-parameter]] -[[traversing-relationships-with-an-input-parameter]] Traversing Relationships with an Input Parameter ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -216,9 +207,8 @@ illegal expression). * See also: link:persistence-querylanguage006.html#BNBUQ[Path Expressions]. -[[BNBTU]] +[[BNBTU]][[traversing-multiple-relationships]] -[[traversing-multiple-relationships]] Traversing Multiple Relationships ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -240,9 +230,8 @@ this example, the parameter is an object whose type is a `League`. This type matches the `league` relationship field in the comparison expression of the `WHERE` clause. -[[BNBTV]] +[[BNBTV]][[navigating-according-to-related-fields]] -[[navigating-according-to-related-fields]] Navigating According to Related Fields ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -261,9 +250,8 @@ the `Player` entity to `Team` (`p.teams`) and then from `Team` to the `league` relationship field can be followed by the `sport` persistent field. -[[BNBTW]] +[[BNBTW]][[queries-with-other-conditional-expressions]] -[[queries-with-other-conditional-expressions]] Queries with Other Conditional Expressions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -282,9 +270,8 @@ The following topics are addressed here: * link:#BNBUA[The BETWEEN Expression] * link:#BNBUB[Comparison Operators] -[[BNBTX]] +[[BNBTX]][[the-like-expression]] -[[the-like-expression]] The LIKE Expression ^^^^^^^^^^^^^^^^^^^ @@ -304,9 +291,8 @@ whose names begin with the string "Mich." For example, "Michael" and * See also: link:persistence-querylanguage006.html#BNBVG[LIKE Expressions]. -[[BNBTY]] +[[BNBTY]][[the-is-null-expression]] -[[the-is-null-expression]] The IS NULL Expression ^^^^^^^^^^^^^^^^^^^^^^ @@ -326,9 +312,8 @@ teams that do not have a league. Expressions] and link:persistence-querylanguage006.html#BNBVR[NULL Values]. -[[BNBTZ]] +[[BNBTZ]][[the-is-empty-expression]] -[[the-is-empty-expression]] The IS EMPTY Expression ^^^^^^^^^^^^^^^^^^^^^^^ @@ -346,9 +331,8 @@ collection is empty, and the conditional expression is `TRUE`. * See also: link:persistence-querylanguage006.html#BNBVJ[Empty Collection Comparison Expressions]. -[[BNBUA]] +[[BNBUA]][[the-between-expression]] -[[the-between-expression]] The BETWEEN Expression ^^^^^^^^^^^^^^^^^^^^^^ @@ -373,9 +357,8 @@ p.salary >= :lowerSalary AND p.salary <= :higherSalary * See also: link:persistence-querylanguage006.html#BNBVE[BETWEEN Expressions]. -[[BNBUB]] +[[BNBUB]][[comparison-operators]] -[[comparison-operators]] Comparison Operators ^^^^^^^^^^^^^^^^^^^^ @@ -395,9 +378,8 @@ one player (`p2`) with that of the other players (`p1`). * See also: link:persistence-querylanguage006.html#BNBUM[Identification Variables]. -[[BNBUC]] +[[BNBUC]][[bulk-updates-and-deletes]] -[[bulk-updates-and-deletes]] Bulk Updates and Deletes ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -412,9 +394,8 @@ The following topics are addressed here: * link:#BNBUD[Update Queries] * link:#BNBUE[Delete Queries] -[[BNBUD]] +[[BNBUD]][[update-queries]] -[[update-queries]] Update Queries ^^^^^^^^^^^^^^ @@ -429,9 +410,8 @@ WHERE p.lastPlayed < :inactiveThresholdDate `inactive` if the player's last game was longer ago than the date specified in `inactiveThresholdDate`. -[[BNBUE]] +[[BNBUE]][[delete-queries]] -[[delete-queries]] Delete Queries ^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/persistence-querylanguage006.adoc b/src/main/jbake/content/persistence-querylanguage006.adoc index 438e263..048c218 100644 --- a/src/main/jbake/content/persistence-querylanguage006.adoc +++ b/src/main/jbake/content/persistence-querylanguage006.adoc @@ -7,9 +7,8 @@ prev=persistence-querylanguage005.html = Full Query Language Syntax -[[BNBUF]] +[[BNBUF]][[full-query-language-syntax]] -[[full-query-language-syntax]] Full Query Language Syntax -------------------------- @@ -29,9 +28,8 @@ The following topics are addressed here: * link:#BNBWD[ORDER BY Clause] * link:#BNBWE[GROUP BY and HAVING Clauses] -[[BNBUG]] +[[BNBUG]][[bnf-symbols]] -[[bnf-symbols]] BNF Symbols ~~~~~~~~~~~ @@ -71,9 +69,8 @@ or a line feed. |======================================================================= -[[BNBUI]] +[[BNBUI]][[bnf-grammar-of-the-java-persistence-query-language]] -[[bnf-grammar-of-the-java-persistence-query-language]] BNF Grammar of the Java Persistence Query Language ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -300,9 +297,8 @@ functions_returning_strings ::= trim_specification ::= LEADING | TRAILING | BOTH ---- -[[BNBUJ]] +[[BNBUJ]][[from-clause]] -[[from-clause]] FROM Clause ~~~~~~~~~~~ @@ -317,9 +313,8 @@ The following topics are addressed here: * link:#BNBUO[Collection Member Declarations] * link:#BNBUP[Joins] -[[BNBUK]] +[[BNBUK]][[identifiers]] -[[identifiers]] Identifiers ^^^^^^^^^^^ @@ -424,9 +419,8 @@ It is not recommended that you use an SQL keyword as an identifier, because the list of keywords may expand to include other reserved SQL words in the future. -[[BNBUM]] +[[BNBUM]][[identification-variables]] -[[identification-variables]] Identification Variables ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -489,9 +483,8 @@ value whose type is that of the expression used in the declaration. There are two kinds of declarations: range variable and collection member. -[[BNBUN]] +[[BNBUN]][[range-variable-declarations]] -[[range-variable-declarations]] Range Variable Declarations ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -530,9 +523,8 @@ FROM Player p1, Player p2 For an example of such a query, see link:persistence-querylanguage005.html#BNBUB[Comparison Operators]. -[[BNBUO]] +[[BNBUO]][[collection-member-declarations]] -[[collection-member-declarations]] Collection Member Declarations ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -560,9 +552,8 @@ identification variable called `t` represents a single member of the FROM Player p, IN (p.teams) t ---- -[[BNBUP]] +[[BNBUP]][[joins]] -[[joins]] Joins ^^^^^ @@ -630,9 +621,8 @@ FROM Department d LEFT JOIN FETCH d.employees WHERE d.deptno = 1 ---- -[[BNBUQ]] +[[BNBUQ]][[path-expressions]] -[[path-expressions]] Path Expressions ~~~~~~~~~~~~~~~~ @@ -651,9 +641,8 @@ The following topics are addressed here: * link:#BNBUS[Expression Types] * link:#BNBUT[Navigation] -[[BNBUR]] +[[BNBUR]][[examples-of-path-expressions]] -[[examples-of-path-expressions]] Examples of Path Expressions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -691,9 +680,8 @@ FROM Player p WHERE p.teams IS EMPTY ---- -[[BNBUS]] +[[BNBUS]][[expression-types]] -[[expression-types]] Expression Types ^^^^^^^^^^^^^^^^ @@ -714,9 +702,8 @@ is the abstract schema name for the `Team` entity, this type maps to the entity. For more information on the type mapping of abstract schemas, see link:#BNBVY[Return Types]. -[[BNBUT]] +[[BNBUT]][[navigation]] -[[navigation]] Navigation ^^^^^^^^^^ @@ -736,9 +723,8 @@ FROM Player AS p, IN (p.teams) t WHERE t.league.sport = 'soccer' ---- -[[BNBUU]] +[[BNBUU]][[where-clause]] -[[where-clause]] WHERE Clause ~~~~~~~~~~~~ @@ -772,9 +758,8 @@ The following topics are addressed here: * link:#BNBVR[NULL Values] * link:#BNBVU[Equality Semantics] -[[BNBUV]] +[[BNBUV]][[literals]] -[[literals]] Literals ^^^^^^^^ @@ -821,9 +806,8 @@ FROM Employee e WHERE e.status = com.example.EmployeeStatus.FULL_TIME ---- -[[BNBVA]] +[[BNBVA]][[input-parameters]] -[[input-parameters]] Input Parameters ^^^^^^^^^^^^^^^^ @@ -844,9 +828,8 @@ The following rules apply to input parameters. single query. * Named parameters are case-sensitive. -[[BNBVB]] +[[BNBVB]][[conditional-expressions]] -[[conditional-expressions]] Conditional Expressions ^^^^^^^^^^^^^^^^^^^^^^^ @@ -854,9 +837,8 @@ A `WHERE` clause consists of a conditional expression, which is evaluated from left to right within a precedence level. You can change the order of evaluation by using parentheses. -[[BNBVC]] +[[BNBVC]][[operators-and-their-precedence]] -[[operators-and-their-precedence]] Operators and Their Precedence ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -913,9 +895,8 @@ decreasing precedence. |================================== -[[BNBVE]] +[[BNBVE]][[between-expressions]] -[[between-expressions]] BETWEEN Expressions ^^^^^^^^^^^^^^^^^^^ @@ -941,9 +922,8 @@ p.age < 15 OR p.age > 19 If an arithmetic expression has a `NULL` value, the value of the `BETWEEN` expression is unknown. -[[BNBVF]] +[[BNBVF]][[in-expressions]] -[[in-expressions]] IN Expressions ^^^^^^^^^^^^^^ @@ -969,9 +949,8 @@ You may also use input parameters: o.country IN ('UK', 'US', 'France', :country) ---- -[[BNBVG]] +[[BNBVG]][[like-expressions]] -[[like-expressions]] LIKE Expressions ^^^^^^^^^^^^^^^^ @@ -1010,9 +989,8 @@ sample `LIKE` expressions. |============================================================ -[[BNBVI]] +[[BNBVI]][[null-comparison-expressions]] -[[null-comparison-expressions]] NULL Comparison Expressions ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1042,9 +1020,8 @@ The comparison with `NULL` using the equals operator (`=`) always returns an unknown value, even if the relationship is not set. The second query will always return an empty result. -[[BNBVJ]] +[[BNBVJ]][[empty-collection-comparison-expressions]] -[[empty-collection-comparison-expressions]] Empty Collection Comparison Expressions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1065,9 +1042,8 @@ FROM CustomerOrder o WHERE o.lineItems IS EMPTY ---- -[[BNBVK]] +[[BNBVK]][[collection-member-expressions]] -[[collection-member-expressions]] Collection Member Expressions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1091,9 +1067,8 @@ FROM CustomerOrder o WHERE :lineItem MEMBER OF o.lineItems ---- -[[BNBVL]] +[[BNBVL]][[subqueries]] -[[subqueries]] Subqueries ^^^^^^^^^^ @@ -1153,9 +1128,8 @@ WHERE emp.salary > ALL ( WHERE m.department = emp.department) ---- -[[BNBVO]] +[[BNBVO]][[functional-expressions]] -[[functional-expressions]] Functional Expressions ^^^^^^^^^^^^^^^^^^^^^^ @@ -1258,9 +1232,8 @@ time, or timestamp on the database server. |========================================= -[[GJJND]] +[[GJJND]][[case-expressions]] -[[case-expressions]] Case Expressions ^^^^^^^^^^^^^^^^ @@ -1306,9 +1279,8 @@ SET c.discount = END ---- -[[BNBVR]] +[[BNBVR]][[null-values]] -[[null-values]] NULL Values ^^^^^^^^^^^ @@ -1354,9 +1326,8 @@ these tables, T stands for `TRUE`, F for `FALSE`, and U for unknown.) |=========== -[[BNBVU]] +[[BNBVU]][[equality-semantics]] -[[equality-semantics]] Equality Semantics ^^^^^^^^^^^^^^^^^^ @@ -1407,9 +1378,8 @@ truth values of conditional tests. |============================== -[[BNBVX]] +[[BNBVX]][[select-clause]] -[[select-clause]] SELECT Clause ~~~~~~~~~~~~~ @@ -1422,9 +1392,8 @@ The following topics are addressed here: * link:#BNBWB[The DISTINCT Keyword] * link:#BNBWC[Constructor Expressions] -[[BNBVY]] +[[BNBVY]][[return-types]] -[[return-types]] Return Types ^^^^^^^^^^^^ @@ -1537,9 +1506,8 @@ FROM CustomerOrder o JOIN o.lineItems l JOIN o.customer c WHERE c.lastname = 'Incandenza' AND c.firstname = 'Hal' ---- -[[BNBWB]] +[[BNBWB]][[the-distinct-keyword]] -[[the-distinct-keyword]] The DISTINCT Keyword ^^^^^^^^^^^^^^^^^^^^ @@ -1547,9 +1515,8 @@ The `DISTINCT` keyword eliminates duplicate return values. If a query returns a `java.util.Collection`, which allows duplicates, you must specify the `DISTINCT` keyword to eliminate duplicates. -[[BNBWC]] +[[BNBWC]][[constructor-expressions]] -[[constructor-expressions]] Constructor Expressions ^^^^^^^^^^^^^^^^^^^^^^^ @@ -1568,9 +1535,8 @@ FROM customer c WHERE c.lastname = 'Coss' AND c.firstname = 'Roxane' ---- -[[BNBWD]] +[[BNBWD]][[order-by-clause]] -[[order-by-clause]] ORDER BY Clause ~~~~~~~~~~~~~~~ @@ -1608,9 +1574,8 @@ WHERE c.lastname = 'Faehmel' AND c.firstname = 'Robert' ORDER BY o.quantity ---- -[[BNBWE]] +[[BNBWE]][[group-by-and-having-clauses]] -[[group-by-and-having-clauses]] GROUP BY and HAVING Clauses ~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/persistence-string-queries.adoc b/src/main/jbake/content/persistence-string-queries.adoc index b9988a9..b556309 100644 --- a/src/main/jbake/content/persistence-string-queries.adoc +++ b/src/main/jbake/content/persistence-string-queries.adoc @@ -7,9 +7,8 @@ prev=persistence-criteria003.html Creating and Using String-Based Criteria Queries ================================================ -[[GKJIQ]] +[[GKJIQ]][[creating-and-using-string-based-criteria-queries]] -[[creating-and-using-string-based-criteria-queries]] 44 Creating and Using String-Based Criteria Queries --------------------------------------------------- diff --git a/src/main/jbake/content/persistence-string-queries001.adoc b/src/main/jbake/content/persistence-string-queries001.adoc index ca51bc2..3860400 100644 --- a/src/main/jbake/content/persistence-string-queries001.adoc +++ b/src/main/jbake/content/persistence-string-queries001.adoc @@ -7,9 +7,8 @@ prev=persistence-string-queries.html Overview of String-Based Criteria API Queries ============================================= -[[GKJIV]] +[[GKJIV]][[overview-of-string-based-criteria-api-queries]] -[[overview-of-string-based-criteria-api-queries]] Overview of String-Based Criteria API Queries --------------------------------------------- diff --git a/src/main/jbake/content/persistence-string-queries002.adoc b/src/main/jbake/content/persistence-string-queries002.adoc index 818580c..83709dc 100644 --- a/src/main/jbake/content/persistence-string-queries002.adoc +++ b/src/main/jbake/content/persistence-string-queries002.adoc @@ -7,9 +7,8 @@ prev=persistence-string-queries001.html Creating String-Based Queries ============================= -[[GKJBQ]] +[[GKJBQ]][[creating-string-based-queries]] -[[creating-string-based-queries]] Creating String-Based Queries ----------------------------- diff --git a/src/main/jbake/content/persistence-string-queries003.adoc b/src/main/jbake/content/persistence-string-queries003.adoc index a8bf8da..a76b32f 100644 --- a/src/main/jbake/content/persistence-string-queries003.adoc +++ b/src/main/jbake/content/persistence-string-queries003.adoc @@ -7,9 +7,8 @@ prev=persistence-string-queries002.html Executing String-Based Queries ============================== -[[GKJDB]] +[[GKJDB]][[executing-string-based-queries]] -[[executing-string-based-queries]] Executing String-Based Queries ------------------------------ diff --git a/src/main/jbake/content/preface.adoc b/src/main/jbake/content/preface.adoc index 4b4bd8e..a2fbba4 100644 --- a/src/main/jbake/content/preface.adoc +++ b/src/main/jbake/content/preface.adoc @@ -7,9 +7,8 @@ prev=title.html = Preface -[[GEXAF]] +[[GEXAF]][[preface]] -[[preface]] Preface ------- @@ -38,9 +37,8 @@ The following topics are addressed here: * link:#conventions[Conventions] * link:#default-paths-and-file-names[Default Paths and File Names] -[[CIACGIBD]] +[[CIACGIBD]][[audience]] -[[audience]] Audience ~~~~~~~~ @@ -49,9 +47,8 @@ deploying Java EE 8 applications. It covers the technologies comprising the Java EE platform and describes how to develop Java EE components and deploy them on the Java EE Software Development Kit (SDK). -[[CIAHFICG]] +[[CIAHFICG]][[documentation-accessibility]] -[[documentation-accessibility]] Documentation Accessibility ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -69,9 +66,8 @@ support through My Oracle Support. For information, visit `http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs` if you are hearing impaired. -[[BNAAC]] +[[BNAAC]][[before-you-read-this-book]] -[[before-you-read-this-book]] Before You Read This Book ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -80,9 +76,8 @@ of the Java programming language. A good way to get to that point is to work through the Java Tutorials (`http://docs.oracle.com/javase/tutorial/index.html`). -[[GIPRL]] +[[GIPRL]][[related-documentation]] -[[related-documentation]] Related Documentation ~~~~~~~~~~~~~~~~~~~~~ @@ -112,9 +107,8 @@ Samples are bundled with the Java EE Software Development Kit (SDK) and are also available from the GlassFish Samples project page at `https://javaee.github.io/glassfish-samples/`. -[[GKVTF]] +[[GKVTF]][[conventions]] -[[conventions]] Conventions ~~~~~~~~~~~ @@ -150,9 +144,8 @@ The command to remove a file is `rm _filename_`. |======================================================================= -[[GFIRK]] +[[GFIRK]][[default-paths-and-file-names]] -[[default-paths-and-file-names]] Default Paths and File Names ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/resource-creation.adoc b/src/main/jbake/content/resource-creation.adoc index cc3409c..e30ec79 100644 --- a/src/main/jbake/content/resource-creation.adoc +++ b/src/main/jbake/content/resource-creation.adoc @@ -7,9 +7,8 @@ prev=partplatform.html Resource Creation ================= -[[GKJIQ2]] +[[GKJIQ2]][[resource-creation]] -[[resource-creation]] 3 Resource Creation ------------------- diff --git a/src/main/jbake/content/resource-creation001.adoc b/src/main/jbake/content/resource-creation001.adoc index 29d14e4..236b684 100644 --- a/src/main/jbake/content/resource-creation001.adoc +++ b/src/main/jbake/content/resource-creation001.adoc @@ -7,9 +7,8 @@ prev=resource-creation.html Resources and JNDI Naming ========================= -[[BNCJI]] +[[BNCJI]][[resources-and-jndi-naming]] -[[resources-and-jndi-naming]] Resources and JNDI Naming ------------------------- diff --git a/src/main/jbake/content/resource-creation002.adoc b/src/main/jbake/content/resource-creation002.adoc index d4d528c..00198a4 100644 --- a/src/main/jbake/content/resource-creation002.adoc +++ b/src/main/jbake/content/resource-creation002.adoc @@ -7,9 +7,8 @@ prev=resource-creation001.html = DataSource Objects and Connection Pools -[[BNCJJ]] +[[BNCJJ]][[datasource-objects-and-connection-pools]] -[[datasource-objects-and-connection-pools]] DataSource Objects and Connection Pools --------------------------------------- diff --git a/src/main/jbake/content/resource-creation003.adoc b/src/main/jbake/content/resource-creation003.adoc index 210d6a5..ba3bd2a 100644 --- a/src/main/jbake/content/resource-creation003.adoc +++ b/src/main/jbake/content/resource-creation003.adoc @@ -7,9 +7,8 @@ prev=resource-creation002.html Creating Resources Administratively =================================== -[[CACFBGBE]] +[[CACFBGBE]][[creating-resources-administratively]] -[[creating-resources-administratively]] Creating Resources Administratively ----------------------------------- diff --git a/src/main/jbake/content/resources.adoc b/src/main/jbake/content/resources.adoc index 4b9c44b..7fb3645 100644 --- a/src/main/jbake/content/resources.adoc +++ b/src/main/jbake/content/resources.adoc @@ -7,9 +7,8 @@ prev=transactions009.html Resource Adapters and Contracts =============================== -[[BNCJH]] +[[BNCJH]][[resource-adapters-and-contracts]] -[[resource-adapters-and-contracts]] 56 Resource Adapters and Contracts ---------------------------------- diff --git a/src/main/jbake/content/resources001.adoc b/src/main/jbake/content/resources001.adoc index f69cef4..f89a82c 100644 --- a/src/main/jbake/content/resources001.adoc +++ b/src/main/jbake/content/resources001.adoc @@ -7,9 +7,8 @@ prev=resources.html What Is a Resource Adapter? =========================== -[[GIPGL]] +[[GIPGL]][[what-is-a-resource-adapter]] -[[what-is-a-resource-adapter]] What Is a Resource Adapter? --------------------------- @@ -49,18 +48,16 @@ services that are managed by the Java EE server. The resource adapter itself and its system contracts are transparent to the Java EE component. -[[GIPGY]] +[[GIPGY]][[management-contracts]] -[[management-contracts]] Management Contracts ~~~~~~~~~~~~~~~~~~~~ The Java EE Connector Architecture defines system contracts that enable resource adapter lifecycle and thread management. -[[GIPHT]] +[[GIPHT]][[lifecycle-management]] -[[lifecycle-management]] Lifecycle Management ^^^^^^^^^^^^^^^^^^^^ @@ -73,9 +70,8 @@ application server to notify the resource adapter instance when it is undeployed or when an orderly shutdown of the application server takes place. -[[GIPIG]] +[[GIPIG]][[work-management-contract]] -[[work-management-contract]] Work Management Contract ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -124,9 +120,8 @@ resource adapter can also specify the execution context for the thread, and the work management contract controls the context in which the thread executes. -[[GIPMK]] +[[GIPMK]][[generic-work-context-contract]] -[[generic-work-context-contract]] Generic Work Context Contract ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -146,9 +141,8 @@ control over concurrent behavior in a managed environment. The generic work context contract standardizes the transaction context and the security context. -[[GKCKI]] +[[GKCKI]][[outbound-and-inbound-contracts]] -[[outbound-and-inbound-contracts]] Outbound and Inbound Contracts ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/resources002.adoc b/src/main/jbake/content/resources002.adoc index ee5700b..d50e66a 100644 --- a/src/main/jbake/content/resources002.adoc +++ b/src/main/jbake/content/resources002.adoc @@ -7,9 +7,8 @@ prev=resources001.html Metadata Annotations ==================== -[[GIRDD]] +[[GIRDD]][[metadata-annotations]] -[[metadata-annotations]] Metadata Annotations -------------------- diff --git a/src/main/jbake/content/resources003.adoc b/src/main/jbake/content/resources003.adoc index 37a5573..be98fcd 100644 --- a/src/main/jbake/content/resources003.adoc +++ b/src/main/jbake/content/resources003.adoc @@ -7,9 +7,8 @@ prev=resources002.html Common Client Interface ======================= -[[GIPJU]] +[[GIPJU]][[common-client-interface]] -[[common-client-interface]] Common Client Interface ----------------------- diff --git a/src/main/jbake/content/resources004.adoc b/src/main/jbake/content/resources004.adoc index 6796f44..eab32ee 100644 --- a/src/main/jbake/content/resources004.adoc +++ b/src/main/jbake/content/resources004.adoc @@ -7,9 +7,8 @@ prev=resources003.html Using Resource Adapters with Contexts and Dependency Injection for Java EE (CDI) ================================================================================ -[[CHDJFIGB]] +[[CHDJFIGB]][[using-resource-adapters-with-contexts-and-dependency-injection-for-java-ee-cdi]] -[[using-resource-adapters-with-contexts-and-dependency-injection-for-java-ee-cdi]] Using Resource Adapters with Contexts and Dependency Injection for Java EE (CDI) -------------------------------------------------------------------------------- diff --git a/src/main/jbake/content/resources005.adoc b/src/main/jbake/content/resources005.adoc index 35952b4..3b33718 100644 --- a/src/main/jbake/content/resources005.adoc +++ b/src/main/jbake/content/resources005.adoc @@ -7,9 +7,8 @@ prev=resources004.html Further Information about Resource Adapters =========================================== -[[BNCJW]] +[[BNCJW]][[further-information-about-resource-adapters]] -[[further-information-about-resource-adapters]] Further Information about Resource Adapters ------------------------------------------- diff --git a/src/main/jbake/content/security-advanced.adoc b/src/main/jbake/content/security-advanced.adoc index 98d1102..4af12eb 100644 --- a/src/main/jbake/content/security-advanced.adoc +++ b/src/main/jbake/content/security-advanced.adoc @@ -6,9 +6,8 @@ prev=security-api005.html ~~~~~~ = Java EE Security: Advanced Topics -[[GJJWX]] +[[GJJWX]][[java-ee-security-advanced-topics]] -[[java-ee-security-advanced-topics]] 54 Java EE Security: Advanced Topics ------------------------------------ diff --git a/src/main/jbake/content/security-advanced001.adoc b/src/main/jbake/content/security-advanced001.adoc index 078c1ee..ce51635 100644 --- a/src/main/jbake/content/security-advanced001.adoc +++ b/src/main/jbake/content/security-advanced001.adoc @@ -7,9 +7,8 @@ prev=security-advanced.html Working with Digital Certificates ================================= -[[BNBYB]] +[[BNBYB]][[working-with-digital-certificates]] -[[working-with-digital-certificates]] Working with Digital Certificates --------------------------------- @@ -77,9 +76,8 @@ For a better understanding of `keytool` and public-key cryptography, see link:security-advanced008.html#BABBGBBF[Further Information about Advanced Security Topics] for a link to the `keytool` documentation. -[[BNBYC]] +[[BNBYC]][[creating-a-server-certificate]] -[[creating-a-server-certificate]] Creating a Server Certificate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -112,9 +110,8 @@ contains more than one certificate. The next section provides specific information on using the `keytool` utility to perform these steps. -[[GJRGY]] +[[GJRGY]][[to-use-keytool-to-create-a-server-certificate]] -[[to-use-keytool-to-create-a-server-certificate]] To Use keytool to Create a Server Certificate ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -209,9 +206,8 @@ Certificate was added to keystore [Storing cacerts.jks] ---- -[[GLIFW]] +[[GLIFW]][[adding-users-to-the-certificate-realm]] -[[adding-users-to-the-certificate-realm]] Adding Users to the Certificate Realm ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -221,9 +217,8 @@ cryptographically verified client certificates. For step-by-step instructions for creating this type of certificate, see link:#BNBYB[Working with Digital Certificates]. -[[BNBYF]] +[[BNBYF]][[using-a-different-server-certificate-with-glassfish-server]] -[[using-a-different-server-certificate-with-glassfish-server]] Using a Different Server Certificate with GlassFish Server ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -240,9 +235,8 @@ name of your server. For testing purposes, this can be `localhost`. change your keystore's password to the default password (`changeit`) or change the default password to your keystore's password. -[[sthref230]] +[[sthref230]][[to-specify-a-different-server-certificate]] -[[to-specify-a-different-server-certificate]] To Specify a Different Server Certificate ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/security-advanced002.adoc b/src/main/jbake/content/security-advanced002.adoc index 5042b4b..41a7081 100644 --- a/src/main/jbake/content/security-advanced002.adoc +++ b/src/main/jbake/content/security-advanced002.adoc @@ -6,9 +6,8 @@ prev=security-advanced001.html ~~~~~~ = Authentication Mechanisms -[[GLIEN]] +[[GLIEN]][[authentication-mechanisms]] -[[authentication-mechanisms]] Authentication Mechanisms ------------------------- @@ -20,9 +19,8 @@ The following topics are addressed here: * link:#client-authentication[Client Authentication] * link:#mutual-authentication[Mutual Authentication] -[[GLIEQ]] +[[GLIEQ]][[client-authentication]] -[[client-authentication]] Client Authentication ~~~~~~~~~~~~~~~~~~~~~ @@ -58,9 +56,8 @@ authentication mechanisms that can be provided with an application and deployed using CDI. See link:security-api002.html#overview-of-the-http-authentication-mechanism-interface[Overview of the HTTP Authentication Mechanism Interface]. -[[GLIEL]] +[[GLIEL]][[mutual-authentication]] -[[mutual-authentication]] Mutual Authentication ~~~~~~~~~~~~~~~~~~~~~ @@ -112,9 +109,8 @@ image:img/javaeett_dt_049.png[ "Diagram of five steps in mutual authentication with user name and password"] -[[BNBYH]] +[[BNBYH]][[enabling-mutual-authentication-over-ssl]] -[[enabling-mutual-authentication-over-ssl]] Enabling Mutual Authentication over SSL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -147,9 +143,8 @@ all of the time, which can severely degrade performance. When client authentication is enabled in both of these ways, client authentication will be performed twice. -[[BNBYI]] +[[BNBYI]][[creating-a-client-certificate-for-mutual-authentication]] -[[creating-a-client-certificate-for-mutual-authentication]] Creating a Client Certificate for Mutual Authentication ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/security-advanced003.adoc b/src/main/jbake/content/security-advanced003.adoc index c0c89ab..7ba1f27 100644 --- a/src/main/jbake/content/security-advanced003.adoc +++ b/src/main/jbake/content/security-advanced003.adoc @@ -7,9 +7,8 @@ prev=security-advanced002.html Using the JDBC Realm for User Authentication ============================================ -[[BABEJJDE]] +[[BABEJJDE]][[using-the-jdbc-realm-for-user-authentication]] -[[using-the-jdbc-realm-for-user-authentication]] Using the JDBC Realm for User Authentication -------------------------------------------- @@ -44,9 +43,8 @@ Two of the tutorial case studies, link:dukes-tutoring.html#GKAEE[Chapter link:dukes-forest.html#GLNPW[Chapter 62, "Duke's Forest Case Study Example,"] use a JDBC realm for user authentication. -[[sthref233]] +[[sthref233]][[to-configure-a-jdbc-authentication-realm]] -[[to-configure-a-jdbc-authentication-realm]] To Configure a JDBC Authentication Realm ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/security-advanced004.adoc b/src/main/jbake/content/security-advanced004.adoc index 68402b4..b7c2114 100644 --- a/src/main/jbake/content/security-advanced004.adoc +++ b/src/main/jbake/content/security-advanced004.adoc @@ -7,9 +7,8 @@ prev=security-advanced003.html Securing HTTP Resources ======================= -[[BABGEJJJ]] +[[BABGEJJJ]][[securing-http-resources]] -[[securing-http-resources]] Securing HTTP Resources ----------------------- diff --git a/src/main/jbake/content/security-advanced005.adoc b/src/main/jbake/content/security-advanced005.adoc index 3157565..61a68f1 100644 --- a/src/main/jbake/content/security-advanced005.adoc +++ b/src/main/jbake/content/security-advanced005.adoc @@ -7,9 +7,8 @@ prev=security-advanced004.html Securing Application Clients ============================ -[[GLIGC]] +[[GLIGC]][[securing-application-clients]] -[[securing-application-clients]] Securing Application Clients ---------------------------- @@ -46,9 +45,8 @@ descriptor. The application's callback handler must fully support `Callback` objects specified in the `javax.security.auth.callback` package. -[[GLIDW]] +[[GLIDW]][[using-login-modules]] -[[using-login-modules]] Using Login Modules ~~~~~~~~~~~~~~~~~~~ @@ -87,9 +85,8 @@ refer to the documentation listed in link:security-advanced008.html#BABBGBBF[Further Information about Advanced Security Topics]. -[[GLIHQ]] +[[GLIHQ]][[using-programmatic-login]] -[[using-programmatic-login]] Using Programmatic Login ~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/security-advanced006.adoc b/src/main/jbake/content/security-advanced006.adoc index 42848a3..311e409 100644 --- a/src/main/jbake/content/security-advanced006.adoc +++ b/src/main/jbake/content/security-advanced006.adoc @@ -6,9 +6,8 @@ prev=security-advanced005.html ~~~~~~ = Securing Enterprise Information Systems Applications -[[GLIFD]] +[[GLIFD]][[securing-enterprise-information-systems-applications]] -[[securing-enterprise-information-systems-applications]] Securing Enterprise Information Systems Applications ---------------------------------------------------- @@ -24,9 +23,8 @@ Applications] * link:#configuring-resource-adapter-security[Configuring Resource Adapter Security] * link:#mapping-an-application-principal-to-eis-principals[Mapping an Application Principal to EIS Principals] -[[BABBJHIC]] +[[BABBJHIC]][[overview-of-securing-enterprise-information-systems-applications]] -[[overview-of-securing-enterprise-information-systems-applications]] Overview of Securing Enterprise Information Systems Applications ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -44,9 +42,8 @@ sign-on by including code that performs the sign-on process to an EIS. You can also configure security for resource adapters. See link:#GLIGS[Configuring Resource Adapter Security]. -[[GLIHL]] +[[GLIHL]][[container-managed-sign-on]] -[[container-managed-sign-on]] Container-Managed Sign-On ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -69,9 +66,8 @@ javax.resource.cci.Connection cx = cxf.getConnection(); ... ---- -[[GLIDP]] +[[GLIDP]][[component-managed-sign-on]] -[[component-managed-sign-on]] Component-Managed Sign-On ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -102,9 +98,8 @@ javax.resource.cci.Connection cx = ... ---- -[[GLIGS]] +[[GLIGS]][[configuring-resource-adapter-security]] -[[configuring-resource-adapter-security]] Configuring Resource Adapter Security ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -192,9 +187,8 @@ principal. The security map is usually used if one or more EIS back-end principals are used to execute operations (on the EIS) initiated by various principals or user groups in the application. -[[GLIGW]] +[[GLIGW]][[mapping-an-application-principal-to-eis-principals]] -[[mapping-an-application-principal-to-eis-principals]] Mapping an Application Principal to EIS Principals ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/security-advanced007.adoc b/src/main/jbake/content/security-advanced007.adoc index 0b377c5..271cba3 100644 --- a/src/main/jbake/content/security-advanced007.adoc +++ b/src/main/jbake/content/security-advanced007.adoc @@ -6,9 +6,8 @@ prev=security-advanced006.html ~~~~~~ = Configuring Security Using Deployment Descriptors -[[GKHRL]] +[[GKHRL]][[configuring-security-using-deployment-descriptors]] -[[configuring-security-using-deployment-descriptors]] Configuring Security Using Deployment Descriptors ------------------------------------------------- @@ -26,9 +25,8 @@ Deployment Descriptor] * link:#specifying-non-default-principal-to-role-mapping-in-the-deployment-descriptor[Specifying Non-Default Principal-to-Role Mapping in the Deployment Descriptor] -[[BNCCM]] +[[BNCCM]][[specifying-security-for-basic-authentication-in-the-deployment-descriptor]] -[[specifying-security-for-basic-authentication-in-the-deployment-descriptor]] Specifying Security for Basic Authentication in the Deployment Descriptor ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -76,9 +74,8 @@ been verified to be in the role `TutorialUser`. The user name and password data will be sent over a protected transport in order to keep it from being read in transit. -[[GKAFQ]] +[[GKAFQ]][[specifying-non-default-principal-to-role-mapping-in-the-deployment-descriptor]] -[[specifying-non-default-principal-to-role-mapping-in-the-deployment-descriptor]] Specifying Non-Default Principal-to-Role Mapping in the Deployment Descriptor ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/security-advanced008.adoc b/src/main/jbake/content/security-advanced008.adoc index 4a05197..e1e9d6c 100644 --- a/src/main/jbake/content/security-advanced008.adoc +++ b/src/main/jbake/content/security-advanced008.adoc @@ -7,9 +7,8 @@ prev=security-advanced007.html Further Information about Advanced Security Topics ================================================== -[[BABBGBBF]] +[[BABBGBBF]][[further-information-about-advanced-security-topics]] -[[further-information-about-advanced-security-topics]] Further Information about Advanced Security Topics -------------------------------------------------- diff --git a/src/main/jbake/content/security-api005.adoc b/src/main/jbake/content/security-api005.adoc index 5a2e6a4..f24103c 100644 --- a/src/main/jbake/content/security-api005.adoc +++ b/src/main/jbake/content/security-api005.adoc @@ -183,9 +183,8 @@ select Build. This command builds and deploys the example application to your GlassFish Server instance. -[[GJQZH]] +[[GJQZH]][[to-build-package-and-deploy-the-custom-identity-store-example-using-using-maven]] -[[to-build-package-and-deploy-the-custom-identity-store-example-using-using-maven]] To Build, Package, and Deploy the custom-identity-store Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/security-intro.adoc b/src/main/jbake/content/security-intro.adoc index dd35534..873fef6 100644 --- a/src/main/jbake/content/security-intro.adoc +++ b/src/main/jbake/content/security-intro.adoc @@ -7,9 +7,8 @@ prev=partsecurity.html = Introduction to Security in the Java EE Platform -[[BNBWJ]] +[[BNBWJ]][[introduction-to-security-in-the-java-ee-platform]] -[[introduction-to-security-in-the-java-ee-platform]] 50 Introduction to Security in the Java EE Platform --------------------------------------------------- diff --git a/src/main/jbake/content/security-intro001.adoc b/src/main/jbake/content/security-intro001.adoc index 534e325..a13958f 100644 --- a/src/main/jbake/content/security-intro001.adoc +++ b/src/main/jbake/content/security-intro001.adoc @@ -6,9 +6,8 @@ prev=security-intro.html ~~~~~~ = Overview of Java EE Security -[[BNBWK]] +[[BNBWK]][[overview-of-java-ee-security]] -[[overview-of-java-ee-security]] Overview of Java EE Security ---------------------------- @@ -72,9 +71,8 @@ components, such as enterprise beans and application clients. describes the authentication and credential validation funtionality provided by the Java EE security API, and provides examples. -[[BNBWL]] +[[BNBWL]][[a-simple-application-security-walkthrough]] -[[a-simple-application-security-walkthrough]] A Simple Application Security Walkthrough ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -87,9 +85,8 @@ Specification, the web client relies on the web server to act as its authentication proxy by collecting user authentication data from the client and using it to establish an authenticated session. -[[BNBWM]] +[[BNBWM]][[step-1-initial-request]] -[[step-1-initial-request]] Step 1: Initial Request ^^^^^^^^^^^^^^^^^^^^^^^ @@ -110,9 +107,8 @@ and invokes the appropriate authentication mechanism for this resource. For more information on these mechanisms, see link:security-intro002.html#BNBWY[Security Mechanisms]. -[[BNBWO]] +[[BNBWO]][[step-2-initial-authentication]] -[[step-2-initial-authentication]] Step 2: Initial Authentication ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -131,9 +127,8 @@ image:img/javaeett_dt_040.png[ "Diagram of initial authentication: server sends form to client, which sends authentication data to server for validation"] -[[BNBWQ]] +[[BNBWQ]][[step-3-url-authorization]] -[[step-3-url-authorization]] Step 3: URL Authorization ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -157,9 +152,8 @@ the web server is able to map the user to a role. A "not authorized" outcome is reached if the web server is unable to map the user to any of the permitted roles. -[[BNBWS]] +[[BNBWS]][[step-4-fulfilling-the-original-request]] -[[step-4-fulfilling-the-original-request]] Step 4: Fulfilling the Original Request ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -179,9 +173,8 @@ component of the application. See link:security-webtier.html#BNCAS[Chapter 51, "Getting Started Securing Web Applications"] for more information on protecting web applications. -[[BNBWU]] +[[BNBWU]][[step-5-invoking-enterprise-bean-business-methods]] -[[step-5-invoking-enterprise-bean-business-methods]] Step 5: Invoking Enterprise Bean Business Methods ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -218,9 +211,8 @@ enterprise bean method. The result of the bean's execution of the call is returned to the web page and ultimately to the user by the web server and the web client. -[[BNBWW]] +[[BNBWW]][[features-of-a-security-mechanism]] -[[features-of-a-security-mechanism]] Features of a Security Mechanism ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -240,9 +232,8 @@ Ideally, properly implemented security mechanisms will also be * Transparent to system users * Interoperable across application and enterprise boundaries -[[BNBWX]] +[[BNBWX]][[characteristics-of-application-security]] -[[characteristics-of-application-security]] Characteristics of Application Security ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/security-intro002.adoc b/src/main/jbake/content/security-intro002.adoc index 5276ba2..0d17c06 100644 --- a/src/main/jbake/content/security-intro002.adoc +++ b/src/main/jbake/content/security-intro002.adoc @@ -6,9 +6,8 @@ prev=security-intro001.html ~~~~~~ = Security Mechanisms -[[BNBWY]] +[[BNBWY]][[security-mechanisms]] -[[security-mechanisms]] Security Mechanisms ------------------- @@ -24,9 +23,8 @@ The following topics are addressed here: * link:#BNBWZ[Java SE Security Mechanisms] * link:#BNBXA[Java EE Security Mechanisms] -[[BNBWZ]] +[[BNBWZ]][[java-se-security-mechanisms]] -[[java-se-security-mechanisms]] Java SE Security Mechanisms ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -69,9 +67,8 @@ and obtaining, listing, and managing Kerberos tickets. For more information on Java SE security, visit `http://docs.oracle.com/javase/7/docs/technotes/guides/security/`. -[[BNBXA]] +[[BNBXA]][[java-ee-security-mechanisms]] -[[java-ee-security-mechanisms]] Java EE Security Mechanisms ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -83,9 +80,8 @@ authenticating users and authorizing access to application functions and associated data at many different layers. Java EE security services are separate from the security mechanisms of the operating system. -[[BNBXB]] +[[BNBXB]][[application-layer-security]] -[[application-layer-security]] Application-Layer Security ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -125,9 +121,8 @@ transferable between application types. For more information on providing security at the application layer, see link:security-intro003.html#BNBXE[Securing Containers]. -[[BNBXC]] +[[BNBXC]][[transport-layer-security]] -[[transport-layer-security]] Transport-Layer Security ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -179,9 +174,8 @@ For more information on transport-layer security, see link:security-intro006.html#BNBXW[Establishing a Secure Connection Using SSL]. -[[BNBXD]] +[[BNBXD]][[message-layer-security]] -[[message-layer-security]] Message-Layer Security ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/security-intro003.adoc b/src/main/jbake/content/security-intro003.adoc index 8c27dd5..d9f0cd5 100644 --- a/src/main/jbake/content/security-intro003.adoc +++ b/src/main/jbake/content/security-intro003.adoc @@ -6,9 +6,8 @@ prev=security-intro002.html ~~~~~~ = Securing Containers -[[BNBXE]] +[[BNBXE]][[securing-containers]] -[[securing-containers]] Securing Containers ------------------- @@ -22,9 +21,8 @@ The following topics are addressed here: * link:#using-deployment-descriptors-for-declarative-security[Using Deployment Descriptors for Declarative Security] * link:#using-programmatic-security[Using Programmatic Security] -[[BNBXG]] +[[BNBXG]][[using-annotations-to-specify-security-information]] -[[using-annotations-to-specify-security-information]] Using Annotations to Specify Security Information ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -47,9 +45,8 @@ descriptors are described only where necessary. For more information on annotations, see link:security-intro007.html#BNBYJ[Further Information about Security]. -[[BNBXF]] +[[BNBXF]][[using-deployment-descriptors-for-declarative-security]] -[[using-deployment-descriptors-for-declarative-security]] Using Deployment Descriptors for Declarative Security ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -85,9 +82,8 @@ Chapter 14 of the EJB 3.2 Core Contracts and Requirements Specification (JSR 345), which can be downloaded from `http://jcp.org/en/jsr/detail?id=345`. -[[BNBXH]] +[[BNBXH]][[using-programmatic-security]] -[[using-programmatic-security]] Using Programmatic Security ~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/security-intro004.adoc b/src/main/jbake/content/security-intro004.adoc index d2ecc6e..2937902 100644 --- a/src/main/jbake/content/security-intro004.adoc +++ b/src/main/jbake/content/security-intro004.adoc @@ -6,9 +6,8 @@ prev=security-intro003a.html ~~~~~~ = Securing GlassFish Server -[[BNBXI]] +[[BNBXI]][[securing-glassfish-server]] -[[securing-glassfish-server]] Securing GlassFish Server ------------------------- diff --git a/src/main/jbake/content/security-intro005.adoc b/src/main/jbake/content/security-intro005.adoc index d1cc842..b6966f8 100644 --- a/src/main/jbake/content/security-intro005.adoc +++ b/src/main/jbake/content/security-intro005.adoc @@ -6,9 +6,8 @@ prev=security-intro004.html ~~~~~~ = Working with Realms, Users, Groups, and Roles -[[BNBXJ]] +[[BNBXJ]][[working-with-realms-users-groups-and-roles]] -[[working-with-realms-users-groups-and-roles]] Working with Realms, Users, Groups, and Roles --------------------------------------------- @@ -46,9 +45,8 @@ By default, group principal names are mapped to roles of the same name. |======================================================================= -[[BNBXK]] +[[BNBXK]][[what-are-realms-users-groups-and-roles]] -[[what-are-realms-users-groups-and-roles]] What Are Realms, Users, Groups, and Roles? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -83,9 +81,8 @@ definition of roles, and mapping of roles to users and groups"] The following sections provide more information on realms, users, groups, and roles. -[[BNBXM]] +[[BNBXM]][[what-is-a-realm]] -[[what-is-a-realm]] What Is a Realm? ^^^^^^^^^^^^^^^^ @@ -123,9 +120,8 @@ Administration Console to manage users in this realm in the same way you manage users in the `file` realm. For more information, see link:#BNBXR[Managing Users and Groups in GlassFish Server]. -[[BNBXN]] +[[BNBXN]][[what-is-a-user]] -[[what-is-a-user]] What Is a User? ^^^^^^^^^^^^^^^ @@ -143,9 +139,8 @@ operating system. The Java EE server authentication service is not connected to the security mechanism of the operating system. The two security services manage users that belong to different realms. -[[BNBXO]] +[[BNBXO]][[what-is-a-group]] -[[what-is-a-group]] What Is a Group? ^^^^^^^^^^^^^^^^ @@ -163,9 +158,8 @@ A group in GlassFish Server has a different scope from a role. A group is designated for the entire GlassFish Server, whereas a role is associated only with a specific application in GlassFish Server. -[[BNBXP]] +[[BNBXP]][[what-is-a-role]] -[[what-is-a-role]] What Is a Role? ^^^^^^^^^^^^^^^ @@ -174,9 +168,8 @@ of resources in an application. A role can be compared to a key that can open a lock. Many people might have a copy of the key. The lock doesn't care who you are, only that you have the right key. -[[BNBXQ]] +[[BNBXQ]][[some-other-terminology]] -[[some-other-terminology]] Some Other Terminology ^^^^^^^^^^^^^^^^^^^^^^ @@ -199,9 +192,8 @@ attributes used to authenticate a principal for Java EE services. A principal acquires a credential upon authentication or from another principal that allows its credential to be used. -[[BNBXR]] +[[BNBXR]][[managing-users-and-groups-in-glassfish-server]] -[[managing-users-and-groups-in-glassfish-server]] Managing Users and Groups in GlassFish Server ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -212,9 +204,8 @@ The following topics are addressed here: * link:#BNBXS[To Add Users to GlassFish Server] -[[BNBXS]] +[[BNBXS]][[to-add-users-to-glassfish-server]] -[[to-add-users-to-glassfish-server]] To Add Users to GlassFish Server ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -265,9 +256,8 @@ in this tutorial. 10. Click OK to add this user to the realm, or click Cancel to quit without saving. -[[BNBXU]] +[[BNBXU]][[setting-up-security-roles]] -[[setting-up-security-roles]] Setting Up Security Roles ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -348,9 +338,8 @@ has declared what roles are authorized to access protected parts of an application, the next step is to map the security role to the name of a user, or principal. -[[BNBXV]] +[[BNBXV]][[mapping-roles-to-users-and-groups]] -[[mapping-roles-to-users-and-groups]] Mapping Roles to Users and Groups ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/security-intro006.adoc b/src/main/jbake/content/security-intro006.adoc index f2fcdd3..d71810e 100644 --- a/src/main/jbake/content/security-intro006.adoc +++ b/src/main/jbake/content/security-intro006.adoc @@ -6,9 +6,8 @@ prev=security-intro005a.html ~~~~~~ = Establishing a Secure Connection Using SSL -[[BNBXW]] +[[BNBXW]][[establishing-a-secure-connection-using-ssl]] -[[establishing-a-secure-connection-using-ssl]] Establishing a Secure Connection Using SSL ------------------------------------------ @@ -70,9 +69,8 @@ domain names do not match, these browsers will display a warning to the client. In general, only address-based virtual hosts are commonly used with SSL in a production environment. -[[BNBXX]] +[[BNBXX]][[verifying-and-configuring-ssl-support]] -[[verifying-and-configuring-ssl-support]] Verifying and Configuring SSL Support ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/security-intro007.adoc b/src/main/jbake/content/security-intro007.adoc index 0bb2ea6..111234d 100644 --- a/src/main/jbake/content/security-intro007.adoc +++ b/src/main/jbake/content/security-intro007.adoc @@ -6,9 +6,8 @@ prev=security-intro006.html ~~~~~~ = Further Information about Security -[[BNBYJ]] +[[BNBYJ]][[further-information-about-security]] -[[further-information-about-security]] Further Information about Security ---------------------------------- diff --git a/src/main/jbake/content/security-javaee.adoc b/src/main/jbake/content/security-javaee.adoc index d2c77fc..f51ab1c 100644 --- a/src/main/jbake/content/security-javaee.adoc +++ b/src/main/jbake/content/security-javaee.adoc @@ -6,9 +6,8 @@ prev=security-webtier004.html ~~~~~~ = Getting Started Securing Enterprise Applications -[[BNBYK]] +[[BNBYK]][[getting-started-securing-enterprise-applications]] -[[getting-started-securing-enterprise-applications]] 52 Getting Started Securing Enterprise Applications --------------------------------------------------- diff --git a/src/main/jbake/content/security-javaee001.adoc b/src/main/jbake/content/security-javaee001.adoc index 2d32a03..35bff84 100644 --- a/src/main/jbake/content/security-javaee001.adoc +++ b/src/main/jbake/content/security-javaee001.adoc @@ -6,9 +6,8 @@ prev=security-javaee.html ~~~~~~ = Basic Security Tasks for Enterprise Applications -[[CACGIFHJ]] +[[CACGIFHJ]][[basic-security-tasks-for-enterprise-applications]] -[[basic-security-tasks-for-enterprise-applications]] Basic Security Tasks for Enterprise Applications ------------------------------------------------ diff --git a/src/main/jbake/content/security-javaee002.adoc b/src/main/jbake/content/security-javaee002.adoc index bb0cfff..a9c04ba 100644 --- a/src/main/jbake/content/security-javaee002.adoc +++ b/src/main/jbake/content/security-javaee002.adoc @@ -6,9 +6,8 @@ prev=security-javaee001.html ~~~~~~ = Securing Enterprise Beans -[[BNBYL]] +[[BNBYL]][[securing-enterprise-beans]] -[[securing-enterprise-beans]] Securing Enterprise Beans ------------------------- @@ -120,9 +119,8 @@ specification. This document can be downloaded from "Security Management," discusses security management for enterprise beans. -[[GJGDI]] +[[GJGDI]][[securing-an-enterprise-bean-using-declarative-security]] -[[securing-an-enterprise-bean-using-declarative-security]] Securing an Enterprise Bean Using Declarative Security ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -167,9 +165,8 @@ The following sections show how an application developer uses declarative security to either secure an application or to create a security view to pass along to the deployer. -[[GJGCQ]] +[[GJGCQ]][[specifying-authorized-users-by-declaring-security-roles]] -[[specifying-authorized-users-by-declaring-security-roles]] Specifying Authorized Users by Declaring Security Roles ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -357,9 +354,8 @@ To clarify, the annotations are not inherited by the subclass itself. Instead, the annotations apply to methods of the superclass that are inherited by the subclass. -[[BNBYU]] +[[BNBYU]][[specifying-an-authentication-mechanism-and-secure-connection]] -[[specifying-an-authentication-mechanism-and-secure-connection]] Specifying an Authentication Mechanism and Secure Connection ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -370,9 +366,8 @@ To use a different type of authentication or to require a secure connection using SSL, specify this information in an application deployment descriptor. -[[GJGCS]] +[[GJGCS]][[securing-an-enterprise-bean-programmatically]] -[[securing-an-enterprise-bean-programmatically]] Securing an Enterprise Bean Programmatically ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -506,9 +501,8 @@ during a particular time of day. An example application that uses the link:security-javaee003.html#BNCAA[The converter-secure Example: Securing an Enterprise Bean with Programmatic Security]. -[[BNBYR]] +[[BNBYR]][[propagating-a-security-identity-run-as]] -[[propagating-a-security-identity-run-as]] Propagating a Security Identity (Run-As) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -554,9 +548,8 @@ interfaces, the message listener methods of a message-driven bean, the timeout method of an enterprise bean, and all internal methods of the bean that might be called in turn. -[[BNBZB]] +[[BNBZB]][[configuring-a-components-propagated-security-identity]] -[[configuring-a-components-propagated-security-identity]] Configuring a Component's Propagated Security Identity ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -582,9 +575,8 @@ You will have to map the run-as role name to a given principal defined in GlassFish Server if the given roles are associated with more than one user principal. -[[BNBZC]] +[[BNBZC]][[trust-between-containers]] -[[trust-between-containers]] Trust between Containers ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -605,9 +597,8 @@ By default, GlassFish Server is configured to trust identities that are propagated from different containers. Therefore, you do not need to take any special steps to set up a trust relationship. -[[BNBZG]] +[[BNBZG]][[deploying-secure-enterprise-beans]] -[[deploying-secure-enterprise-beans]] Deploying Secure Enterprise Beans ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/security-javaee003.adoc b/src/main/jbake/content/security-javaee003.adoc index 53729c4..32d9542 100644 --- a/src/main/jbake/content/security-javaee003.adoc +++ b/src/main/jbake/content/security-javaee003.adoc @@ -6,9 +6,8 @@ prev=security-javaee002.html ~~~~~~ = Examples: Securing Enterprise Beans -[[GKBSZ]] +[[GKBSZ]][[examples-securing-enterprise-beans]] -[[examples-securing-enterprise-beans]] Examples: Securing Enterprise Beans ----------------------------------- @@ -22,9 +21,8 @@ Declarative Security] * link:#the-converter-secure-example-securing-an-enterprise-bean-with-programmatic-security[The converter-secure Example: Securing an Enterprise Bean with Programmatic Security] -[[BNBZK]] +[[BNBZK]][[the-cart-secure-example-securing-an-enterprise-bean-with-declarative-security]] -[[the-cart-secure-example-securing-an-enterprise-bean-with-declarative-security]] The cart-secure Example: Securing an Enterprise Bean with Declarative Security ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -68,9 +66,8 @@ the client application by following the steps in link:#BNBZN[To Run the cart-secure Example Using NetBeans IDE] or link:#BNBZO[To Run the cart-secure Example Using Maven]. -[[BNBZL]] +[[BNBZL]][[annotating-the-bean]] -[[annotating-the-bean]] Annotating the Bean ^^^^^^^^^^^^^^^^^^^ @@ -175,9 +172,8 @@ authentication will be required for a user to access these methods. If no authentication method is specified in the deployment descriptor, the type of authentication will be user name/password authentication. -[[BNBZN]] +[[BNBZN]][[to-run-the-cart-secure-example-using-netbeans-ide]] -[[to-run-the-cart-secure-example-using-netbeans-ide]] To Run the cart-secure Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -222,9 +218,8 @@ Java Result: 1 If the user name and password are not authenticated, the dialog box reappears until you enter correct values. -[[BNBZO]] +[[BNBZO]][[to-run-the-cart-secure-example-using-maven]] -[[to-run-the-cart-secure-example-using-maven]] To Run the cart-secure Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -266,9 +261,8 @@ Java Result: 1 If the user name and password are not authenticated, the dialog box reappears until you enter correct values. -[[BNCAA]] +[[BNCAA]][[the-converter-secure-example-securing-an-enterprise-bean-with-programmatic-security]] -[[the-converter-secure-example-securing-an-enterprise-bean-with-programmatic-security]] The converter-secure Example: Securing an Enterprise Bean with Programmatic Security ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -311,9 +305,8 @@ link:security-webtier004.html#GJRMH[Specifying Security for Basic Authentication Using Annotations]. 5. Build, package, deploy, and run the application. -[[BNCAB]] +[[BNCAB]][[modifying-converterbean]] -[[modifying-converterbean]] Modifying ConverterBean ^^^^^^^^^^^^^^^^^^^^^^^ @@ -373,9 +366,8 @@ public class ConverterBean{ } ---- -[[GKBSI]] +[[GKBSI]][[modifying-converterservlet]] -[[modifying-converterservlet]] Modifying ConverterServlet ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -390,9 +382,8 @@ client, `ConverterServlet`: rolesAllowed = {"TutorialUser"})) ---- -[[BNCAD]] +[[BNCAD]][[to-run-the-converter-secure-example-using-netbeans-ide]] -[[to-run-the-converter-secure-example-using-netbeans-ide]] To Run the converter-secure Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -412,9 +403,8 @@ tut-install/examples/security This command builds and deploys the example application to your GlassFish Server instance. -[[BNCAE]] +[[BNCAE]][[to-run-the-converter-secure-example-using-maven]] -[[to-run-the-converter-secure-example-using-maven]] To Run the converter-secure Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -437,9 +427,8 @@ This command builds and packages the application into a WAR file, `converter-secure.war`, that is located in the `target` directory, and deploys the WAR file. -[[GJTDP]] +[[GJTDP]][[to-run-the-converter-secure-example]] -[[to-run-the-converter-secure-example]] To Run the converter-secure Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/security-webtier.adoc b/src/main/jbake/content/security-webtier.adoc index 9a507d5..175011a 100644 --- a/src/main/jbake/content/security-webtier.adoc +++ b/src/main/jbake/content/security-webtier.adoc @@ -7,9 +7,8 @@ prev=security-intro007.html Getting Started Securing Web Applications ========================================= -[[BNCAS]] +[[BNCAS]][[getting-started-securing-web-applications]] -[[getting-started-securing-web-applications]] 51 Getting Started Securing Web Applications -------------------------------------------- diff --git a/src/main/jbake/content/security-webtier001.adoc b/src/main/jbake/content/security-webtier001.adoc index 44b44f1..a8afc17 100644 --- a/src/main/jbake/content/security-webtier001.adoc +++ b/src/main/jbake/content/security-webtier001.adoc @@ -6,9 +6,8 @@ prev=security-webtier.html ~~~~~~ = Overview of Web Application Security -[[BNCAT]] +[[BNCAT]][[overview-of-web-application-security]] -[[overview-of-web-application-security]] Overview of Web Application Security ------------------------------------ diff --git a/src/main/jbake/content/security-webtier002.adoc b/src/main/jbake/content/security-webtier002.adoc index c2ddcbb..7527f4a 100644 --- a/src/main/jbake/content/security-webtier002.adoc +++ b/src/main/jbake/content/security-webtier002.adoc @@ -6,9 +6,8 @@ prev=security-webtier001.html ~~~~~~ = Securing Web Applications -[[GKBAA]] +[[GKBAA]][[securing-web-applications]] -[[securing-web-applications]] Securing Web Applications ------------------------- @@ -25,9 +24,8 @@ The following topics are addressed here: Descriptor] * link:#declaring-security-roles[Declaring Security Roles] -[[CHDBIBHI]] +[[CHDBIBHI]][[overview-of-securing-web-applications]] -[[overview-of-securing-web-applications]] Overview of Securing Web Applications ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -45,9 +43,8 @@ explains how to secure web applications using annotations wherever possible. It explains how to use deployment descriptors where annotations cannot be used. -[[BNCBK]] +[[BNCBK]][[specifying-security-constraints]] -[[specifying-security-constraints]] Specifying Security Constraints ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -83,9 +80,8 @@ protected when transported between a client and a server. User data constraints are discussed in link:#BNCBM[Specifying a Secure Connection]. -[[GJJCD]] +[[GJJCD]][[specifying-a-web-resource-collection]] -[[specifying-a-web-resource-collection]] Specifying a Web Resource Collection ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -126,9 +122,8 @@ are protected) ** If the collection contains one or more `http-method-omission` elements, none of which names the HTTP method -[[GJJCG]] +[[GJJCG]][[specifying-an-authorization-constraint]] -[[specifying-an-authorization-constraint]] Specifying an Authorization Constraint ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -157,9 +152,8 @@ For a servlet, the `@HttpConstraint` and `@HttpMethodConstraint` annotations accept a `rolesAllowed` element that specifies the authorized roles. -[[BNCBM]] +[[BNCBM]][[specifying-a-secure-connection]] -[[specifying-a-secure-connection]] Specifying a Secure Connection ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -233,9 +227,8 @@ easily implemented by using a filter. |======================================================================= -[[BNCBL]] +[[BNCBL]][[specifying-security-constraints-for-resources]] -[[specifying-security-constraints-for-resources]] Specifying Security Constraints for Resources ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -280,9 +273,8 @@ following: ---- -[[GKBSA]] +[[GKBSA]][[specifying-authentication-mechanisms]] -[[specifying-authentication-mechanisms]] Specifying Authentication Mechanisms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -349,9 +341,8 @@ conjunction with basic or form-based authentication, some of these concerns can be alleviated. To specify a secure transport mechanism, use the elements described in link:#BNCBM[Specifying a Secure Connection]. -[[BNCBO]] +[[BNCBO]][[http-basic-authentication]] -[[http-basic-authentication]] HTTP Basic Authentication ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -382,9 +373,8 @@ image:img/javaeett_dt_045.png[ "Diagram of four steps in HTTP basic authentication between client and server"] -[[BNCBQ]] +[[BNCBQ]][[form-based-authentication]] -[[form-based-authentication]] Form-Based Authentication ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -438,9 +428,8 @@ HTML page: ---- -[[BNCBW]] +[[BNCBW]][[digest-authentication]] -[[digest-authentication]] Digest Authentication ^^^^^^^^^^^^^^^^^^^^^ @@ -453,9 +442,8 @@ wire, digest authentication requires that clear-text password equivalents be available to the authenticating container so that it can validate received authenticators by calculating the expected digest. -[[BNCBN]] +[[BNCBN]][[specifying-an-authentication-mechanism-in-the-deployment-descriptor]] -[[specifying-an-authentication-mechanism-in-the-deployment-descriptor]] Specifying an Authentication Mechanism in the Deployment Descriptor ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -523,9 +511,8 @@ deployment descriptor: ---- -[[BNCAV]] +[[BNCAV]][[declaring-security-roles]] -[[declaring-security-roles]] Declaring Security Roles ~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/security-webtier003.adoc b/src/main/jbake/content/security-webtier003.adoc index 8e6f489..ba702b9 100644 --- a/src/main/jbake/content/security-webtier003.adoc +++ b/src/main/jbake/content/security-webtier003.adoc @@ -6,9 +6,8 @@ prev=security-webtier002.html ~~~~~~ = Using Programmatic Security with Web Applications -[[GJIIE]] +[[GJIIE]][[using-programmatic-security-with-web-applications]] -[[using-programmatic-security-with-web-applications]] Using Programmatic Security with Web Applications ------------------------------------------------- @@ -24,9 +23,8 @@ The following topics are addressed here: * link:#example-code-for-programmatic-security[Example Code for Programmatic Security] * link:#declaring-and-linking-role-references[Declaring and Linking Role References] -[[GIRCJ]] +[[GIRCJ]][[authenticating-users-programmatically]] -[[authenticating-users-programmatically]] Authenticating Users Programmatically ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -151,9 +149,8 @@ public class TestServlet extends HttpServlet { } ---- -[[BNCBA]] +[[BNCBA]][[checking-caller-identity-programmatically]] -[[checking-caller-identity-programmatically]] Checking Caller Identity Programmatically ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -254,9 +251,9 @@ securityContext.hasAccessToWebResource("/protectedServlet", GET) The above `hasAccessToWebResource()` call returns true if, and only if, the caller is in role "foo". -[[GJJLQ]] -[[example-code-for-programmatic-security]] +[[GJJLQ]][[example-code-for-programmatic-security]] + Example Code for Programmatic Security ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -337,9 +334,8 @@ public class LoginServlet extends HttpServlet { } ---- -[[BNCBB]] +[[BNCBB]][[declaring-and-linking-role-references]] -[[declaring-and-linking-role-references]] Declaring and Linking Role References ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/security-webtier004.adoc b/src/main/jbake/content/security-webtier004.adoc index 0e71016..096b306 100644 --- a/src/main/jbake/content/security-webtier004.adoc +++ b/src/main/jbake/content/security-webtier004.adoc @@ -7,9 +7,8 @@ prev=security-webtier003.html = Examples: Securing Web Applications -[[BNCBX]] +[[BNCBX]][[examples-securing-web-applications]] -[[examples-securing-web-applications]] Examples: Securing Web Applications ----------------------------------- @@ -25,9 +24,8 @@ Servlet] * link:#the-hello1-formauth-example-form-based-authentication-with-a-javaserver-faces-application[The hello1-formauth Example: Form-Based Authentication with a JavaServer Faces Application] -[[CHDEBCHG]] +[[CHDEBCHG]][[overview-of-examples-of-securing-web-applications]] -[[overview-of-examples-of-securing-web-applications]] Overview of Examples of Securing Web Applications ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -43,9 +41,8 @@ Enterprise Bean with Declarative Security] Securing an Enterprise Bean with Programmatic Security] * GlassFish samples: `https://javaee.github.io/glassfish-samples/` -[[GJJLK]] +[[GJJLK]][[to-set-up-your-system-for-running-the-security-examples]] -[[to-set-up-your-system-for-running-the-security-examples]] To Set Up Your System for Running the Security Examples ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -94,9 +91,8 @@ the console. |======================================================================= -[[BNCCK]] +[[BNCCK]][[the-hello2-basicauth-example-basic-authentication-with-a-servlet]] -[[the-hello2-basicauth-example-basic-authentication-with-a-servlet]] The hello2-basicauth Example: Basic Authentication with a Servlet ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -131,9 +127,8 @@ the hello2-basicauth Example Using Maven]. 5. Run the web application by following the steps described in link:#GJQZF[To Run the hello2-basicauth Example]. -[[GJRMH]] +[[GJRMH]][[specifying-security-for-basic-authentication-using-annotations]] -[[specifying-security-for-basic-authentication-using-annotations]] Specifying Security for Basic Authentication Using Annotations ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -188,9 +183,8 @@ security settings in the deployment descriptor. Use the deployment descriptor to specify settings for nondefault authentication mechanisms, for which you cannot use the `@ServletSecurity` annotation. -[[GJQYS]] +[[GJQYS]][[to-build-package-and-deploy-the-hello2-basicauth-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-hello2-basicauth-example-using-netbeans-ide]] To Build, Package, and Deploy the hello2-basicauth Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -211,9 +205,8 @@ select Build. This command builds and deploys the example application to your GlassFish Server instance. -[[GJQZH]] +[[GJQZH]][[to-build-package-and-deploy-the-hello2-basicauth-example-using-maven]] -[[to-build-package-and-deploy-the-hello2-basicauth-example-using-maven]] To Build, Package, and Deploy the hello2-basicauth Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -236,9 +229,8 @@ This command builds and packages the application into a WAR file, `hello2-basicauth.war`, that is located in the `target` directory, then deploys the WAR file. -[[GJQZF]] +[[GJQZF]][[to-run-the-hello2-basicauth-example]] -[[to-run-the-hello2-basicauth-example]] To Run the hello2-basicauth Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -282,9 +274,8 @@ application now. + The application responds by saying "Hello" to the name you entered. -[[BNCBY]] +[[BNCBY]][[the-hello1-formauth-example-form-based-authentication-with-a-javaserver-faces-application]] -[[the-hello1-formauth-example-form-based-authentication-with-a-javaserver-faces-application]] The hello1-formauth Example: Form-Based Authentication with a JavaServer Faces Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -313,9 +304,8 @@ Error Page]. This application can be found in the `_tut-install_/examples/security/hello1-formauth/` directory. -[[BNCCA]] +[[BNCCA]][[creating-the-login-form-and-the-error-page]] -[[creating-the-login-form-and-the-error-page]] Creating the Login Form and the Error Page ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -402,9 +392,8 @@ again. Here is the code for this page: ---- -[[BNCCB]] +[[BNCCB]][[specifying-security-for-the-form-based-authentication-example]] -[[specifying-security-for-the-form-based-authentication-example]] Specifying Security for the Form-Based Authentication Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -447,9 +436,8 @@ deployment descriptor for this example, which can be found in ---- -[[GJRBA]] +[[GJRBA]][[to-build-package-and-deploy-the-hello1-formauth-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-hello1-formauth-example-using-netbeans-ide]] To Build, Package, and Deploy the hello1-formauth Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -470,9 +458,8 @@ select Run. This command builds and deploys the example application to your GlassFish Server instance, then opens it in a browser. -[[GJRAZ]] +[[GJRAZ]][[to-build-package-and-deploy-the-hello1-formauth-example-using-maven-and-the-asadmin-command]] -[[to-build-package-and-deploy-the-hello1-formauth-example-using-maven-and-the-asadmin-command]] To Build, Package, and Deploy the hello1-formauth Example Using Maven and the asadmin Command ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -496,9 +483,8 @@ This command builds and packages the application into a WAR file, `hello1-formauth.war`, that is located in the `target` directory, then deploys the WAR file to GlassFish Server. -[[GJRAL]] +[[GJRAL]][[to-run-the-hello1-formauth-example]] -[[to-run-the-hello1-formauth-example]] To Run the hello1-formauth Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/servlets.adoc b/src/main/jbake/content/servlets.adoc index 81fa0cd..bad406b 100644 --- a/src/main/jbake/content/servlets.adoc +++ b/src/main/jbake/content/servlets.adoc @@ -7,9 +7,8 @@ prev=jsf-ws007.html = Java Servlet Technology -[[BNAFD]] +[[BNAFD]][[java-servlet-technology]] -[[java-servlet-technology]] 18 Java Servlet Technology -------------------------- diff --git a/src/main/jbake/content/servlets001.adoc b/src/main/jbake/content/servlets001.adoc index 58fc026..dcde9ac 100644 --- a/src/main/jbake/content/servlets001.adoc +++ b/src/main/jbake/content/servlets001.adoc @@ -7,9 +7,8 @@ prev=servlets.html What Is a Servlet? ================== -[[BNAFE]] +[[BNAFE]][[what-is-a-servlet]] -[[what-is-a-servlet]] What Is a Servlet? ------------------ diff --git a/src/main/jbake/content/servlets002.adoc b/src/main/jbake/content/servlets002.adoc index 47b5af5..6711540 100644 --- a/src/main/jbake/content/servlets002.adoc +++ b/src/main/jbake/content/servlets002.adoc @@ -7,9 +7,8 @@ prev=servlets001.html = Servlet Lifecycle -[[BNAFI]] +[[BNAFI]][[servlet-lifecycle]] -[[servlet-lifecycle]] Servlet Lifecycle ----------------- @@ -31,9 +30,8 @@ If it needs to remove the servlet, the container finalizes the servlet by calling the servlet's `destroy` method. For more information, see link:servlets010.html#BNAGS[Finalizing a Servlet]. -[[BNAFJ]] +[[BNAFJ]][[handling-servlet-lifecycle-events]] -[[handling-servlet-lifecycle-events]] Handling Servlet Lifecycle Events ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -42,9 +40,8 @@ listener objects whose methods get invoked when lifecycle events occur. To use these listener objects, you must define and specify the listener class. -[[BNAFK]] +[[BNAFK]][[defining-the-listener-class]] -[[defining-the-listener-class]] Defining the Listener Class ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -119,9 +116,8 @@ public class SimpleServletListener implements ServletContextListener, ... ---- -[[BNAFN]] +[[BNAFN]][[handling-servlet-errors]] -[[handling-servlet-errors]] Handling Servlet Errors ~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/servlets003.adoc b/src/main/jbake/content/servlets003.adoc index fb4098c..3dcb6b3 100644 --- a/src/main/jbake/content/servlets003.adoc +++ b/src/main/jbake/content/servlets003.adoc @@ -7,9 +7,8 @@ prev=servlets002.html = Sharing Information -[[BNAFO]] +[[BNAFO]][[sharing-information]] -[[sharing-information]] Sharing Information ------------------- @@ -23,9 +22,8 @@ accomplish their tasks. Web components can do so by doing the following. that allow a web component to invoke other web resources are described in link:servlets007.html#BNAGI[Invoking Other Web Resources]. -[[BNAFP]] +[[BNAFP]][[using-scope-objects]] -[[using-scope-objects]] Using Scope Objects ~~~~~~~~~~~~~~~~~~~ @@ -57,9 +55,8 @@ object. |======================================================================= -[[BNAFS]] +[[BNAFS]][[controlling-concurrent-access-to-shared-resources]] -[[controlling-concurrent-access-to-shared-resources]] Controlling Concurrent Access to Shared Resources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/servlets004.adoc b/src/main/jbake/content/servlets004.adoc index c85ecab..e9267b1 100644 --- a/src/main/jbake/content/servlets004.adoc +++ b/src/main/jbake/content/servlets004.adoc @@ -7,9 +7,8 @@ prev=servlets003.html Creating and Initializing a Servlet =================================== -[[BNAFU]] +[[BNAFU]][[creating-and-initializing-a-servlet]] -[[creating-and-initializing-a-servlet]] Creating and Initializing a Servlet ----------------------------------- diff --git a/src/main/jbake/content/servlets005.adoc b/src/main/jbake/content/servlets005.adoc index bfe88ed..df09b8f 100644 --- a/src/main/jbake/content/servlets005.adoc +++ b/src/main/jbake/content/servlets005.adoc @@ -7,9 +7,8 @@ prev=servlets004.html Writing Service Methods ======================= -[[BNAFV]] +[[BNAFV]][[writing-service-methods]] -[[writing-service-methods]] Writing Service Methods ----------------------- @@ -35,9 +34,8 @@ committed. The web container will ignore any attempt to set or add headers after the response has been committed. The next two sections describe how to get information from requests and generate responses. -[[BNAFW]] +[[BNAFW]][[getting-information-from-requests]] -[[getting-information-from-requests]] Getting Information from Requests ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -92,9 +90,8 @@ method. There are two ways to generate query strings. * A query string is appended to a URL when a form with a `GET` HTTP method is submitted. -[[BNAFZ]] +[[BNAFZ]][[constructing-responses]] -[[constructing-responses]] Constructing Responses ~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/servlets006.adoc b/src/main/jbake/content/servlets006.adoc index f7dab9c..d123b1c 100644 --- a/src/main/jbake/content/servlets006.adoc +++ b/src/main/jbake/content/servlets006.adoc @@ -7,9 +7,8 @@ prev=servlets005.html Filtering Requests and Responses ================================ -[[BNAGB]] +[[BNAGB]][[filtering-requests-and-responses]] -[[filtering-requests-and-responses]] Filtering Requests and Responses -------------------------------- @@ -40,9 +39,8 @@ or more filters in a specific order. This chain is specified when the web application containing the component is deployed and is instantiated when a web container loads the component. -[[BNAGC]] +[[BNAGC]][[programming-filters]] -[[programming-filters]] Programming Filters ~~~~~~~~~~~~~~~~~~~ @@ -109,9 +107,8 @@ instantiated. If you wish to pass initialization parameters to the filter, you retrieve them from the `FilterConfig` object passed to `init`. -[[BNAGD]] +[[BNAGD]][[programming-customized-requests-and-responses]] -[[programming-customized-requests-and-responses]] Programming Customized Requests and Responses ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -136,9 +133,8 @@ extends either `ServletRequestWrapper` or `HttpServletRequestWrapper`. To override response methods, you wrap the response in an object that extends either `ServletResponseWrapper` or `HttpServletResponseWrapper`. -[[BNAGF]] +[[BNAGF]][[specifying-filter-mappings]] -[[specifying-filter-mappings]] Specifying Filter Mappings ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -180,9 +176,8 @@ F1 and F3, F1's call to `chain.doFilter` invokes the `doFilter` method of filter F3. When F3's `doFilter` method completes, control returns to F1's `doFilter` method. -[[GJSLC]] +[[GJSLC]][[to-specify-filter-mappings-using-netbeans-ide]] -[[to-specify-filter-mappings-using-netbeans-ide]] To Specify Filter Mappings Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/servlets007.adoc b/src/main/jbake/content/servlets007.adoc index e95290f..dc7f289 100644 --- a/src/main/jbake/content/servlets007.adoc +++ b/src/main/jbake/content/servlets007.adoc @@ -7,9 +7,8 @@ prev=servlets006.html Invoking Other Web Resources ============================ -[[BNAGI]] +[[BNAGI]][[invoking-other-web-resources]] -[[invoking-other-web-resources]] Invoking Other Web Resources ---------------------------- @@ -32,9 +31,8 @@ available or if the server has not implemented a `RequestDispatcher` object for that type of resource, `getRequestDispatcher` will return null. Your servlet should be prepared to deal with this condition. -[[BNAGJ]] +[[BNAGJ]][[including-other-resources-in-the-response]] -[[including-other-resources-in-the-response]] Including Other Resources in the Response ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -60,9 +58,8 @@ response object. * It cannot set headers or call any method, such as `setCookie`, that affects the headers of the response. -[[BNAGK]] +[[BNAGK]][[transferring-control-to-another-web-component]] -[[transferring-control-to-another-web-component]] Transferring Control to Another Web Component ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/servlets008.adoc b/src/main/jbake/content/servlets008.adoc index ed612bf..07852cf 100644 --- a/src/main/jbake/content/servlets008.adoc +++ b/src/main/jbake/content/servlets008.adoc @@ -7,9 +7,8 @@ prev=servlets007.html Accessing the Web Context ========================= -[[BNAGL]] +[[BNAGL]][[accessing-the-web-context]] -[[accessing-the-web-context]] Accessing the Web Context ------------------------- diff --git a/src/main/jbake/content/servlets009.adoc b/src/main/jbake/content/servlets009.adoc index 6d4f244..10b9b8b 100644 --- a/src/main/jbake/content/servlets009.adoc +++ b/src/main/jbake/content/servlets009.adoc @@ -7,9 +7,8 @@ prev=servlets008.html Maintaining Client State ======================== -[[BNAGM]] +[[BNAGM]][[maintaining-client-state]] -[[maintaining-client-state]] Maintaining Client State ------------------------ @@ -21,9 +20,8 @@ HTTP is stateless. To support applications that need to maintain state, Java Servlet technology provides an API for managing sessions and allows several mechanisms for implementing sessions. -[[BNAGN]] +[[BNAGN]][[accessing-a-session]] -[[accessing-a-session]] Accessing a Session ~~~~~~~~~~~~~~~~~~~ @@ -32,9 +30,8 @@ session by calling the `getSession` method of a request object. This method returns the current session associated with this request; or, if the request does not have a session, this method creates one. -[[BNAGO]] +[[BNAGO]][[associating-objects-with-a-session]] -[[associating-objects-with-a-session]] Associating Objects with a Session ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -57,9 +54,8 @@ between virtual machines or saved to and restored from persistent storage. To receive this notification, your object must implement the `javax.servlet.http.HttpSessionActivationListener` interface. -[[BNAGQ]] +[[BNAGQ]][[session-management]] -[[session-management]] Session Management ~~~~~~~~~~~~~~~~~~ @@ -75,9 +71,8 @@ resets the session's time-to-live counter. session's `invalidate` method to invalidate a session on the server side and remove any session data. -[[sthref100]] +[[sthref100]][[to-set-the-timeout-period-using-netbeans-ide]] -[[to-set-the-timeout-period-using-netbeans-ide]] To Set the Timeout Period Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -95,9 +90,8 @@ node. The integer value represents the number of minutes of inactivity that must pass before the session times out. -[[BNAGR]] +[[BNAGR]][[session-tracking]] -[[session-tracking]] Session Tracking ~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/servlets010.adoc b/src/main/jbake/content/servlets010.adoc index 7f57a4a..29cc06e 100644 --- a/src/main/jbake/content/servlets010.adoc +++ b/src/main/jbake/content/servlets010.adoc @@ -7,9 +7,8 @@ prev=servlets009.html Finalizing a Servlet ==================== -[[BNAGS]] +[[BNAGS]][[finalizing-a-servlet]] -[[finalizing-a-servlet]] Finalizing a Servlet -------------------- @@ -38,9 +37,8 @@ long-running threads of the shutdown and wait for them to complete. * Have the long-running methods poll periodically to check for shutdown and, if necessary, stop working, clean up, and return. -[[BNAGT]] +[[BNAGT]][[tracking-service-requests]] -[[tracking-service-requests]] Tracking Service Requests ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -91,9 +89,8 @@ protected void service(HttpServletRequest req, } ---- -[[BNAGU]] +[[BNAGU]][[notifying-methods-to-shut-down]] -[[notifying-methods-to-shut-down]] Notifying Methods to Shut Down ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -143,9 +140,8 @@ public void destroy() { } ---- -[[BNAGV]] +[[BNAGV]][[creating-polite-long-running-methods]] -[[creating-polite-long-running-methods]] Creating Polite Long-Running Methods ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/servlets011.adoc b/src/main/jbake/content/servlets011.adoc index bb56dca..625b08f 100644 --- a/src/main/jbake/content/servlets011.adoc +++ b/src/main/jbake/content/servlets011.adoc @@ -7,9 +7,8 @@ prev=servlets010.html Uploading Files with Java Servlet Technology ============================================ -[[BABFGCHB]] +[[BABFGCHB]][[uploading-files-with-java-servlet-technology]] -[[uploading-files-with-java-servlet-technology]] Uploading Files with Java Servlet Technology -------------------------------------------- @@ -30,9 +29,8 @@ annotated with `@MultipartConfig` can retrieve the `Part` components of a given `multipart/form-data` request by calling the `request.getPart(String name)` or `request.getParts()` method. -[[sthref101]] +[[sthref101]][[the-multipartconfig-annotation]] -[[the-multipartconfig-annotation]] The @MultipartConfig Annotation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -79,9 +77,8 @@ file: ---- -[[sthref102]] +[[sthref102]][[the-getparts-and-getpart-methods]] -[[the-getparts-and-getpart-methods]] The getParts and getPart Methods ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/servlets012.adoc b/src/main/jbake/content/servlets012.adoc index 1331883..22df89f 100644 --- a/src/main/jbake/content/servlets012.adoc +++ b/src/main/jbake/content/servlets012.adoc @@ -7,9 +7,8 @@ prev=servlets011.html = Asynchronous Processing -[[BEIGCFDF]] +[[BEIGCFDF]][[asynchronous-processing]] -[[asynchronous-processing]] Asynchronous Processing ----------------------- @@ -38,9 +37,8 @@ of web applications. Asynchronous processing refers to assigning these blocking operations to a new thread and retuning the thread associated with the request immediately to the container. -[[sthref103]] +[[sthref103]][[asynchronous-processing-in-servlets]] -[[asynchronous-processing-in-servlets]] Asynchronous Processing in Servlets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -130,9 +128,8 @@ the blocking operation completes. |======================================================================= -[[sthref105]] +[[sthref105]][[waiting-for-a-resource]] -[[waiting-for-a-resource]] Waiting for a Resource ~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/servlets013.adoc b/src/main/jbake/content/servlets013.adoc index 72258e3..c896f8d 100644 --- a/src/main/jbake/content/servlets013.adoc +++ b/src/main/jbake/content/servlets013.adoc @@ -7,9 +7,8 @@ prev=servlets012.html = Nonblocking I/O -[[BEIHICDH]] +[[BEIHICDH]][[nonblocking-io]] -[[nonblocking-io]] Nonblocking I/O --------------- @@ -116,9 +115,8 @@ error. |======================================================================= -[[sthref109]] +[[sthref109]][[reading-a-large-http-post-request-using-nonblocking-io]] -[[reading-a-large-http-post-request-using-nonblocking-io]] Reading a Large HTTP POST Request Using Nonblocking I/O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/servlets014.adoc b/src/main/jbake/content/servlets014.adoc index 959842d..946f1eb 100644 --- a/src/main/jbake/content/servlets014.adoc +++ b/src/main/jbake/content/servlets014.adoc @@ -7,9 +7,8 @@ prev=servlets013.html = Protocol Upgrade Processing -[[BEIJHCDJ]] +[[BEIJHCDJ]][[protocol-upgrade-processing]] -[[protocol-upgrade-processing]] Protocol Upgrade Processing --------------------------- diff --git a/src/main/jbake/content/servlets015.adoc b/src/main/jbake/content/servlets015.adoc index 02018ef..82f4754 100644 --- a/src/main/jbake/content/servlets015.adoc +++ b/src/main/jbake/content/servlets015.adoc @@ -7,9 +7,8 @@ prev=servlets014b.html = The mood Example Application -[[GKCPG]] +[[GKCPG]][[the-mood-example-application]] -[[the-mood-example-application]] The mood Example Application ---------------------------- @@ -25,9 +24,8 @@ The following topics are addressed here: * link:#CHDEBFCB[Components of the mood Example Application] * link:#GKCOJ[Running the mood Example] -[[CHDEBFCB]] +[[CHDEBFCB]][[components-of-the-mood-example-application]] -[[components-of-the-mood-example-application]] Components of the mood Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -65,9 +63,8 @@ statement that sets Duke's mood based on the current time. `SimpleServletListener` logs changes in the servlet's lifecycle. The log entries appear in the server log. -[[GKCOJ]] +[[GKCOJ]][[running-the-mood-example]] -[[running-the-mood-example]] Running the mood Example ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -79,9 +76,8 @@ The following topics are addressed here: * link:#GKCOB[To Run the mood Example Using NetBeans IDE] * link:#GKCPJ[To Run the mood Example Using Maven] -[[GKCOB]] +[[GKCOB]][[to-run-the-mood-example-using-netbeans-ide]] -[[to-run-the-mood-example-using-netbeans-ide]] To Run the mood Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -111,9 +107,8 @@ The URL specifies the context root, followed by the URL pattern. A web page appears with the title "Servlet MoodServlet at /mood", a text string describing Duke's mood, and an illustrative graphic. -[[GKCPJ]] +[[GKCPJ]][[to-run-the-mood-example-using-maven]] -[[to-run-the-mood-example-using-maven]] To Run the mood Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/servlets016.adoc b/src/main/jbake/content/servlets016.adoc index 9cdf39d..e2a24df 100644 --- a/src/main/jbake/content/servlets016.adoc +++ b/src/main/jbake/content/servlets016.adoc @@ -7,9 +7,8 @@ prev=servlets015.html The fileupload Example Application ================================== -[[BABDGFJJ]] +[[BABDGFJJ]][[the-fileupload-example-application]] -[[the-fileupload-example-application]] The fileupload Example Application ---------------------------------- @@ -53,9 +52,8 @@ The following topics are addressed here: * link:#CHDFGBGI[Architecture of the fileupload Example Application] * link:#CHDIHJCI[Running the fileupload Example] -[[CHDFGBGI]] +[[CHDFGBGI]][[architecture-of-the-fileupload-example-application]] -[[architecture-of-the-fileupload-example-application]] Architecture of the fileupload Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -228,9 +226,8 @@ private String getFileName(final Part part) { } ---- -[[CHDIHJCI]] +[[CHDIHJCI]][[running-the-fileupload-example]] -[[running-the-fileupload-example]] Running the fileupload Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -245,9 +242,8 @@ Using NetBeans IDE] Using Maven] * link:#CHDDDAAJ[To Run the fileupload Example] -[[CHDGDJCI]] +[[CHDGDJCI]][[to-build-package-and-deploy-the-fileupload-example-using-netbeans-ide]] -[[to-build-package-and-deploy-the-fileupload-example-using-netbeans-ide]] To Build, Package, and Deploy the fileupload Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -266,9 +262,8 @@ tut-install/examples/web/servlet 6. In the Projects tab, right-click the `fileupload` project and select Build. -[[CHDCFADG]] +[[CHDCFADG]][[to-build-package-and-deploy-the-fileupload-example-using-maven]] -[[to-build-package-and-deploy-the-fileupload-example-using-maven]] To Build, Package, and Deploy the fileupload Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -288,9 +283,8 @@ tut-install/examples/web/servlet/fileupload/ mvn install ---- -[[CHDDDAAJ]] +[[CHDDDAAJ]][[to-run-the-fileupload-example]] -[[to-run-the-fileupload-example]] To Run the fileupload Example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/servlets017.adoc b/src/main/jbake/content/servlets017.adoc index 5d56537..a82c571 100644 --- a/src/main/jbake/content/servlets017.adoc +++ b/src/main/jbake/content/servlets017.adoc @@ -7,9 +7,8 @@ prev=servlets016.html The dukeetf Example Application =============================== -[[BEIFAIFF]] +[[BEIFAIFF]][[the-dukeetf-example-application]] -[[the-dukeetf-example-application]] The dukeetf Example Application ------------------------------- @@ -24,9 +23,8 @@ The following topics are addressed here: * link:#CHDBBEDA[Architecture of the dukeetf Example Application] * link:#CHDHBBBI[Running the dukeetf Example Application] -[[CHDBBEDA]] +[[CHDBBEDA]][[architecture-of-the-dukeetf-example-application]] -[[architecture-of-the-dukeetf-example-application]] Architecture of the dukeetf Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -53,9 +51,8 @@ uses JavaScript to make new connections. In this model, clients make a new request immediately after receiving new data, and the server keeps the connection open until new data becomes available. -[[sthref111]] +[[sthref111]][[the-servlet]] -[[the-servlet]] The Servlet ^^^^^^^^^^^ @@ -137,9 +134,8 @@ public void doGet(HttpServletRequest request, } ---- -[[sthref112]] +[[sthref112]][[the-enterprise-bean]] -[[the-enterprise-bean]] The Enterprise Bean ^^^^^^^^^^^^^^^^^^^ @@ -185,9 +181,8 @@ See link:ejb-basicexamples005.html#BNBOY[Using the Timer Service] in link:ejb-basicexamples.html#GIJRB[Chapter 37, "Running the Enterprise Bean Examples"] for more information on the timer service. -[[sthref113]] +[[sthref113]][[the-html-page]] -[[the-html-page]] The HTML Page ^^^^^^^^^^^^^ @@ -247,9 +242,8 @@ link:websocket.html#GKJIQ5[Chapter 19, "Java API for WebSocket"] for an equivalent version of this example implemented using a WebSocket endpoint. -[[CHDHBBBI]] +[[CHDHBBBI]][[running-the-dukeetf-example-application]] -[[running-the-dukeetf-example-application]] Running the dukeetf Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -262,9 +256,8 @@ The following topics are addressed here: IDE] * link:#CHDHHAFG[To Run the dukeetf Example Application Using Maven] -[[CHDCGCJD]] +[[CHDCGCJD]][[to-run-the-dukeetf-example-application-using-netbeans-ide]] -[[to-run-the-dukeetf-example-application-using-netbeans-ide]] To Run the dukeetf Example Application Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -295,9 +288,8 @@ http://localhost:8080/dukeetf/ Open the same URL in a different web browser to see how both pages get price and volume updates simultaneously. -[[CHDHHAFG]] +[[CHDHHAFG]][[to-run-the-dukeetf-example-application-using-maven]] -[[to-run-the-dukeetf-example-application-using-maven]] To Run the dukeetf Example Application Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/servlets018.adoc b/src/main/jbake/content/servlets018.adoc index 4863643..ee405c3 100644 --- a/src/main/jbake/content/servlets018.adoc +++ b/src/main/jbake/content/servlets018.adoc @@ -7,9 +7,8 @@ prev=servlets017.html = Further Information about Java Servlet Technology -[[BNAGW]] +[[BNAGW]][[further-information-about-java-servlet-technology]] -[[further-information-about-java-servlet-technology]] Further Information about Java Servlet Technology ------------------------------------------------- diff --git a/src/main/jbake/content/toc.adoc b/src/main/jbake/content/toc.adoc index 5c047aa..b3e1e3a 100644 --- a/src/main/jbake/content/toc.adoc +++ b/src/main/jbake/content/toc.adoc @@ -1283,7 +1283,7 @@ link:cdi-bootstrap-se8.html#bootstrapping-a-cdi-container-in-java-se[28 Bootstra ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * link:cdi-bootstrap-se8001.html#the-bootstrap-api[The Bootstrap API] -* link:cdi-bootstrap-se8002#configuring-the-cdi-container[Configuring the CDI Container] +* link:cdi-bootstrap-se8002.html#configuring-the-cdi-container[Configuring the CDI Container] [[running-the-advanced-contexts-and-dependency-injection-examples]] link:cdi-adv-examples.html#GKHRE[29 Running the Advanced Contexts and Dependency Injection Examples] diff --git a/src/main/jbake/content/transactions.adoc b/src/main/jbake/content/transactions.adoc index 76eebbe..c4d6188 100644 --- a/src/main/jbake/content/transactions.adoc +++ b/src/main/jbake/content/transactions.adoc @@ -7,9 +7,8 @@ prev=partsupporttechs.html Transactions ============ -[[BNCIH]] +[[BNCIH]][[transactions]] -[[transactions]] 55 Transactions --------------- diff --git a/src/main/jbake/content/transactions001.adoc b/src/main/jbake/content/transactions001.adoc index 58aedc9..1101591 100644 --- a/src/main/jbake/content/transactions001.adoc +++ b/src/main/jbake/content/transactions001.adoc @@ -7,9 +7,8 @@ prev=transactions.html Overview of Transactions ======================== -[[A1024277]] +[[A1024277]][[overview-of-transactions]] -[[overview-of-transactions]] Overview of Transactions ------------------------ diff --git a/src/main/jbake/content/transactions002.adoc b/src/main/jbake/content/transactions002.adoc index f92c529..1ffd62e 100644 --- a/src/main/jbake/content/transactions002.adoc +++ b/src/main/jbake/content/transactions002.adoc @@ -7,9 +7,8 @@ prev=transactions001.html Transactions in Java EE Applications ==================================== -[[GIJRG]] +[[GIJRG]][[transactions-in-java-ee-applications]] -[[transactions-in-java-ee-applications]] Transactions in Java EE Applications ------------------------------------ diff --git a/src/main/jbake/content/transactions003.adoc b/src/main/jbake/content/transactions003.adoc index 2fd8cfb..2ab7e31 100644 --- a/src/main/jbake/content/transactions003.adoc +++ b/src/main/jbake/content/transactions003.adoc @@ -7,9 +7,8 @@ prev=transactions002.html What Is a Transaction? ====================== -[[BNCII]] +[[BNCII]][[what-is-a-transaction]] -[[what-is-a-transaction]] What Is a Transaction? ---------------------- diff --git a/src/main/jbake/content/transactions004.adoc b/src/main/jbake/content/transactions004.adoc index c50633e..94e13e6 100644 --- a/src/main/jbake/content/transactions004.adoc +++ b/src/main/jbake/content/transactions004.adoc @@ -7,9 +7,8 @@ prev=transactions003.html = Container-Managed Transactions -[[BNCIJ]] +[[BNCIJ]][[container-managed-transactions]] -[[container-managed-transactions]] Container-Managed Transactions ------------------------------ @@ -45,9 +44,8 @@ demarcation, you must use application-managed transaction demarcation. Enterprise beans that use container-managed transaction demarcation also must not use the `javax.transaction.UserTransaction` interface. -[[BNCIK]] +[[BNCIK]][[transaction-attributes]] -[[transaction-attributes]] Transaction Attributes ~~~~~~~~~~~~~~~~~~~~~~ @@ -74,9 +72,8 @@ A transaction attribute can have one of the following values: * `Supports` * `Never` -[[BNCIM]] +[[BNCIM]][[required-attribute]] -[[required-attribute]] Required Attribute ^^^^^^^^^^^^^^^^^^ @@ -91,9 +88,8 @@ demarcation. You typically do not set the `Required` attribute unless you need to override another transaction attribute. Because transaction attributes are declarative, you can easily change them later. -[[BNCIN]] +[[BNCIN]][[requiresnew-attribute]] -[[requiresnew-attribute]] RequiresNew Attribute ^^^^^^^^^^^^^^^^^^^^^ @@ -111,9 +107,8 @@ a new transaction before running the method. You should use the `RequiresNew` attribute when you want to ensure that the method always runs within a new transaction. -[[BNCIO]] +[[BNCIO]][[mandatory-attribute]] -[[mandatory-attribute]] Mandatory Attribute ^^^^^^^^^^^^^^^^^^^ @@ -125,9 +120,8 @@ the client is not associated with a transaction, the container throws a Use the `Mandatory` attribute if the enterprise bean's method must use the transaction of the client. -[[BNCIP]] +[[BNCIP]][[notsupported-attribute]] -[[notsupported-attribute]] NotSupported Attribute ^^^^^^^^^^^^^^^^^^^^^^ @@ -143,9 +137,8 @@ Use the `NotSupported` attribute for methods that don't need transactions. Because transactions involve overhead, this attribute may improve performance. -[[BNCIQ]] +[[BNCIQ]][[supports-attribute]] -[[supports-attribute]] Supports Attribute ^^^^^^^^^^^^^^^^^^ @@ -157,9 +150,8 @@ start a new transaction before running the method. Because the transactional behavior of the method may vary, you should use the `Supports` attribute with caution. -[[BNCIR]] +[[BNCIR]][[never-attribute]] -[[never-attribute]] Never Attribute ^^^^^^^^^^^^^^^ @@ -168,9 +160,8 @@ bean's method, the container throws a `RemoteException`. If the client is not associated with a transaction, the container does not start a new transaction before running the method. -[[BNCIS]] +[[BNCIS]][[summary-of-transaction-attributes]] -[[summary-of-transaction-attributes]] Summary of Transaction Attributes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -223,9 +214,8 @@ Transaction |======================================================================= -[[BNCIU]] +[[BNCIU]][[setting-transaction-attributes]] -[[setting-transaction-attributes]] Setting Transaction Attributes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -291,9 +281,8 @@ transaction, and calls to `secondMethod` will either run in the current transaction or start a new transaction. Calls to `thirdMethod` or `fourthMethod` do not take place within a transaction. -[[BNCIV]] +[[BNCIV]][[rolling-back-a-container-managed-transaction]] -[[rolling-back-a-container-managed-transaction]] Rolling Back a Container-Managed Transaction ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -305,9 +294,8 @@ to roll back the transaction. If the bean throws an application exception, the rollback is not automatic but can be initiated by a call to `setRollbackOnly`. -[[BNCIW]] +[[BNCIW]][[synchronizing-a-session-beans-instance-variables]] -[[synchronizing-a-session-beans-instance-variables]] Synchronizing a Session Bean's Instance Variables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -333,9 +321,8 @@ completed. This method has a single `boolean` parameter whose value is `true` if the transaction was committed and `false` if it was rolled back. -[[BNCIX]] +[[BNCIX]][[methods-not-allowed-in-container-managed-transactions]] -[[methods-not-allowed-in-container-managed-transactions]] Methods Not Allowed in Container-Managed Transactions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/transactions005.adoc b/src/main/jbake/content/transactions005.adoc index 7768d40..5397a78 100644 --- a/src/main/jbake/content/transactions005.adoc +++ b/src/main/jbake/content/transactions005.adoc @@ -7,9 +7,8 @@ prev=transactions004.html Bean-Managed Transactions ========================= -[[BNCIY]] +[[BNCIY]][[bean-managed-transactions]] -[[bean-managed-transactions]] Bean-Managed Transactions ------------------------- @@ -49,9 +48,8 @@ message-driven beans, you must decide whether to use Java Database Connectivity or JTA transactions. The sections that follow discuss both types of transactions. -[[BNCIZ]] +[[BNCIZ]][[jta-transactions]] -[[jta-transactions]] JTA Transactions ~~~~~~~~~~~~~~~~ @@ -73,9 +71,8 @@ transaction for an instance until the preceding transaction has ended. To demarcate a JTA transaction, you invoke the `begin`, `commit`, and `rollback` methods of the `javax.transaction.UserTransaction` interface. -[[BNCJA]] +[[BNCJA]][[returning-without-committing]] -[[returning-without-committing]] Returning without Committing ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -94,9 +91,8 @@ retains the association between the bean instance and the transaction across multiple calls. If the connection is closed, the association is not retained. -[[BNCJB]] +[[BNCJB]][[methods-not-allowed-in-bean-managed-transactions]] -[[methods-not-allowed-in-bean-managed-transactions]] Methods Not Allowed in Bean-Managed Transactions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/transactions006.adoc b/src/main/jbake/content/transactions006.adoc index 1aecba2..2e1e224 100644 --- a/src/main/jbake/content/transactions006.adoc +++ b/src/main/jbake/content/transactions006.adoc @@ -7,9 +7,8 @@ prev=transactions005.html Transaction Timeouts ==================== -[[BNCJC]] +[[BNCJC]][[transaction-timeouts]] -[[transaction-timeouts]] Transaction Timeouts -------------------- @@ -20,9 +19,8 @@ link:usingexamples003.html#BNADJ[Starting the Administration Console]. For enterprise beans with bean-managed JTA transactions, you invoke the `setTransactionTimeout` method of the `UserTransaction` interface. -[[sthref237]] +[[sthref237]][[to-set-a-transaction-timeout]] -[[to-set-a-transaction-timeout]] To Set a Transaction Timeout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/transactions007.adoc b/src/main/jbake/content/transactions007.adoc index 6e2df2b..9fb92df 100644 --- a/src/main/jbake/content/transactions007.adoc +++ b/src/main/jbake/content/transactions007.adoc @@ -7,9 +7,8 @@ prev=transactions006.html Updating Multiple Databases =========================== -[[BNCJD]] +[[BNCJD]][[updating-multiple-databases]] -[[updating-multiple-databases]] Updating Multiple Databases --------------------------- diff --git a/src/main/jbake/content/transactions008.adoc b/src/main/jbake/content/transactions008.adoc index 0b7a202..ae99b0e 100644 --- a/src/main/jbake/content/transactions008.adoc +++ b/src/main/jbake/content/transactions008.adoc @@ -7,9 +7,8 @@ prev=transactions007.html Transactions in Web Components ============================== -[[BNCJG]] +[[BNCJG]][[transactions-in-web-components]] -[[transactions-in-web-components]] Transactions in Web Components ------------------------------ diff --git a/src/main/jbake/content/transactions009.adoc b/src/main/jbake/content/transactions009.adoc index f7af7b5..f54ac47 100644 --- a/src/main/jbake/content/transactions009.adoc +++ b/src/main/jbake/content/transactions009.adoc @@ -7,9 +7,8 @@ prev=transactions008.html Further Information about Transactions ====================================== -[[GKCMI]] +[[GKCMI]][[further-information-about-transactions]] -[[further-information-about-transactions]] Further Information about Transactions -------------------------------------- diff --git a/src/main/jbake/content/usingexamples.adoc b/src/main/jbake/content/usingexamples.adoc index af68dc6..9b8bef7 100644 --- a/src/main/jbake/content/usingexamples.adoc +++ b/src/main/jbake/content/usingexamples.adoc @@ -7,9 +7,8 @@ prev=overview010.html = Using the Tutorial Examples -[[GFIUD]] +[[GFIUD]][[using-the-tutorial-examples]] -[[using-the-tutorial-examples]] 2 Using the Tutorial Examples ----------------------------- diff --git a/src/main/jbake/content/usingexamples001.adoc b/src/main/jbake/content/usingexamples001.adoc index e8e6b6c..f74f0bc 100644 --- a/src/main/jbake/content/usingexamples001.adoc +++ b/src/main/jbake/content/usingexamples001.adoc @@ -7,9 +7,8 @@ prev=usingexamples.html = Required Software -[[GEXAJ]] +[[GEXAJ]][[required-software]] -[[required-software]] Required Software ----------------- @@ -21,9 +20,8 @@ The following software is required to run the examples: * link:#netbeans-ide[NetBeans IDE] * link:#apache-maven[Apache Maven] -[[GEXAE]] +[[GEXAE]][[java-platform-standard-edition]] -[[java-platform-standard-edition]] Java Platform, Standard Edition ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -33,9 +31,8 @@ Update 65 or above or JDK 8 Update 20 or above. You can download JDK software from `http://www.oracle.com/technetwork/java/javase/downloads/index.html`. -[[GEXAB]] +[[GEXAB]][[java-ee-7-software-development-kit]] -[[java-ee-7-software-development-kit]] Java EE 8 Software Development Kit ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -47,9 +44,8 @@ Software Development Kit (SDK), which you can download from `http://www.oracle.com/technetwork/java/javaee/downloads/index.html`. -[[GEXBC]] +[[GEXBC]][[sdk-installation-tips]] -[[sdk-installation-tips]] SDK Installation Tips ^^^^^^^^^^^^^^^^^^^^^ @@ -74,9 +70,8 @@ as-install-parent/bin as-install/bin ---- -[[GEXBA]] +[[GEXBA]][[java-ee-7-tutorial-component]] -[[java-ee-7-tutorial-component]] Java EE 8 Tutorial Component ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -90,9 +85,8 @@ link:usingexamples008.html#GIQWR[Getting the Latest Updates to the Tutorial]. //// -[[GEXAZ]] +[[GEXAZ]][[netbeans-ide]] -[[netbeans-ide]] NetBeans IDE ~~~~~~~~~~~~ @@ -106,9 +100,8 @@ IDE. You can download NetBeans IDE from `https://netbeans.org/downloads/index.html`. Make sure that you download the Java EE bundle. -[[GJSEQ]] +[[GJSEQ]][[to-install-netbeans-ide-without-glassfish-server]] -[[to-install-netbeans-ide-without-glassfish-server]] To Install NetBeans IDE without GlassFish Server ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -124,9 +117,8 @@ A few of the tutorial examples use the Junit library, so you should install it. 3. Continue with the installation of NetBeans IDE. -[[GIQZL]] +[[GIQZL]][[to-add-glassfish-server-as-a-server-using-netbeans-ide]] -[[to-add-glassfish-server-as-a-server-using-netbeans-ide]] To Add GlassFish Server as a Server Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -142,9 +134,8 @@ and click Next. 5. Under Domain Location, select Register Local Domain. 6. Click Finish. -[[GEXAA]] +[[GEXAA]][[apache-maven]] -[[apache-maven]] Apache Maven ~~~~~~~~~~~~ diff --git a/src/main/jbake/content/usingexamples002.adoc b/src/main/jbake/content/usingexamples002.adoc index a25d5f7..1a7bae5 100644 --- a/src/main/jbake/content/usingexamples002.adoc +++ b/src/main/jbake/content/usingexamples002.adoc @@ -7,18 +7,16 @@ prev=usingexamples001.html Starting and Stopping GlassFish Server ====================================== -[[BNADI]] +[[BNADI]][[starting-and-stopping-glassfish-server]] -[[starting-and-stopping-glassfish-server]] Starting and Stopping GlassFish Server -------------------------------------- You can start and stop GlassFish Server using either NetBeans IDE or the command line. -[[CHDCACDI]] +[[CHDCACDI]][[to-start-glassfish-server-using-netbeans-ide]] -[[to-start-glassfish-server-using-netbeans-ide]] To Start GlassFish Server Using NetBeans IDE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -26,18 +24,16 @@ To Start GlassFish Server Using NetBeans IDE 2. Expand Servers. 3. Right-click the GlassFish Server instance and select Start. -[[sthref14]] +[[sthref14]][[to-stop-glassfish-server-using-netbeans-ide]] -[[to-stop-glassfish-server-using-netbeans-ide]] To Stop GlassFish Server Using NetBeans IDE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To stop GlassFish Server using NetBeans IDE, right-click the GlassFish Server instance and select Stop. -[[CHDBDDAF]] +[[CHDBDDAF]][[to-start-glassfish-server-using-the-command-line]] -[[to-start-glassfish-server-using-the-command-line]] To Start GlassFish Server Using the Command Line ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -68,9 +64,8 @@ debugging output to appear on the terminal window or command prompt. The output also goes into the server log, which is located in domain-dir`/logs/server.log`. -[[sthref15]] +[[sthref15]][[to-stop-glassfish-server-using-the-command-line]] -[[to-stop-glassfish-server-using-the-command-line]] To Stop GlassFish Server Using the Command Line ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/usingexamples003.adoc b/src/main/jbake/content/usingexamples003.adoc index 7b7dbd4..6a34175 100644 --- a/src/main/jbake/content/usingexamples003.adoc +++ b/src/main/jbake/content/usingexamples003.adoc @@ -7,9 +7,8 @@ prev=usingexamples002.html Starting the Administration Console =================================== -[[BNADJ]] +[[BNADJ]][[starting-the-administration-console]] -[[starting-the-administration-console]] Starting the Administration Console ----------------------------------- @@ -18,9 +17,8 @@ applications, use the Administration Console tool. GlassFish Server must be running before you invoke the Administration Console. To start the Administration Console, open a browser at `http://localhost:4848/`. -[[GJKST]] +[[GJKST]][[to-start-the-administration-console-using-netbeans-ide]] -[[to-start-the-administration-console-using-netbeans-ide]] To Start the Administration Console Using NetBeans IDE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/usingexamples004.adoc b/src/main/jbake/content/usingexamples004.adoc index 2c2779c..11a0d38 100644 --- a/src/main/jbake/content/usingexamples004.adoc +++ b/src/main/jbake/content/usingexamples004.adoc @@ -7,9 +7,8 @@ prev=usingexamples003.html = Starting and Stopping Apache Derby -[[BNADK]] +[[BNADK]][[starting-and-stopping-the-java-db-server]] -[[starting-and-stopping-the-java-db-server]] Starting and Stopping Apache Derby ---------------------------------- @@ -34,9 +33,8 @@ asadmin stop-database For information about Apache Derby included with GlassFish Server, see the Release Notes that are located in the `_as-install_/javadb/` directory. -[[GJSFS]] +[[GJSFS]][[to-start-the-database-server-using-netbeans-ide]] -[[to-start-the-database-server-using-netbeans-ide]] To Start Derby Using NetBeans IDE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/usingexamples005.adoc b/src/main/jbake/content/usingexamples005.adoc index 7576a8f..e79398e 100644 --- a/src/main/jbake/content/usingexamples005.adoc +++ b/src/main/jbake/content/usingexamples005.adoc @@ -7,9 +7,8 @@ prev=usingexamples004.html Building the Examples ===================== -[[BNAAN]] +[[BNAAN]][[building-the-examples]] -[[building-the-examples]] Building the Examples --------------------- diff --git a/src/main/jbake/content/usingexamples006.adoc b/src/main/jbake/content/usingexamples006.adoc index d64ed5c..9778c09 100644 --- a/src/main/jbake/content/usingexamples006.adoc +++ b/src/main/jbake/content/usingexamples006.adoc @@ -7,9 +7,8 @@ prev=usingexamples005.html Tutorial Example Directory Structure ==================================== -[[GEXAP]] +[[GEXAP]][[tutorial-example-directory-structure]] -[[tutorial-example-directory-structure]] Tutorial Example Directory Structure ------------------------------------ diff --git a/src/main/jbake/content/usingexamples007.adoc b/src/main/jbake/content/usingexamples007.adoc index db57017..44be2a4 100644 --- a/src/main/jbake/content/usingexamples007.adoc +++ b/src/main/jbake/content/usingexamples007.adoc @@ -7,9 +7,8 @@ prev=usingexamples006.html = Java EE Maven Archetypes in the Tutorial -[[CIHBHEFF]] +[[CIHBHEFF]][[java-ee-maven-archetypes-in-the-tutorial]] -[[java-ee-maven-archetypes-in-the-tutorial]] Java EE Maven Archetypes in the Tutorial ---------------------------------------- @@ -18,9 +17,8 @@ application using Maven archetypes. Archetypes are templates for generating a particular Maven project. The Tutorial includes several Maven archetypes for generating Java EE projects. -[[CHDJGCCA]] +[[CHDJGCCA]][[installing-the-tutorial-archetypes]] -[[installing-the-tutorial-archetypes]] Installing the Tutorial Archetypes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -28,9 +26,8 @@ You must install the included Maven archetypes into your local Maven repository before you can create new projects based on the archetypes. You can install the archetypes using NetBeans IDE or Maven. -[[sthref16]] +[[sthref16]][[installing-the-tutorial-archetypes-using-netbeans-ide]] -[[installing-the-tutorial-archetypes-using-netbeans-ide]] Installing the Tutorial Archetypes Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -46,9 +43,8 @@ tut-install/examples 5. In the *Projects* tab, right-click the `archetypes` project and select *Build*. -[[sthref17]] +[[sthref17]][[installing-the-tutorial-archetypes-using-maven]] -[[installing-the-tutorial-archetypes-using-maven]] Installing the Tutorial Archetypes Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/usingexamples008.adoc b/src/main/jbake/content/usingexamples008.adoc index 1a15036..57d58fe 100644 --- a/src/main/jbake/content/usingexamples008.adoc +++ b/src/main/jbake/content/usingexamples008.adoc @@ -7,18 +7,16 @@ prev=usingexamples007.html = Getting the Latest Updates to the Tutorial -[[GIQWR]] +[[GIQWR]][[getting-the-latest-updates-to-the-tutorial]] -[[getting-the-latest-updates-to-the-tutorial]] Getting the Latest Updates to the Tutorial ------------------------------------------ Check for any updates to the tutorial by using the Update Tool included with the Java EE SDK. -[[GIQYK]] +[[GIQYK]][[to-update-the-tutorial-using-netbeans-ide]] -[[to-update-the-tutorial-using-netbeans-ide]] To Update the Tutorial Using NetBeans IDE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -32,9 +30,8 @@ package. 5. If there is an updated version of the Tutorial, select *Java EE Tutorial* (`javaee-tutorial`) and click *Install*. -[[sthref18]] +[[sthref18]][[to-update-the-tutorial-using-the-command-line]] -[[to-update-the-tutorial-using-the-command-line]] To Update the Tutorial Using the Command Line ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/usingexamples009.adoc b/src/main/jbake/content/usingexamples009.adoc index fa4f814..a38bc67 100644 --- a/src/main/jbake/content/usingexamples009.adoc +++ b/src/main/jbake/content/usingexamples009.adoc @@ -7,18 +7,16 @@ prev=usingexamples007.html = Debugging Java EE Applications -[[BNADL]] +[[BNADL]][[debugging-java-ee-applications]] -[[debugging-java-ee-applications]] Debugging Java EE Applications ------------------------------ This section explains how to determine what is causing an error in your application deployment or execution. -[[BNADM]] +[[BNADM]][[using-the-server-log]] -[[using-the-server-log]] Using the Server Log ~~~~~~~~~~~~~~~~~~~~ @@ -40,9 +38,8 @@ debugging information is available only in the log. You can view the server log with a text editor or with the Administration Console log viewer. -[[GJSGH]] +[[GJSGH]][[to-use-the-administration-console-log-viewer]] -[[to-use-the-administration-console-log-viewer]] To Use the Administration Console Log Viewer ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -55,9 +52,8 @@ a. Click *Modify Search*. b. Specify any constraints on the entries you want to see. c. Click Search at the top of the log viewer. -[[BNADN]] +[[BNADN]][[using-a-debugger]] -[[using-a-debugger]] Using a Debugger ~~~~~~~~~~~~~~~~ @@ -65,9 +61,8 @@ GlassFish Server supports the Java Platform Debugger Architecture (JPDA). With JPDA, you can configure GlassFish Server to communicate debugging information using a socket. -[[GJQWL]] +[[GJQWL]][[to-debug-an-application-using-a-debugger]] -[[to-debug-an-application-using-a-debugger]] To Debug an Application Using a Debugger ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/webapp.adoc b/src/main/jbake/content/webapp.adoc index cdbe685..eca9efa 100644 --- a/src/main/jbake/content/webapp.adoc +++ b/src/main/jbake/content/webapp.adoc @@ -7,9 +7,8 @@ prev=partwebtier.html Getting Started with Web Applications ===================================== -[[BNADR]] +[[BNADR]][[getting-started-with-web-applications]] -[[getting-started-with-web-applications]] 6 Getting Started with Web Applications --------------------------------------- diff --git a/src/main/jbake/content/webapp001.adoc b/src/main/jbake/content/webapp001.adoc index 9bb6e08..84a1ab5 100644 --- a/src/main/jbake/content/webapp001.adoc +++ b/src/main/jbake/content/webapp001.adoc @@ -7,9 +7,8 @@ prev=webapp.html Web Applications ================ -[[GEYSJ]] +[[GEYSJ]][[web-applications]] -[[web-applications]] Web Applications ---------------- diff --git a/src/main/jbake/content/webapp002.adoc b/src/main/jbake/content/webapp002.adoc index 2ed0abe..b0cc27c 100644 --- a/src/main/jbake/content/webapp002.adoc +++ b/src/main/jbake/content/webapp002.adoc @@ -7,9 +7,8 @@ prev=webapp001.html Web Application Lifecycle ========================= -[[BNADU]] +[[BNADU]][[web-application-lifecycle]] -[[web-application-lifecycle]] Web Application Lifecycle ------------------------- diff --git a/src/main/jbake/content/webapp003.adoc b/src/main/jbake/content/webapp003.adoc index 2936a38..004603f 100644 --- a/src/main/jbake/content/webapp003.adoc +++ b/src/main/jbake/content/webapp003.adoc @@ -7,9 +7,8 @@ prev=webapp002.html = A Web Module That Uses JavaServer Faces Technology: The hello1 Example -[[BNADX]] +[[BNADX]][[a-web-module-that-uses-javaserver-faces-technology-the-hello1-example]] -[[a-web-module-that-uses-javaserver-faces-technology-the-hello1-example]] A Web Module That Uses JavaServer Faces Technology: The hello1 Example ---------------------------------------------------------------------- @@ -28,9 +27,8 @@ The following topics are addressed here: * link:#running-the-deployed-hello1-web-module[Running the Deployed hello1 Web Module] * link:#undeploying-the-hello1-web-module[Undeploying the hello1 Web Module] -[[GJWTV]] +[[GJWTV]][[to-view-the-hello1-web-module-using-netbeans-ide]] -[[to-view-the-hello1-web-module-using-netbeans-ide]] To View the hello1 Web Module Using NetBeans IDE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -220,9 +218,8 @@ page: ---- -[[GLQLK]] +[[GLQLK]][[introduction-to-scopes]] -[[introduction-to-scopes]] Introduction to Scopes ^^^^^^^^^^^^^^^^^^^^^^ @@ -248,9 +245,8 @@ all users' interactions with a web application. For more information on scopes in JavaServer Faces technology, see link:jsf-configure002.html#GIRCR[Using Managed Bean Scopes]. -[[BNADZ]] +[[BNADZ]][[packaging-and-deploying-the-hello1-web-module]] -[[packaging-and-deploying-the-hello1-web-module]] Packaging and Deploying the hello1 Web Module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -270,9 +266,8 @@ You can deploy a WAR file to GlassFish Server by: Throughout the tutorial, you will use NetBeans IDE or Maven for packaging and deploying. -[[GJRGN]] +[[GJRGN]][[to-build-and-package-the-hello1-web-module-using-netbeans-ide]] -[[to-build-and-package-the-hello1-web-module-using-netbeans-ide]] To Build and Package the hello1 Web Module Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -293,9 +288,8 @@ tut-install/examples/web/jsf 6. In the Projects tab, right-click the `hello1` project and select Build. This command deploys the project to the server. -[[GJRKN]] +[[GJRKN]][[to-build-and-package-the-hello1-web-module-using-maven]] -[[to-build-and-package-the-hello1-web-module-using-maven]] To Build and Package the hello1 Web Module Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -321,9 +315,8 @@ This command spawns any necessary compilations and creates the WAR file in `_tut-install_/examples/web/jsf/hello1/target/`. It then deploys the project to the server. -[[BNAEI]] +[[BNAEI]][[viewing-deployed-web-modules]] -[[viewing-deployed-web-modules]] Viewing Deployed Web Modules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -331,9 +324,8 @@ GlassFish Server provides two ways to view the deployed web modules: the Administration Console and the `asadmin` command. You can also use NetBeans IDE to view deployed modules. -[[GJSGR]] +[[GJSGR]][[to-view-deployed-web-modules-using-the-administration-console]] -[[to-view-deployed-web-modules-using-the-administration-console]] To View Deployed Web Modules Using the Administration Console ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -344,9 +336,8 @@ To view deployed web modules using the Administration Console: + The deployed web modules appear in the Deployed Applications table. -[[GJSEW]] +[[GJSEW]][[to-view-deployed-web-modules-using-the-asadmin-command]] -[[to-view-deployed-web-modules-using-the-asadmin-command]] To View Deployed Web Modules Using the asadmin Command ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -357,9 +348,8 @@ Enter the following command: asadmin list-applications ---- -[[sthref24]] +[[sthref24]][[to-view-deployed-web-modules-using-netbeans-ide]] -[[to-view-deployed-web-modules-using-netbeans-ide]] To View Deployed Web Modules Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -369,9 +359,8 @@ To view deployed web modules using NetBeans IDE: GlassFish Server node. 2. Expand the Applications node to view the deployed modules. -[[BCEBEGED]] +[[BCEBEGED]][[running-the-deployed-hello1-web-module]] -[[running-the-deployed-hello1-web-module]] Running the Deployed hello1 Web Module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -394,9 +383,8 @@ http://localhost:8080/hello1/ The response page displays the name you submitted. Click Back to try again. -[[BNAEM]] +[[BNAEM]][[dynamic-reloading-of-deployed-modules]] -[[dynamic-reloading-of-deployed-modules]] Dynamic Reloading of Deployed Modules ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -417,18 +405,16 @@ that time become invalid, and the client must restart the session. In GlassFish Server, dynamic reloading is enabled by default. -[[BNAEN]] +[[BNAEN]][[undeploying-the-hello1-web-module]] -[[undeploying-the-hello1-web-module]] Undeploying the hello1 Web Module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can undeploy web modules and other types of enterprise applications by using either NetBeans IDE or Maven. -[[GJSEJ]] +[[GJSEJ]][[to-undeploy-the-hello1-web-module-using-netbeans-ide]] -[[to-undeploy-the-hello1-web-module-using-netbeans-ide]] To Undeploy the hello1 Web Module Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -441,9 +427,8 @@ GlassFish Server node. 4. To delete the class files and other build artifacts, go back to the Projects tab, right-click the project, and select Clean. -[[GJSHH]] +[[GJSHH]][[to-undeploy-the-hello1-web-module-using-maven]] -[[to-undeploy-the-hello1-web-module-using-maven]] To Undeploy the hello1 Web Module Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/webapp004.adoc b/src/main/jbake/content/webapp004.adoc index e601059..ef30c6f 100644 --- a/src/main/jbake/content/webapp004.adoc +++ b/src/main/jbake/content/webapp004.adoc @@ -7,9 +7,8 @@ prev=webapp003.html A Web Module That Uses Java Servlet Technology: The hello2 Example ================================================================== -[[BNAEO]] +[[BNAEO]][[a-web-module-that-uses-java-servlet-technology-the-hello2-example]] -[[a-web-module-that-uses-java-servlet-technology-the-hello2-example]] A Web Module That Uses Java Servlet Technology: The hello2 Example ------------------------------------------------------------------ @@ -26,9 +25,8 @@ The following topics are addressed here: * link:#examining-the-hello2-web-module[Examining the hello2 Web Module] * link:#running-the-hello2-example[Running the hello2 Example] -[[BNAEP]] +[[BNAEP]][[mapping-urls-to-web-components]] -[[mapping-urls-to-web-components]] Mapping URLs to Web Components ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -67,9 +65,8 @@ http://localhost:8080/hello2/greeting To access the servlet by using only the context root, specify `"/"` as the URL pattern. -[[GJWWG]] +[[GJWWG]][[examining-the-hello2-web-module]] -[[examining-the-hello2-web-module]] Examining the hello2 Web Module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -78,9 +75,8 @@ application, but it is implemented using Java Servlet technology instead of JavaServer Faces technology. You can use a text editor to view the application files, or you can use NetBeans IDE. -[[GJWWA]] +[[GJWWA]][[to-view-the-hello2-web-module-using-netbeans-ide]] -[[to-view-the-hello2-web-module-using-netbeans-ide]] To View the hello2 Web Module Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -175,9 +171,8 @@ public class ResponseServlet extends HttpServlet { ... ---- -[[GKBLH]] +[[GKBLH]][[running-the-hello2-example]] -[[running-the-hello2-example]] Running the hello2 Example ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -189,9 +184,8 @@ The following topics are addressed here: * link:#GJSED[To Run the hello2 Example Using NetBeans IDE] * link:#GJSHX[To Run the hello2 Example Using Maven] -[[GJSED]] +[[GJSED]][[to-run-the-hello2-example-using-netbeans-ide]] -[[to-run-the-hello2-example-using-netbeans-ide]] To Run the hello2 Example Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -224,9 +218,8 @@ The application looks much like the `hello1` application. The major difference is that after you click Submit the response appears below the greeting, not on a separate page. -[[GJSHX]] +[[GJSHX]][[to-run-the-hello2-example-using-maven]] -[[to-run-the-hello2-example-using-maven]] To Run the hello2 Example Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/webapp005.adoc b/src/main/jbake/content/webapp005.adoc index 3f6788d..eaa618f 100644 --- a/src/main/jbake/content/webapp005.adoc +++ b/src/main/jbake/content/webapp005.adoc @@ -7,9 +7,8 @@ prev=webapp004.html = Configuring Web Applications -[[CHDHGJIA]] +[[CHDHGJIA]][[configuring-web-applications]] -[[configuring-web-applications]] Configuring Web Applications ---------------------------- @@ -21,9 +20,8 @@ applications: * Mapping errors to error screens * Declaring resource references -[[BNAES]] +[[BNAES]][[setting-context-parameters]] -[[setting-context-parameters]] Setting Context Parameters ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -34,9 +32,8 @@ are available to the entire application. For information on initialization parameters, see link:servlets004.html#BNAFU[Creating and Initializing a Servlet]. -[[GJSFJ]] +[[GJSFJ]][[to-add-a-context-parameter-using-netbeans-ide]] -[[to-add-a-context-parameter-using-netbeans-ide]] To Add a Context Parameter Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -61,9 +58,8 @@ field, enter the name that specifies the context object. context object. 10. Click OK. -[[GKIHH]] +[[GKIHH]][[to-create-a-web.xml-file-using-netbeans-ide]] -[[to-create-a-web.xml-file-using-netbeans-ide]] To Create a web.xml File Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -77,9 +73,8 @@ Standard Deployment Descriptor under File Types. + A basic `web.xml` file appears in `web/WEB-INF/`. -[[BNAER]] +[[BNAER]][[declaring-welcome-files]] -[[declaring-welcome-files]] Declaring Welcome Files ~~~~~~~~~~~~~~~~~~~~~~~ @@ -121,9 +116,8 @@ The `hello2` example does not specify a welcome file, because the URL request is mapped to the `GreetingServlet` web component through the URL pattern `/greeting`. -[[GKBKW]] +[[GKBKW]][[mapping-errors-to-error-screens]] -[[mapping-errors-to-error-screens]] Mapping Errors to Error Screens ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -138,9 +132,8 @@ descriptor. Each element identifies a different error that causes an error page to open. This error page can be the same for any number of `error-page` elements. -[[BNAET]] +[[BNAET]][[to-set-up-error-mapping-using-netbeans-ide]] -[[to-set-up-error-mapping-using-netbeans-ide]] To Set Up Error Mapping Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -170,9 +163,8 @@ exception that will cause the error page to load. To specify all throwable errors and exceptions, enter `java.lang.Throwable`. 10. Click OK. -[[BNAEU]] +[[BNAEU]][[declaring-resource-references]] -[[declaring-resource-references]] Declaring Resource References ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -233,9 +225,8 @@ for more information on resources. |================================================ -[[BNAEW]] +[[BNAEW]][[declaring-a-reference-to-a-resource]] -[[declaring-a-reference-to-a-resource]] Declaring a Reference to a Resource ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -290,9 +281,8 @@ link:persistence-basicexamples.html#GIJST[Chapter 41, "Running the Persistence Examples"] describes these annotations and the use of the Java Persistence API in web applications. -[[BNAEX]] +[[BNAEX]][[declaring-a-reference-to-a-web-service]] -[[declaring-a-reference-to-a-web-service]] Declaring a Reference to a Web Service ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/webapp006.adoc b/src/main/jbake/content/webapp006.adoc index 9b95d1f..aa81ca4 100644 --- a/src/main/jbake/content/webapp006.adoc +++ b/src/main/jbake/content/webapp006.adoc @@ -7,9 +7,8 @@ prev=webapp005.html = Further Information about Web Applications -[[BNAFC]] +[[BNAFC]][[further-information-about-web-applications]] -[[further-information-about-web-applications]] Further Information about Web Applications ------------------------------------------ diff --git a/src/main/jbake/content/webi18n.adoc b/src/main/jbake/content/webi18n.adoc index 6e2ddb0..971cc21 100644 --- a/src/main/jbake/content/webi18n.adoc +++ b/src/main/jbake/content/webi18n.adoc @@ -7,9 +7,8 @@ prev=jsonb004.html = Internationalizing and Localizing Web Applications -[[BNAXU]] +[[BNAXU]][[internationalizing-and-localizing-web-applications]] -[[internationalizing-and-localizing-web-applications]] 22 Internationalizing and Localizing Web Applications ----------------------------------------------------- diff --git a/src/main/jbake/content/webi18n001.adoc b/src/main/jbake/content/webi18n001.adoc index 066a22f..8e680b2 100644 --- a/src/main/jbake/content/webi18n001.adoc +++ b/src/main/jbake/content/webi18n001.adoc @@ -7,9 +7,8 @@ prev=webi18n.html Java Platform Localization Classes ================================== -[[BNAXV]] +[[BNAXV]][[java-platform-localization-classes]] -[[java-platform-localization-classes]] Java Platform Localization Classes ---------------------------------- diff --git a/src/main/jbake/content/webi18n002.adoc b/src/main/jbake/content/webi18n002.adoc index 15f1a24..ce33e03 100644 --- a/src/main/jbake/content/webi18n002.adoc +++ b/src/main/jbake/content/webi18n002.adoc @@ -7,9 +7,8 @@ prev=webi18n001.html Providing Localized Messages and Labels ======================================= -[[BNAXW]] +[[BNAXW]][[providing-localized-messages-and-labels]] -[[providing-localized-messages-and-labels]] Providing Localized Messages and Labels --------------------------------------- @@ -43,9 +42,8 @@ Visitor=You are visitor number What=What We\'re Reading ---- -[[GKUIA]] +[[GKUIA]][[establishing-the-locale]] -[[establishing-the-locale]] Establishing the Locale ~~~~~~~~~~~~~~~~~~~~~~~ @@ -87,9 +85,8 @@ public class LocaleBean { } ---- -[[BNAXY]] +[[BNAXY]][[setting-the-resource-bundle]] -[[setting-the-resource-bundle]] Setting the Resource Bundle ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -140,9 +137,8 @@ file. For more information on using this element, see link:jsf-configure006.html#BNAXB[Registering Application Messages]. -[[GKUFC]] +[[GKUFC]][[retrieving-localized-messages]] -[[retrieving-localized-messages]] Retrieving Localized Messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/webi18n003.adoc b/src/main/jbake/content/webi18n003.adoc index a7b9187..0b87fa1 100644 --- a/src/main/jbake/content/webi18n003.adoc +++ b/src/main/jbake/content/webi18n003.adoc @@ -7,9 +7,8 @@ prev=webi18n002.html Date and Number Formatting ========================== -[[BNAYA]] +[[BNAYA]][[date-and-number-formatting]] -[[date-and-number-formatting]] Date and Number Formatting -------------------------- diff --git a/src/main/jbake/content/webi18n004.adoc b/src/main/jbake/content/webi18n004.adoc index 9d4155f..677e862 100644 --- a/src/main/jbake/content/webi18n004.adoc +++ b/src/main/jbake/content/webi18n004.adoc @@ -7,9 +7,8 @@ prev=webi18n003.html Character Sets and Encodings ============================ -[[BNAYB]] +[[BNAYB]][[character-sets-and-encodings]] -[[character-sets-and-encodings]] Character Sets and Encodings ---------------------------- @@ -20,9 +19,8 @@ The following topics are addressed here: * link:#BNAYC[Character Sets] * link:#BNAYD[Character Encoding] -[[BNAYC]] +[[BNAYC]][[character-sets]] -[[character-sets]] Character Sets ~~~~~~~~~~~~~~ @@ -47,9 +45,8 @@ characters, as follows: admin.nav.main=P\u00e1gina principal de administraci\u00f3n ---- -[[BNAYD]] +[[BNAYD]][[character-encoding]] -[[character-encoding]] Character Encoding ~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/webservices-intro.adoc b/src/main/jbake/content/webservices-intro.adoc index 84ec20a..38fe28d 100644 --- a/src/main/jbake/content/webservices-intro.adoc +++ b/src/main/jbake/content/webservices-intro.adoc @@ -7,9 +7,8 @@ prev=partwebsvcs.html Introduction to Web Services ============================ -[[GIJTI]] +[[GIJTI]][[introduction-to-web-services]] -[[introduction-to-web-services]] 30 Introduction to Web Services ------------------------------- diff --git a/src/main/jbake/content/webservices-intro001.adoc b/src/main/jbake/content/webservices-intro001.adoc index 36d6115..bc56c6c 100644 --- a/src/main/jbake/content/webservices-intro001.adoc +++ b/src/main/jbake/content/webservices-intro001.adoc @@ -7,9 +7,8 @@ prev=webservices-intro.html What Are Web Services? ====================== -[[GIJVH]] +[[GIJVH]][[what-are-web-services]] -[[what-are-web-services]] What Are Web Services? ---------------------- diff --git a/src/main/jbake/content/webservices-intro002.adoc b/src/main/jbake/content/webservices-intro002.adoc index df61a71..2a71d6a 100644 --- a/src/main/jbake/content/webservices-intro002.adoc +++ b/src/main/jbake/content/webservices-intro002.adoc @@ -7,9 +7,8 @@ prev=webservices-intro001.html = Types of Web Services -[[GIQSX]] +[[GIQSX]][[types-of-web-services]] -[[types-of-web-services]] Types of Web Services --------------------- @@ -28,9 +27,8 @@ The following topics are addressed here: * link:#GKCDG["Big" Web Services] * link:#GKCAW[RESTful Web Services] -[[GKCDG]] +[[GKCDG]][[big-web-services]] -[[big-web-services]] "Big" Web Services ~~~~~~~~~~~~~~~~~~ @@ -66,9 +64,8 @@ such as Web Services Reliable Messaging (WSRM), and APIs, such as JAX-WS, with their client-side asynchronous invocation support, can be leveraged out of the box. -[[GKCAW]] +[[GKCAW]][[restful-web-services]] -[[restful-web-services]] RESTful Web Services ~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/webservices-intro003.adoc b/src/main/jbake/content/webservices-intro003.adoc index eaf5378..48a5aa2 100644 --- a/src/main/jbake/content/webservices-intro003.adoc +++ b/src/main/jbake/content/webservices-intro003.adoc @@ -7,9 +7,8 @@ prev=webservices-intro002.html Deciding Which Type of Web Service to Use ========================================= -[[GJBJI]] +[[GJBJI]][[deciding-which-type-of-web-service-to-use]] -[[deciding-which-type-of-web-service-to-use]] Deciding Which Type of Web Service to Use ----------------------------------------- diff --git a/src/main/jbake/content/websocket.adoc b/src/main/jbake/content/websocket.adoc index a8d04d9..baea3e5 100644 --- a/src/main/jbake/content/websocket.adoc +++ b/src/main/jbake/content/websocket.adoc @@ -7,9 +7,8 @@ prev=servlets018.html = Java API for WebSocket -[[GKJIQ5]] +[[GKJIQ5]][[java-api-for-websocket]] -[[java-api-for-websocket]] 19 Java API for WebSocket ------------------------- diff --git a/src/main/jbake/content/websocket001.adoc b/src/main/jbake/content/websocket001.adoc index e836264..b5b640c 100644 --- a/src/main/jbake/content/websocket001.adoc +++ b/src/main/jbake/content/websocket001.adoc @@ -7,9 +7,8 @@ prev=websocket.html Introduction to WebSocket ========================= -[[BABDABHF]] +[[BABDABHF]][[introduction-to-websocket]] -[[introduction-to-websocket]] Introduction to WebSocket ------------------------- diff --git a/src/main/jbake/content/websocket002.adoc b/src/main/jbake/content/websocket002.adoc index 9c09e12..7a8b452 100644 --- a/src/main/jbake/content/websocket002.adoc +++ b/src/main/jbake/content/websocket002.adoc @@ -7,9 +7,8 @@ prev=websocket001.html Creating WebSocket Applications in the Java EE Platform ======================================================= -[[BABEAEFC]] +[[BABEAEFC]][[creating-websocket-applications-in-the-java-ee-platform]] -[[creating-websocket-applications-in-the-java-ee-platform]] Creating WebSocket Applications in the Java EE Platform ------------------------------------------------------- @@ -50,9 +49,8 @@ a programmatic endpoint, but it focuses on annotated endpoints. |======================================================================= -[[sthref114]] +[[sthref114]][[creating-and-deploying-a-websocket-endpoint]] -[[creating-and-deploying-a-websocket-endpoint]] Creating and Deploying a WebSocket Endpoint ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/websocket003.adoc b/src/main/jbake/content/websocket003.adoc index 6860e30..7641205 100644 --- a/src/main/jbake/content/websocket003.adoc +++ b/src/main/jbake/content/websocket003.adoc @@ -7,9 +7,8 @@ prev=websocket002.html Programmatic Endpoints ====================== -[[BABGJEIG]] +[[BABGJEIG]][[programmatic-endpoints]] -[[programmatic-endpoints]] Programmatic Endpoints ---------------------- diff --git a/src/main/jbake/content/websocket004.adoc b/src/main/jbake/content/websocket004.adoc index d1707cb..ac053ec 100644 --- a/src/main/jbake/content/websocket004.adoc +++ b/src/main/jbake/content/websocket004.adoc @@ -7,9 +7,8 @@ prev=websocket003.html = Annotated Endpoints -[[BABFEBGA]] +[[BABFEBGA]][[annotated-endpoints]] -[[annotated-endpoints]] Annotated Endpoints ------------------- diff --git a/src/main/jbake/content/websocket005.adoc b/src/main/jbake/content/websocket005.adoc index 1ca381a..f620c47 100644 --- a/src/main/jbake/content/websocket005.adoc +++ b/src/main/jbake/content/websocket005.adoc @@ -7,9 +7,8 @@ prev=websocket004.html Sending and Receiving Messages ============================== -[[BABFCGBJ]] +[[BABFCGBJ]][[sending-and-receiving-messages]] -[[sending-and-receiving-messages]] Sending and Receiving Messages ------------------------------ @@ -24,9 +23,8 @@ The following topics are addressed here: * link:#CIHEHFCB[Sending Messages] * link:#CIHIDFHD[Receiving Messages] -[[CIHEHFCB]] +[[CIHEHFCB]][[sending-messages]] -[[sending-messages]] Sending Messages ~~~~~~~~~~~~~~~~ @@ -73,9 +71,8 @@ The example in link:websocket004.html#BABFEBGA[Annotated Endpoints] demonstrates how to use this procedure to reply to every incoming text message. -[[BABIFBCG]] +[[BABIFBCG]][[sending-messages-to-all-peers-connected-to-an-endpoint]] -[[sending-messages-to-all-peers-connected-to-an-endpoint]] Sending Messages to All Peers Connected to an Endpoint ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -103,9 +100,8 @@ public class EchoAllEndpoint { } ---- -[[CIHIDFHD]] +[[CIHIDFHD]][[receiving-messages]] -[[receiving-messages]] Receiving Messages ~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/websocket006.adoc b/src/main/jbake/content/websocket006.adoc index 8fd3776..db2424e 100644 --- a/src/main/jbake/content/websocket006.adoc +++ b/src/main/jbake/content/websocket006.adoc @@ -7,9 +7,8 @@ prev=websocket005.html Maintaining Client State ======================== -[[BABGJCAD]] +[[BABGJCAD]][[maintaining-client-state]] -[[maintaining-client-state]] Maintaining Client State ------------------------ diff --git a/src/main/jbake/content/websocket007.adoc b/src/main/jbake/content/websocket007.adoc index cee65b5..5ef4230 100644 --- a/src/main/jbake/content/websocket007.adoc +++ b/src/main/jbake/content/websocket007.adoc @@ -7,9 +7,8 @@ prev=websocket006.html Using Encoders and Decoders =========================== -[[BABGADFG]] +[[BABGADFG]][[using-encoders-and-decoders]] -[[using-encoders-and-decoders]] Using Encoders and Decoders --------------------------- @@ -32,9 +31,8 @@ WebSocket Messages] * link:#CIHGDJFG[Implementing Decoders to Convert WebSocket Messages into Java Objects] -[[CIHBIGBI]] +[[CIHBIGBI]][[implementing-encoders-to-convert-java-objects-into-websocket-messages]] -[[implementing-encoders-to-convert-java-objects-into-websocket-messages]] Implementing Encoders to Convert Java Objects into WebSocket Messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -102,9 +100,8 @@ instances are associated with one and only one WebSocket connection and peer, so there is only one thread executing the code of an encoder instance at any given time. -[[CIHGDJFG]] +[[CIHGDJFG]][[implementing-decoders-to-convert-websocket-messages-into-java-objects]] -[[implementing-decoders-to-convert-websocket-messages-into-java-objects]] Implementing Decoders to Convert WebSocket Messages into Java Objects ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main/jbake/content/websocket008.adoc b/src/main/jbake/content/websocket008.adoc index 91d2b81..380ff21 100644 --- a/src/main/jbake/content/websocket008.adoc +++ b/src/main/jbake/content/websocket008.adoc @@ -7,9 +7,8 @@ prev=websocket007.html Path Parameters =============== -[[BABEJIJI]] +[[BABEJIJI]][[path-parameters]] -[[path-parameters]] Path Parameters --------------- diff --git a/src/main/jbake/content/websocket009.adoc b/src/main/jbake/content/websocket009.adoc index d12b9a9..1e8c3c9 100644 --- a/src/main/jbake/content/websocket009.adoc +++ b/src/main/jbake/content/websocket009.adoc @@ -7,9 +7,8 @@ prev=websocket008.html = Handling Errors -[[BABDEJHB]] +[[BABDEJHB]][[handling-errors]] -[[handling-errors]] Handling Errors --------------- diff --git a/src/main/jbake/content/websocket010.adoc b/src/main/jbake/content/websocket010.adoc index ee8cb56..7e16469 100644 --- a/src/main/jbake/content/websocket010.adoc +++ b/src/main/jbake/content/websocket010.adoc @@ -7,9 +7,8 @@ prev=websocket009.html Specifying an Endpoint Configurator Class ========================================= -[[BABJAIGH]] +[[BABJAIGH]][[specifying-an-endpoint-configurator-class]] -[[specifying-an-endpoint-configurator-class]] Specifying an Endpoint Configurator Class ----------------------------------------- diff --git a/src/main/jbake/content/websocket011.adoc b/src/main/jbake/content/websocket011.adoc index d41170e..fb56f44 100644 --- a/src/main/jbake/content/websocket011.adoc +++ b/src/main/jbake/content/websocket011.adoc @@ -7,9 +7,8 @@ prev=websocket010.html The dukeetf2 Example Application ================================ -[[BABGCEHE]] +[[BABGCEHE]][[the-dukeetf2-example-application]] -[[the-dukeetf2-example-application]] The dukeetf2 Example Application -------------------------------- @@ -24,9 +23,8 @@ The following topics are addressed here: * link:#CIHJHJCD[Architecture of the dukeetf2 Sample Application] * link:#CIHHBAIC[Running the dukeetf2 Example Application] -[[CIHJHJCD]] +[[CIHJHJCD]][[architecture-of-the-dukeetf2-sample-application]] -[[architecture-of-the-dukeetf2-sample-application]] Architecture of the dukeetf2 Sample Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -41,9 +39,8 @@ every second. endpoint, parse incoming messages, and update the price and volume information without reloading the page. -[[sthref116]] +[[sthref116]][[the-endpoint]] -[[the-endpoint]] The Endpoint ^^^^^^^^^^^^ @@ -108,9 +105,8 @@ public class ETFEndpoint { } ---- -[[sthref117]] +[[sthref117]][[the-enterprise-bean]] -[[the-enterprise-bean]] The Enterprise Bean ^^^^^^^^^^^^^^^^^^^ @@ -153,9 +149,8 @@ Timer Service] in link:ejb-basicexamples.html#GIJRB[Chapter 37, "Running the Enterprise Bean Examples"] for more information on the timer service. -[[CIHHIEFH]] +[[CIHHIEFH]][[the-html-page]] -[[the-html-page]] The HTML Page ^^^^^^^^^^^^^ @@ -202,9 +197,8 @@ window.addEventListener("load", connect, false); The WebSocket API is supported by most modern browsers, and it is widely used in HTML5 web client development. -[[CIHHBAIC]] +[[CIHHBAIC]][[running-the-dukeetf2-example-application]] -[[running-the-dukeetf2-example-application]] Running the dukeetf2 Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -217,9 +211,8 @@ The following topics are addressed here: IDE] * link:#CIHDJCGJ[To Run the dukeetf2 Example Application Using Maven] -[[CIHEBIAH]] +[[CIHEBIAH]][[to-run-the-dukeetf2-example-application-using-netbeans-ide]] -[[to-run-the-dukeetf2-example-application-using-netbeans-ide]] To Run the dukeetf2 Example Application Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -250,9 +243,8 @@ http://localhost:8080/dukeetf2/ Open the same URL on a different web browser tab or window to see how both pages get price and volume updates simultaneously. -[[CIHDJCGJ]] +[[CIHDJCGJ]][[to-run-the-dukeetf2-example-application-using-maven]] -[[to-run-the-dukeetf2-example-application-using-maven]] To Run the dukeetf2 Example Application Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/websocket012.adoc b/src/main/jbake/content/websocket012.adoc index fab2031..60699da 100644 --- a/src/main/jbake/content/websocket012.adoc +++ b/src/main/jbake/content/websocket012.adoc @@ -7,9 +7,8 @@ prev=websocket011.html The websocketbot Example Application ==================================== -[[BABCDBBC]] +[[BABCDBBC]][[the-websocketbot-example-application]] -[[the-websocketbot-example-application]] The websocketbot Example Application ------------------------------------ @@ -25,9 +24,8 @@ The following topics are addressed here: * link:#CIHICIDE[Architecture of the websocketbot Example Application] * link:#CIHHJHDB[Running the websocketbot Example Application] -[[CIHICIDE]] +[[CIHICIDE]][[architecture-of-the-websocketbot-example-application]] -[[architecture-of-the-websocketbot-example-application]] Architecture of the websocketbot Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -52,9 +50,8 @@ parses WebSocket text messages as JSON data and decodes them into (`index.html`) that uses JavaScript code to implement the client for the chat room -[[CIHDAEHF]] +[[CIHDAEHF]][[the-cdi-bean]] -[[the-cdi-bean]] The CDI Bean ^^^^^^^^^^^^ @@ -70,9 +67,8 @@ public class BotBean { } ---- -[[CIHJJJHG]] +[[CIHJJJHG]][[the-websocket-endpoint]] -[[the-websocket-endpoint]] The WebSocket Endpoint ^^^^^^^^^^^^^^^^^^^^^^ @@ -192,9 +188,8 @@ Refer to link:concurrency-utilities.html#GKJIQ8[Chapter 59, "Concurrency Utilities for Java EE"] for more information on the managed executor service and Concurrency Utilities for Java EE. -[[CIHFDGHG]] +[[CIHFDGHG]][[the-application-messages]] -[[the-application-messages]] The Application Messages ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -213,9 +208,8 @@ public class ChatMessage extends Message { } ---- -[[CIHGHHBD]] +[[CIHGHHBD]][[the-encoder-classes]] -[[the-encoder-classes]] The Encoder Classes ^^^^^^^^^^^^^^^^^^^ @@ -245,9 +239,8 @@ public class ChatMessageEncoder implements Encoder.Text { See link:jsonp.html#GLRBB[Chapter 20], link:jsonp.html#GLRBB[JSON Processing] for more information on the Java API for JSON Processing. -[[CIHHFICG]] +[[CIHHFICG]][[the-message-decoder]] -[[the-message-decoder]] The Message Decoder ^^^^^^^^^^^^^^^^^^^ @@ -301,9 +294,8 @@ public class MessageDecoder implements Decoder.Text { } ---- -[[CIHGDBGF]] +[[CIHGDBGF]][[the-html-page]] -[[the-html-page]] The HTML Page ^^^^^^^^^^^^^ @@ -318,9 +310,8 @@ endpoint, send messages, and designate callback methods. The WebSocket API is supported by most modern browsers and is widely used for web client development with HTML5. -[[CIHHJHDB]] +[[CIHHJHDB]][[running-the-websocketbot-example-application]] -[[running-the-websocketbot-example-application]] Running the websocketbot Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -335,9 +326,8 @@ NetBeans IDE] Maven] * link:#BABDDAAG[To Test the websocketbot Example Application] -[[CIHFDDGE]] +[[CIHFDDGE]][[to-run-the-websocketbot-example-application-using-netbeans-ide]] -[[to-run-the-websocketbot-example-application-using-netbeans-ide]] To Run the websocketbot Example Application Using NetBeans IDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -368,9 +358,8 @@ http://localhost:8080/websocketbot/ See link:#BABDDAAG[To Test the websocketbot Example Application] for more information. -[[CIHEDEHB]] +[[CIHEDEHB]][[to-run-the-websocketbot-example-application-using-maven]] -[[to-run-the-websocketbot-example-application-using-maven]] To Run the websocketbot Example Application Using Maven ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -399,9 +388,8 @@ http://localhost:8080/websocketbot/ See link:#BABDDAAG[To Test the websocketbot Example Application] for more information. -[[BABDDAAG]] +[[BABDDAAG]][[to-test-the-websocketbot-example-application]] -[[to-test-the-websocketbot-example-application]] To Test the websocketbot Example Application ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/main/jbake/content/websocket013.adoc b/src/main/jbake/content/websocket013.adoc index 481aad6..f5bfc88 100644 --- a/src/main/jbake/content/websocket013.adoc +++ b/src/main/jbake/content/websocket013.adoc @@ -7,9 +7,8 @@ prev=websocket012.html Further Information about WebSocket =================================== -[[BABDFIFD]] +[[BABDFIFD]][[further-information-about-websocket]] -[[further-information-about-websocket]] Further Information about WebSocket -----------------------------------