Record Relay plugin defers Pazpar2 record commands with offset or checksum or binary parameters to later in the record chain. Subsequent plug-ins in the chain will thus be responsible for processing the command, i.e. run the record request against Pazpar2.
The plug-in is necessary to have on a record chain with ACE if record offset requests must also be supported, since ACE potentially changes both offsets and checksums of the record after the fact, in ways that cannot be known to or handled by the Relay plugin in advance.
A record chain with other plug-ins but no ACE should not need to use RecordRelay. At any rate the given plug-in would have to support running the record offset request when RecordRelay is enabled and only the ACE plug-in supports that at the time of writing.
The plug-in will let the general Relay plug-in handle all other record requests that do not have offset or checksum or binary parameters.
This plug-in is configured in service-proxy.properties or equivalent. It generally needs the basic settings that the general Pazpar2 Relay plug-in uses. One way to accomplish that is to simply reference the general settings directly (see below)
Plugin class is registered with the following (name is arbitrary):
plugins.recordrelay = com.indexdata.serviceproxy.plugins.RecordRelayPlugin
Mandatory, no default
The record relay plug-in should use the properties of the general relay plug-in - for instance:
recordrelay.PROXY_MODE = REF:relay.PROXY_MODE recordrelay.PAZPAR2_URL = REF:relay.PAZPAR2_URL recordrelay.PAZPAR2_SERVICE_ID = REF:relay.PAZPAR2_SERVICE_ID recordrelay.TORUS_BASEURL = REF:relay.TORUS_BASEURL recordrelay.TORUS_REALM = REF:relay.TORUS_REALM recordrelay.TORUS_PARAMS = REF:relay.TORUS_PARAMS recordrelay.STREAMBUFF_SIZE = REF:relay.STREAMBUFF_SIZE recordrelay.PARSE_RESPONSES = REF:relay.PARSE_RESPONSES recordrelay.SERIALIZE_REQUESTS = REF:relay.SERIALIZE_REQUESTS recordrelay.USE_OPAQUE_ID = REF:relay.USE_OPAQUE_ID