| type=page | |
| status=published | |
| title=Administering Batch Jobs | |
| next=part-res-and-svcs-admin.html | |
| prev=lifecycle-modules.html | |
| ~~~~~~ | |
| Administering Batch Jobs | |
| ======================== | |
| [[GSADG1077]][[sthref66]] | |
| [[administering-batch-jobs]] | |
| 10 Administering Batch Jobs | |
| --------------------------- | |
| This chapter provides procedures for administering batch jobs in the | |
| GlassFish Server environment by using the `asadmin` command-line | |
| utility. | |
| The following topics are addressed here: | |
| * link:#BABCHGJJ[About Batch Jobs] | |
| * link:#BABIHIGA[Viewing Batch Jobs] | |
| * link:#BABBFFIG[Configuring the Batch Runtime] | |
| Instructions for accomplishing these tasks by using the Administration | |
| Console are contained in the Administration Console online help. | |
| [[BABCHGJJ]][[GSADG1078]][[about-batch-jobs]] | |
| About Batch Jobs | |
| ~~~~~~~~~~~~~~~~ | |
| GlassFish Server provides a batch runtime for the scheduling and | |
| execution of batch jobs. Batch jobs are typically long-running, | |
| bulk-oriented tasks that contain a series of steps and can be executed | |
| without user interaction. Examples include billing, report generation, | |
| data format conversion, and image processing. | |
| Batch applications submit jobs to the batch runtime and provide | |
| instructions about how and when to execute the steps. The batch runtime | |
| processes the steps as directed by job XML documents packaged with the | |
| applications and stores information about jobs in a job repository. In | |
| GlassFish Server, the job repository is a database | |
| For detailed information about batch jobs, batch processing, and the | |
| batch processing framework, see | |
| "https://javaee.github.io/tutorial/batch-processing.html[Batch | |
| Processing]" in The Java EE 8 Tutorial. Also see | |
| http://jcp.org/en/jsr/detail?id=352[Java Specification Request 352: | |
| Batch Applications for the Java Platform] | |
| (`http://jcp.org/en/jsr/detail?id=352`). The specification defines the | |
| programming model for batch applications and the runtime for scheduling | |
| and executing batch jobs. | |
| [[BABIHIGA]][[GSADG1079]][[viewing-batch-jobs]] | |
| Viewing Batch Jobs | |
| ~~~~~~~~~~~~~~~~~~ | |
| You can view detailed information about batch jobs, executions, and | |
| steps. Users who log in to the `asadmin` utility or to the | |
| Administration Console as administrator are the only users who can view | |
| details for all batch jobs submitted by all applications in the | |
| GlassFish Server environment. | |
| The following tasks are used to view information about batch jobs: | |
| * link:#BABIBFDJ[To List Batch Jobs] | |
| * link:#BABFBGJB[To List Batch Job Executions] | |
| * link:#BABGJIDD[To List Batch Job Steps] | |
| [[BABIBFDJ]][[GSADG1080]][[to-list-batch-jobs]] | |
| To List Batch Jobs | |
| ^^^^^^^^^^^^^^^^^^ | |
| Use the `list-batch-jobs` subcommand in remote mode to list batch jobs | |
| and job details. | |
| 1. Ensure that the server is running. + | |
| Remote subcommands require a running server. | |
| 2. List batch jobs by using the link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-batch-jobs`] | |
| subcommand. | |
| [[GSADG1081]][[sthref67]] | |
| Example 10-1 Listing Batch Jobs | |
| This example lists batch jobs for the default server instance, `server`. | |
| Use `list-batch-jobs -l` to list additional details. | |
| [source,oac_no_warn] | |
| ---- | |
| asadmin> list-batch-jobs | |
| JOBNAME INSTANCECOUNT | |
| payroll 9 | |
| bonus 6 | |
| Command list-batch-jobs executed successfully. | |
| ---- | |
| [[GSADG1082]] | |
| See Also | |
| You can also view the full syntax and options of the subcommand by | |
| typing `asadmin help list-batch-jobs` at the command line. | |
| [[BABFBGJB]][[GSADG1083]][[to-list-batch-job-executions]] | |
| To List Batch Job Executions | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| When the batch runtime executes a job, the execution is given a unique | |
| execution ID. An execution ID is similar to a process ID. A new | |
| execution is created the first time a job is started and every time the | |
| existing execution is restarted. | |
| Use the `list-batch-job-executions` subcommand in remote mode to list | |
| batch job executions and execution details. | |
| 1. Ensure that the server is running. + | |
| Remote subcommands require a running server. | |
| 2. List batch job executions by using the | |
| link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-batch-job-executions`] subcommand. | |
| [[GSADG1084]][[sthref68]] | |
| Example 10-2 Listing Batch Job Executions | |
| This example lists batch job executions for the default server instance, | |
| `server`, and displays specific details. Use | |
| `list-batch-job-executions -l` to list additional details. | |
| [source,oac_no_warn] | |
| ---- | |
| asadmin> list-batch-job-executions -o=jobname,executionid,batchstatus,exitstatus | |
| JOBNAME EXECUTIONID BATCHSTATUS EXITSTATUS | |
| payroll 9 COMPLETED COMPLETED | |
| bonus 6 FAILED FAILED | |
| Command list-batch-job-executions executed successfully. | |
| ---- | |
| [[GSADG1085]] | |
| See Also | |
| You can also view the full syntax and options of the subcommand by | |
| typing `asadmin help list-batch-job-executions` at the command line. | |
| [[BABGJIDD]][[GSADG1086]][[to-list-batch-job-steps]] | |
| To List Batch Job Steps | |
| ^^^^^^^^^^^^^^^^^^^^^^^ | |
| A batch job consists of one or more steps. A step is an independent and | |
| sequential phase of a batch job. | |
| Use the `list-batch-job-steps` subcommand in remote mode to list steps | |
| and step details for a specific batch job execution. | |
| 1. Ensure that the server is running. + | |
| Remote subcommands require a running server. | |
| 2. List the execution ID of an execution by using the | |
| `list-batch-job-executions` subcommand. | |
| 3. List steps for a specific batch job execution by using the | |
| link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-batch-job-steps`] subcommand. | |
| [[GSADG1087]][[sthref69]] | |
| Example 10-3 Listing Batch Job Steps | |
| This example lists batch job steps and specific step details for a job | |
| execution with the execution ID of `7`. The target is the default server | |
| instance, `server`. Use `list-batch-job-steps -l` to list additional | |
| details. | |
| Some lines of output are omitted from this example for readability. | |
| [source,oac_no_warn] | |
| ---- | |
| asadmin> list-batch-job-steps o=stepname,stepid,batchstatus,stepmetrics 7 | |
| STEPNAME STEPID BATCHSTATUS STEPMETRICS | |
| prepare 7 COMPLETED METRICNAME VALUE | |
| READ_COUNT 8 | |
| WRITE_COUNT 8 | |
| PROCESS_SKIP_COUNT 0 | |
| process 8 COMPLETED METRICNAME VALUE | |
| READ_COUNT 8 | |
| WRITE_COUNT 8 | |
| PROCESS_SKIP_COUNT 0 | |
| ... | |
| Command list-batch-job-steps executed successfully. | |
| ---- | |
| [[GSADG1088]] | |
| See Also | |
| You can also view the full syntax and options of the subcommand by | |
| typing `asadmin help list-batch-job-steps` at the command line. | |
| [[BABBFFIG]][[GSADG1089]][[configuring-the-batch-runtime]] | |
| Configuring the Batch Runtime | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| The batch runtime uses a data source and a managed executor service to | |
| execute batch jobs. The data source stores information about current and | |
| past jobs, and the managed executor service provides threads to jobs. | |
| Batch runtime configuration data is stored in the `config` element in | |
| `domain.xml`. | |
| GlassFish Server provides a default data source and managed executor | |
| service for the execution of batch jobs. For the domain administration | |
| server (DAS), the default data source is `jdbc/__TimerPool` and the | |
| default managed executor service is | |
| `concurrent/__defaultManagedExecutorService`. If you create a standalone | |
| server instance or a standalone cluster, the default data source is | |
| `jdbc/__default`. You can configure the batch runtime to use different | |
| resources. | |
| For more information about data sources, see | |
| link:jdbc.html#ablih[Administering Database Connectivity]. For more | |
| information about managed executor services, see | |
| link:concurrent.html#DAFBHEDI[Configuring Managed Executor Services]. | |
| The following tasks are used to view and configure the batch runtime: | |
| * link:#BABBGHCJ[To List the Batch Runtime Configuration] | |
| * link:#BABFEJAD[To Configure the Batch Runtime] | |
| [[BABBGHCJ]][[GSADG1090]][[to-list-the-batch-runtime-configuration]] | |
| To List the Batch Runtime Configuration | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| Use the `list-batch-runtime-configuration` subcommand in remote mode to | |
| display the configuration of the batch runtime. | |
| 1. Ensure that the server is running. + | |
| Remote subcommands require a running server. | |
| 2. Display the configuration of the batch runtime by using the | |
| link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-batch-runtime-configuration`] subcommand. | |
| 3. If desired, use the `get` subcommand to view the attributes of the | |
| data source and managed executor service resources. + | |
| For example (output omitted): + | |
| [source,oac_no_warn] | |
| ---- | |
| asdmin> get resources.jdbc-resource.jdbc/__TimerPool.* | |
| ... | |
| asdmin> get resources.managed-executor-service.concurrent/__defaultManagedExecutorService.* | |
| ... | |
| ---- | |
| [[GSADG1091]][[sthref70]] | |
| Example 10-4 Listing the Batch Runtime Configuration | |
| This example lists the configuration of the batch runtime for the | |
| default server instance, `server`. | |
| [source,oac_no_warn] | |
| ---- | |
| asadmin> list-batch-runtime-configuration | |
| DATASOURCELOOKUPNAME EXECUTORSERVICELOOKUPNAME | |
| jdbc/__TimerPool concurrent/__defaultManagedExecutorService | |
| Command list-batch-runtime-configuration executed successfully. | |
| ---- | |
| [[GSADG1092]] | |
| See Also | |
| You can also view the full syntax and options of the subcommand by | |
| typing `asadmin help list-batch-runtime-configuration` at the command | |
| line. | |
| [[BABFEJAD]][[GSADG1093]][[to-configure-the-batch-runtime]] | |
| To Configure the Batch Runtime | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| Use the `set-batch-runtime-configuration` subcommand in remote mode to | |
| configure the batch runtime. | |
| [NOTE] | |
| ======================================================================= | |
| Do not change the data source after the first batch job has been | |
| submitted to the batch runtime for execution. If the data source must be | |
| changed, stop and restart the domain and then make the change before any | |
| jobs are started or restarted. However, once the data source has been | |
| changed, information stored in the previous data source becomes | |
| inaccessible. | |
| The managed executor service can be changed after a batch job has been | |
| submitted to the batch runtime without affecting execution of the job. | |
| ======================================================================= | |
| 1. Ensure that the server is running. + | |
| Remote subcommands require a running server. | |
| 2. Configure the batch runtime by using the | |
| link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`set-batch-runtime-configuration`] subcommand. | |
| [[GSADG1094]][[sthref71]] | |
| Example 10-5 Configuring the Batch Runtime | |
| This example configures the batch runtime for the default server | |
| instance, `server`, to use an existing managed executor service named | |
| `concurrent/Executor1`. | |
| [source,oac_no_warn] | |
| ---- | |
| asadmin> set-batch-runtime-configuration --executorservicelookupname concurrent/Executor1 | |
| Command set-batch-runtime-configuration executed successfully. | |
| ---- | |
| [[GSADG1095]] | |
| See Also | |
| You can also view the full syntax and options of the subcommand by | |
| typing `asadmin help set-batch-runtime-configuration` at the command | |
| line. | |