Setting Java Options for Outbound Connectors
The Java options are passed to the connectors by setting the JAVA_OPTS
environment variable.
The JAVA_OPTS
environment variable is set differently for connectors running as systemd
services and
for connectors running as non-systemd
Docker instances.
Procedure for connector running as systemd service
Create a systemd
override file
The following command creates a systemd
override file for the connector.
sudo systemctl edit <connector-name>
connector-name: Name of the connector for which you want to create an override file.
Possible values aerospike-jms-inbound
, aerospike-jms-outbound
, aerospike-kafka-outbound
,
aerospike-pulsar-outbound
, aerospike-pubsub-outbound
, aerospike-xdr-proxy
.
Set the JAVA_OPTS
environment variable in the override file
In the override file that you created in the previous step, set the JAVA_OPTS
environment
variable in the Service section. Here is an example that sets a netty workdir and Java maximum
heap size:
[Service]
Environment=JAVA_OPTS="-Dio.netty.native.workdir=/connector/tmp -Xmx1024m"
Reload the systemd
manager configuration
Run the systemd
command to reload the manager configuration:
sudo systemctl daemon-reload
Restart connector
Restart the systemd
connector service.
sudo systemctl restart <connector-name>
Procedure for Docker (non systemd
)
In a non-systemd
environment the JAVA_OPTS environment variable should be explicitly set.
For docker this would take the form of adding
-e "JAVA_OPTS=<list of java options>"
to the exec.
All connectors use the same method for example in esp the docker command line might be:
docker run --name=example-connector -p 8080:8080 -e "JAVA_OPTS=-Dio.netty.native.workdir=/connector/tmp -Xmx8G" aerospike/aerospike-esp-outbound:2.0.0
Like the above examples, this sets a Netty workdir and Java maximum heap size but it could be any Java option.
To verify that this was set correctly you can check in docker with docker top example-connector
and you should see the connector running with your java options.