Implementation Instructions
Depending on your current version, see the following sections for upgrade steps:
- If you are installing the pdrBatcher for the first time, see Full install.
- If you are installing the pdrBatcher v7.6.1.3 patch, see Upgrading from v7.6.x to v7.6.1.3
- If you are upgrading from version 7.5.0, see Upgrading from v7.5.0 to v7.6.1
- If you are a Linux user who has already upgraded to 7.6.0, see Upgrading from v7.6.0 to v7.6.1 (Linux only)
Full install
To install pdrBatcher v7.6.1 as a new implementation, select the following file from the Data Interchange Software:
|
File |
Filename |
Benefit |
|---|---|---|
|
Participant Data Replication Batcher GUI Installer v7.6.1.zip |
Requires the minimum data entry for localisation. All implementation steps are automatic. A manual installation is possible by exiting the installer and using a text editor to set the configuration properties. |
Upgrading from v7.6.x to v7.6.1.3
Improvements
The pdrBatcher v7.6.1.3 patch release includes a single defect fix from the previous release. This patch corrects an issue when consuming data from nemweb.com.au by supporting case-sensitive URL references. This is a new requirement for a planned future change to the underlying hosting platform supporting the AEMO NEMWeb service. See NEMWeb Platform Migration.
If this patch release is relevant to you, ensure you are using the https protocol for consuming data from nemweb.com.au. See Decommissioning HTTP Support.
You do not need to implement this patch release if your pdrBatcher installation does not consume data from nemweb.com.au.
Supportability
The pdrBatcher v7.6.1.3 patch is supported for pdrBatcher v7.6.0 (Windows users) and pdrBatcher v7.6.1 (Linux users).
Windows users currently running v7.6.0, do not need to upgrade to v7.6.1 before applying the patch.
Properties file updates
No properties are introduced for v7.6.1.3.
Properties file deletions
No properties are made obsolete for v7.6.1.3.
Manual installation process
Follow the steps below to manually upgrade an existing Participant Data Replication Batcher Software v7.6.x to v7.6.1.3 installation:
- Confirm you are running pdrBatcher v7.6.0 (Windows users) or pdrBatcher v7.6.1 (Linux users).
- Shutdown the pdrBatcher v7.6.x service.
- Backup your pdrBatcher v7.6.x installation folder.
- Replace the AppPdrBatcher.jar in your local pdrBatcher lib folder by copying the patched AppPdrBatcher.jar from the pdrBatcher v7.6.1.3 Releases folder.
- Check the timestamp of the AppPdrBatcher.jar to ensure it is the latest one.
- Check pdrBatcher.properties and validate the NEMWeb data source is using the https protocol. A NEMWeb data source is identified by a configuration operating in “web” mode. For example, if the data sourced is named “NEMWeb”, update its configuration block so its referenced URL uses the https protocol.
- Ensure all NEMWeb directory references in pdrBatcher.properties match the exact case as displayed in the folder names within the NEMWeb directory listing. For example:
- Ensure all batcher thread folder references in pdrBatcher.properties use the exact case as listed in the NEMWeb directory listing. For example:
- Start the pdrBatcher v7.6.1.3 service
- Check the pdr.log in the Log folder to confirm the correct version is running and to identify any errors. For help, see Participant Data Replication Batcher.
# define "NEMWeb" data source
batcher_NEMWeb_mode=web
batcher_NEMWeb_url=https://nemweb.com.au
batcher_NEMWeb_timeout_connection=10
batcher_NEMWeb_timeout_transfer=120
batcher_NEMWeb_proxy_host=nemproxy
batcher_NEMWeb_proxy_port=8080
batcher_NEMWeb_dir=/Reports/Current
# define "NEMWeb" data source
batcher_NEMWeb_mode=web
batcher_NEMWeb_url=https://nemweb.com.au
batcher_NEMWeb_timeout_connection=10
batcher_NEMWeb_timeout_transfer=120
batcher_NEMWeb_proxy_host=nemproxy
batcher_NEMWeb_proxy_port=8080
batcher_NEMWeb_dir= /Reports/CURRENT
# Thread 1 : EMMS high priority dispatch thread
batcher_thread_1_source=NEMWeb
batcher_thread_1_dest=local
batcher_thread_1_inc=PUBLIC_*
batcher_thread_1_timeout=120
batcher_thread_1_polling_interval=15
batcher_thread_1_pause_interval=0.5
batcher_thread_1_activity_monitor=Y
batcher_thread_1_mode=CONSUMER_CACHE
batcher_thread_1_sub_dir= DispatchIS_Reports
batcher_thread_1_sub_dir_dest=N
Use the folder names exactly as displayed in the NEMWeb directory listing (the hyperlink entries). Do not rely on the case currently shown in the browser URL or the page header, as these may reflect the case entered in the request rather than the stored directory name.
Upgrading from v7.5.0 to v7.6.1
The release of pdrBatcher v7.6.1 introduces a number of new optional configurations in the .properties file. For details, see Properties file updates
Properties file updates
For help configuring these properties, see Participant Data Replication Batcher User Guide.
|
Property |
Detail |
|---|---|
|
FTP provider classes changed to package au.aemo.Common.FTP.* |
|
|
Determines whether the batcher uses plain FTP or SFTP/FTPS. Default is FTP. Valid values are For FTP connection (default) - au.com.aemo.Common.FTP.FtpConnectionIntEDT For FTPS configuration - au.com.aemo.Common.FTP.FtpConnectionIntEDT_FTPS For SFTP configuration - au.com.aemo.Common.FTP.FtpConnectionIntEDT_SFTP |
|
|
The logic to apply to file inclusion and exclusion masks. Valid values are: EXCLUSIVE: include mask (if defined) is evaluated first exclude mask is only evaluated where there is not a match on include mask AND: both include and exclude masks must be satisfied Default value is EXCLUSIVE |
|
|
Now supports fractional seconds |
|
|
Allows the specification of a minimum file size filter on a processing thread |
|
|
The single specifier of the participant identifier which is referenced in various other properties definitions. Refer to the standard properties configuration file for how this is merged into other properties. |
|
|
The logic to apply to file inclusion and exclusion masks. Valid values are: EXCLUSIVE:
AND:
Default value is EXCLUSIVE |
|
|
Multiple Translators can be specified for a single processing thread. Example: batcher_thread_{N}_file_translator_1=<insert translator specification as described above for csv files> batcher_thread_{N}_file_translator_1_inc=*.csv batcher_thread_{N}_file_translator_2=<insert translator specification as described above for zip files> batcher_thread_{N}_file_translator_2_inc=*.zip |
|
|
Can now be defined as a comma delimited specification of source directories. This allows for many:1 and many:many data replication configurations |
|
|
Can now be defined as a comma delimited specification of source directories. This allows for many:1 and many:many data replication configurations |
|
|
A set of HTTP response codes for an API call which are a business response to a transaction. These allow batcher to identify whether a business transaction has been processed. Codes outside of this list are considered a technical error. |
|
|
The filemask specification to extract variables out of incoming filenames Example: For a file of this name: PARTID_BID20240110_20240110102307.zip Applying this configuration setting (?<ParticipantID>[a-zA-Z0-9]+)_(?<BidIdentifier>[a-zA-Z0-9]+)_(?<CreationDate>[a-zA-Z0-9]+).(?<Extension>[a-zA-Z0-9]+) Results in the following variables: ParticipantID=PARTID BidIdentifier=BID20240110 CreationDate=20240110102307 Extension=zip These variables can be used in RENAME translator |
|
|
The header values to add to a HTTP request. Relevant to API only. Example: X-Market:NEM,X-initiatingParticipantID:{ParticipantID} Adds the HTTP request headers X-Market and X-initiatingParticipantID, resolving the value of the latter with a defined variable. Use in conjunction with batcher_thread_{N}_input_file_mask |
|
|
batcher_thread_{N}_source_ack_api_header_values |
Same as batcher_thread_{N}_source_api_header_values except applied when sending an acknowledement to the source system |
|
The filemask specification to output data at the destination Only valid for GRAPHQL and API sources where there is not a native source filename Example: public_{event_id}_{date:yyyyMMddHHmmssSSS}.json |
|
|
Same as batcher_thread_{N}_source_api_header_values except applied to destination |
|
|
The directory at the source connection to deliver a transaction acknowledgement |
|
|
Ability to perform a translation on an acknowledgment transaction back to source Configuration option per batcher_thread_{N}_file_translator |
|
|
A set of HTTP response codes for an API call which are a business response to a transaction. These allow batcher to identify whether a business transaction has been processed. Codes outside of this list are considered a technical error. Overrides any specification of batcher_{DS}_api_business_response_codes at the data source level |
|
|
The keystore file which contains x509 certificates to support SSL authentication where this application is consuming a SSL service |
|
|
The type of keystore file. Default is PKCS12. |
|
|
The key store password associated with KeyStoreFile. Defaults to encryption key stored in pdr_key.properties |
|
|
The certificate password. Defaults to encryption key stored in pdr_key.properties |
|
|
The SSL protocol to use. Options include TLS, TLSv1.2. Default is TLS. |
|
|
The process order for files in a source directory. Valid settings are: NEWEST - based on modified date, most recent file first OLDEST - based on modified date, oldest file first NAME:parameter - based on the filename in alphabetical order, parameter can be either ASCENDING (default) or DESCENDING NAME_REVERSE - based on the filename in reverse alphabetical order PRIORITY:parameter - based on the priority extracted from the filename. Example file "nmidh_GLOPOOL_20240208102721001.zip" is high priority (H), denoted by last character of first filename segment Supported characters are H - High, M - Medium, L - Low parameter can be either ASCENDING or DESCENDING (default) MODIFIED_DATE:parameter - based on modified date, parameter can be either ASCENDING (default) or DESCENDING SIZE:parameter - based on file size, parameter can be either ASCENDING (default) or DESCENDING NAME_FILTER:parameter - based on filename, parameter is a comma delimited list of filemasks e.g. NAME_FILTER:*_DISPATCHIS_2*,*_P5MIN_* would result in files being processed in the order of DISPATCHIS, P5MIN, then everything else. Process order can be chained, so for example: PRIORITY | MODIFIED_DATE will result in the process order being sorted first by priority (high then medium then low) and then by modified date within each priority level Default setting is NAME:ASCENDING |
|
|
The data inactivity timeout threshold in seconds within which data should be sent. If this threshold is breached then the connections associated with this data source are all reset |
|
|
The receive data inactivity timeout threshold in seconds within which data should be received. If this threshold is breached then the connections associated with this data source are all reset The type of keystore file. Default is PKCS12. |
|
|
The keystore file which contains certificates to support SSL configuration of the web server |
|
|
The type of keystore file. Default is PKCS12. |
|
|
The key store password associated with KeyStoreFile. Defaults to encryption key stored in pdr_key.properties |
|
|
The certificate password. Defaults to encryption key stored in pdr_key.properties |
|
|
The SSL protocol to use. Options include TLS, TLSv1.2. Default is TLS. |
Properties file deletions
No properties are made obsolete for v7.6.1.
GUI Installation process
The GUI installation process is a simple, clean way to upgrade. Alternatively, you can use the Implementation Instructions
To upgrade an existing Participant Data Replication Batcher Software v7.5.0 to v7.6.1 installation:
-
Validate the JRE installation is Open JDK 21 by running the following in a command prompt:
java -version
The response should be similar to:
openjdk version "21" 2023-09-19
OpenJDK Runtime Environment (build 21+35-2513)
OpenJDK 64-Bit Server VM (build 21+35-2513, mixed mode, sharing) - If a different Java version is detected, refer to the documentation to install the certified JRE version.
- Validate the jar file signature. From the command line prompt, run the following command:
jarsigner -verify "Participant Data Replication Batcher GUI Installer v7.6.1.jar"
For more information, see https://docs.oracle.com/en/java/javase/21/docs/specs/man/jarsigner.html
-
Start the GUI installer using one of the following methods:
- Double-click the JAR file in a Windows environment, if *.jar files are associated with a Java Runtime Environment (JRE).
- Run the installer from the command line:
- Open a command prompt.
- Navigate to the folder where the installer is stored.
- Run:
- For headless environments, such as Linux, run the installer in a terminal session using the -console flag:
java -jar <insert installer name here>.jar
java -jar <insert installer name here>.jar -console
Provides the same capabilities as the GUI installer but runs entirely in text mode.
- Install the pdrBatcher v7.6.1 to the current installation folder (for example, C:\Pdr\Batcher).
The current installation is backed up to a folder alongside the current installation with a timestamp appended to the folder name. - If running as a Windows service, ensure the Windows service name entered into the GUI installer matches the existing service name.
- Check the pdrBatcher.properties file changes and re-apply any customised configurations. See Properties file updates and deletions Page 1.
- Run the pdrBatcher.bat or the Windows service and check the pdr.log in the Log folder for any errors.
-
The GUI installer enables secure API services, by default, unless you deselect this installation option.
You need to revalidate the application connection in the pdrMonitor after completing this upgrade process.
You need pdrMonitor v1.3 to communicate to the pdrBatcher secured API services.
Manual Installation process
Follow the steps below to manually upgrade an existing Participant Data Replication Batcher Software v7.5.0 to v7.6.1 installation:
- Backup your pdrBatcher v7.5.0 installation folder.
- Remove the pdrBatcher v7.5.0 Windows service by running:
pdrServiceUninstall.bat <insert_Windows_service_name_here>.
- Remove all existing jar files from the Lib folder
- Copy the following content from the pdrBatcher v7.6.1 installation media into your Lib folder
- All jar files
- New scripts:
- pdrCertificateManager.*
- pdrServiceInstall.bat
- Run the following command, after unzipping the command line prompt in the Lib folder:
jarsigner -verify "AppPdrBatcher.jar"
- If not already, install JRE 21 and update the JRE path variable in:
- pdrEnvironment.bat
- pdrServiceInstall.bat
- WinRun4J.ini files
- Add placeholder configuration to enable SSL encrypted web API services:
- web_server_https_keystore_file=
- web_server_https_keystore_type=PKCS12
- web_server_https_protocol=TLS
This capability can only be enabled once pdrMonitor has been upgraded to v1.3
- Consider aligning your pdrBatcher.properties to the standard configuration file unless you have specific customisation requirements. For participants with customisation requirements, it is recommended that these customisations be merged into a standard v7.6.1 properties file definition
- Install a new Windows service by running:
pdrServiceInstall.bat <insert_Windows_service_name_here>.
- Check the NEMNET password is correctly encrypted before running the service by running the following command to avoid any password lockout:
pdrConnectionTest.bat
- Run pdrBatcher.bat or the Windows service and check the pdr.log in the Log folder for any errors. For help, see Guide to Participant Data Replication Batcher.
Upgrading from v7.6.0 to v7.6.1 (Linux only)
These fixes are for Linux environments only.
If you are on Windows installation for 7.6.0, you do not have to upgrade to 7.6.1.
The v7.6.1 release of pdrBatcher fixes the following issues:
- The shebang line of supplied shell scripts which causes scripts to fail unless “.” is in the PATH environment variable.
- Creating self-signed certificates using pdrCertificateManager.sh when the Secured API Services installation option is selected
For any existing v7.6.0 installations on Linux please complete the upgrade to v7.6.1 with the following steps:
- Stop pdrBatcher service.
- Backup Lib folder from the installation directory.
- Extract the contents of the CLI release Participant Data Replication Batcher v7.6.1.zip to a working folder.
- Update Lib/AppPdrBatcher.jar in the installation folder with equivalent file from the new release.
- Update Lib/*.sh in the installation folder with equivalent file from the new release except pdrEnvironment.sh.
- To ensure the updated shell scripts are executable, execute the following commands in a terminal session in the Lib folder:
- dos2unix *.sh
- chmod + *.sh
- Restart pdrBatcher service.
- Review application logs and confirm correct version installed and service is operating correctly.
The upgrade in the v7.6.1 GUI installer is delivered as an increment on a v7.5.0 base and should not be used to complete this upgrade from a v7.6.0 base.