Hello, I’m DocuDroid!
Submitting feedback
Thank you for rating our AI Search!
We would be grateful if you could share your thoughts so we can improve our AI Search for you and other readers.
GitHub

PXF configuration files

Anton Monakov

The PXF runtime configuration directory ($PXF_BASE/conf) includes the following customizable configuration files:

  • pxf-application.properties — defines PXF service application configuration properties.

  • pxf-env.sh — defines PXF service and JVM-specific runtime configuration properties.

  • pxf-log4j2.xml — defines PXF logging configuration properties.

  • pxf-profiles.xml — defines custom PXF profiles.

Modify the PXF configuration

After updating a PXF configuration file, you must synchronize the changes to all hosts in the Greengage DB cluster and then restart PXF for the changes to take effect.

TIP

If you modify a PXF profile or a server configuration, you can apply the changes and clean up the affected connection pools by running the pxf cluster reload command, without the need to restart PXF.

  1. Modify the configuration files as required.

  2. On the Greengage DB master host, run the sync command to synchronize the PXF configuration to all cluster hosts:

    $ pxf cluster sync
  3. Restart PXF on all Greengage DB hosts:

    $ pxf cluster restart
NOTE

For more details on managing PXF services, see Manage PXF. For the detailed description of the pxf cluster commands, see Overview of the pxf cluster commands.

pxf-application.properties

The pxf-application.properties file exposes the PXF service application configuration properties. To change the value of a property, you may need to add it or uncomment the corresponding line if it’s already present.

General properties

Property Description Default value

pxf.connection.timeout

The Tomcat server connection timeout for read operations. Set -1 for infinite timeout

5m (5 minutes)

pxf.connection.upload-timeout

The Tomcat server connection timeout for write operations. Set -1 for infinite timeout

5m (5 minutes)

pxf.max.threads

The maximum number of PXF Tomcat threads

200

pxf.task.pool.allow‑core‑thread‑timeout

Identifies whether the core streaming threads are allowed to time out

false

pxf.task.pool.core-size

The number of core streaming threads

8

pxf.task.pool.queue-capacity

The capacity of the core streaming thread pool queue

0

pxf.task.pool.max-size

The maximum allowed number of core streaming threads

pxf.max.threads value if set, or 200

pxf.log.level

The log level for the PXF service

info

pxf.fragmenter-cache.expiration

The amount of time after which an entry expires and is removed from the fragment cache

10s (10 seconds)

server.address

The PXF server listen address

localhost

SSL configuration properties

The following properties let you manage PXF SSL configuration.

Property Description Default value

server.ssl.enabled

Defines if SSL is enabled

PXF_SSL_ENABLED value if set, or false

server.ssl.enabled-protocols

The comma-separated list of supported TLS protocols

PXF_SSL_ENABLED_PROTOCOLS value if set, or TLSv1.2

server.ssl.key-store

The path to the keystore containing the server private key and the signed server certificate

PXF_SSL_KEY_STORE_PATH value if set, or classpath:cert/server.p12

server.ssl.key-store-password

The password to the keystore

PXF_SSL_KEY_STORE_PASSWORD value if set

server.ssl.key-store-type

The type of the keystore

PXF_SSL_KEY_STORE_TYPE value if set, or PKCS12

server.ssl.client-auth

Client authentication method. If set to NONE, the client certificate is not checked; if set to NEED, mTLS is used

PXF_SSL_CLIENT_AUTH value if set, or NONE

server.ssl.trust-store

The path to the truststore containing the client private key and signed client certificate

PXF_SSL_TRUST_STORE_PATH value if set, or classpath:cert/truststore.p12

server.ssl.trust-store-password

The password to the truststore

PXF_SSL_TRUST_STORE_PASSWORD value if set

server.ssl.trust-store-type

The type of the truststore

PXF_SSL_TRUST_STORE_TYPE value if set, or PKCS12

JDBC password encryption properties

The following properties are required for the pxf encrypt command to work correctly.

Property Description Default value

pxf.ssl.jks-store.path

The absolute path to the Java keystore

 — 

pxf.ssl.jks-store.password

The Java keystore password

 — 

pxf.ssl.salt.key

An alias used to retrieve the encryption key from the Java keystore

 — 

HashiCorp Vault / OpenBao integration properties

These options let you configure integration with enterprise secrets platforms, such as HashiCorp Vault or OpenBao, maintained through Spring Cloud Vault.

Property Description Default value

spring.cloud.vault.enabled

Defines if the Spring Cloud Vault configuration server is enabled

PXF_VAULT_ENABLED value if set, or false

spring.cloud.vault.kv.enabled

Defines if the key-value backend is enabled

PXF_VAULT_KV_ENABLED value if set, or true

spring.cloud.vault.kv.backend

The name of the default backend

PXF_VAULT_MOUNT_PATH value if set, or secret

spring.cloud.vault.kv.application-name

The application name to be used for the context

PXF_VAULT_SECRET_PATH value if set

spring.cloud.vault.kv.default-context

The name of the default context

PXF_VAULT_DEFAULT_CONTEXT value if set

spring.cloud.vault.kv.profiles

The list of active profiles

PXF_VAULT_KV_PROFILES value if set

spring.cloud.vault.fail-fast

Defines if the service should fail to start if data cannot be obtained from Vault

PXF_VAULT_FAIL_FAST value if set, or true

spring.cloud.vault.namespace

The Vault namespace

PXF_VAULT_NAMESPACE value if set

spring.cloud.vault.host

The Vault server host name

PXF_VAULT_HOST value if set, or vault

spring.cloud.vault.port

The Vault server port

PXF_VAULT_PORT value if set, or 8200

spring.cloud.vault.scheme

The protocol scheme, can be either http or https

PXF_VAULT_SCHEME_TYPE value if set, or https

spring.cloud.vault.authentication

The Vault authentication method

PXF_VAULT_AUTHENTICATION_TYPE value if set, or approle

spring.cloud.vault.app-role.role-id

RoleID, an identifier that selects the AppRole against which the other credentials are evaluated

PXF_VAULT_ROLE_ID value if set

spring.cloud.vault.app-role.secret-id

SecretID, a credential that is required by default for any login and is intended to always be secret

PXF_VAULT_SECRET_ID value if set

spring.cloud.vault.token

Static vault token. Required if spring.cloud.vault.authentication is set to TOKEN

PXF_VAULT_TOKEN value if set

spring.cloud.vault.ssl.trust-store

The truststore that contains SSL certificates

PXF_VAULT_SSL_TRUST_STORE value if set, or file:/opt/ssl/certs/pxf.jks

spring.cloud.vault.ssl.trust-store-password

The password for accessing the truststore

PXF_VAULT_SSL_TRUST_STORE_PASSWORD value if set, or 123456

spring.config.import

The Vault configuration location

PXF_VAULT_CONFIG_IMPORT value if set, or vault://

pxf-env.sh

The pxf-env.sh file exposes these PXF JVM configuration properties. To change the value of a property, you may need to add it or uncomment the corresponding line if it’s already present.

Property Description Default value

JAVA_HOME

The path to the JRE home directory

/usr/java/default

PXF_LOGDIR

The PXF log directory

$PXF_BASE/logs

PXF_RUNDIR

The PXF run directory

$PXF_BASE/run

PXF_JVM_OPTS

The default options for the PXF Java virtual machine

-Xmx2g -Xms1g

PXF_OOM_KILL

Defines whether to activate PXF auto-termination on OutOfMemoryError (OOM)

true (activated)

PXF_OOM_DUMP_PATH

The absolute path to the dump file that PXF generates on OOM

Empty (no dump file)

PXF_LOADER_PATH

Additional directories and JARs for PXF class loading

Empty

LD_LIBRARY_PATH

Additional directories and native libraries for PXF to load

Empty

pxf-log4j2.xml

The pxf-log4j2.xml file configures logging for PXF and its components. By default, PXF is configured to log at the info level; for some third-party libraries, the logs are configured at the warn or error levels. To learn more about the Log4j configuration, see the Apache Log4j documentation.

pxf-profiles.xml

A PXF profile is a named mapping identifying a specific data format and the protocol supported by a specific external data store. For example, to read a text file from the S3 cloud storage, the s3:text profile can be used.

PXF provides several built-in profiles, which are defined in the pxf-profiles-default.xml file. You can view the contents of this file in the PXF source code repository. If you need to add a custom profile, configure it in the pxf-profiles.xml file.

The basic structure of a pxf-profiles.xml file looks as follows:

<?xml version="1.0" encoding="UTF-8"?>

<profiles>
    <profile>
        <name>...</name>
        <description>...</description>
        <plugins>
            <plugin_A>...</plugin_A>
            <plugin_B>...</plugin_B>
            ...
        </plugins>
    </profile>
    ...
</profiles>