I am running SymmetricDS as a war on my tomee server and I am deploying two services, the master (pos-cc) and the slave (pos-dd). When the slave service starts, the following error appears:
ERROR org.jumpmind.symmetric.service.impl.RegistrationService - Unexpected error during registration: Parameter specified as non-null is null: method okhttp3.OkHttpClient$Builder.sslSocketFactory, parameter sslSocketFactory java.lang.IllegalArgumentException: Parameter specified as non-null is null: method okhttp3.OkHttpClient$Builder.sslSocketFactory, parameter sslSocketFactory
symmetric-server.properties has these properties:
host.bind.name=0.0.0.0
# Enable synchronization over HTTP.
#
http.enable=true
# Port number for synchronization over HTTP.
#
http.port=31415
# Enable synchronization over HTTPS (HTTP over SSL).
#
https.enable=false
# Enable HTTPS/2 for multiplexing and resistance to protocol attacks.
#
https2.enable=false
# Port number for synchronization over HTTPS (HTTP over SSL).
#
https.port=31417
# Use a trust manager that allows self-signed server SSL certificates.
#
https.allow.self.signed.certs=true
# List host names that are allowed for server SSL certificates.
#
https.verified.server.names=all
# Requires client authentication with SSL certificate
#
https.need.client.auth=false
# Accepts client authentication with SSL certificate
#
https.want.client.auth=false
# Accept cookies if load balancer requires it for clustering
#
server.http.cookies.enabled=false
pos-cc.properties:
# Friendly name to refer to this node from command line
engine.name=pos-cc
# The class name for the JDBC Driver
db.driver=org.hsqldb.jdbcDriver
# The JDBC URL used to connect to the database
db.url=jdbc:hsqldb:hsql://127.0.0.1:9001/pos;shutdown=true
# The database user that SymmetricDS should use.
db.user=SA
# The database password
db.password=
# This node will contact the root node's sync.url to register itself.
# Leave blank to indicate this is the root node.
registration.url=
# Sync URL where other nodes can contact this node to push/pull data or register.
sync.url=http://127.0.0.1:8080/symmetricDsCC/sync/pos-cc
# Node group this node belongs to, which defines what it will sync with who.
# Must match the sym_node_group configuration in database.
group.id=cc
# External ID for this node, which is any unique identifier you want to use.
external.id=000
# How often to run purge job,
job.purge.period.time.ms=7200000
# How to run routing (in millis), which puts changes into batches.
job.routing.period.time.ms=5000
# How often to run push (in millis), which sends changes to other nodes.
job.push.period.time.ms=10000
# How often to run pull (in millis), which receives changes from other nodes.
job.pull.period.time.ms=10000
# Automatically register new nodes when they request it.
# If this is false, accept the registration requests using "symadmin open-registration" command.
auto.registration=true
# When this node sends an initial load of data to another node, first send table create scripts.
initial.load.create.first=true
pos-dd.properties:
# Friendly name to refer to this node from command line
engine.name=pos-dd
# The class name for the JDBC Driver
db.driver=org.hsqldb.jdbcDriver
# The JDBC URL used to connect to the database
db.url=jdbc:hsqldb:hsql://127.0.0.1:9002/pos;shutdown=true
# The database user that SymmetricDS should use.
db.user=SA
# The database password
db.password=
# This node will contact the root node's sync.url to register itself.
registration.url=http://127.0.0.1:8080/symmetricDsCC/sync/pos-cc
sync.url=http://127.0.0.1:8080/symmetricDsDD/sync/pos-dd
# Node group this node belongs to, which defines what it will sync with who.
# Must match the sym_node_group configuration in database.
group.id=dd
# External ID for this node, which is any unique identifier you want to use.
external.id=001
# How to run routing (in millis), which puts changes into batches.
job.routing.period.time.ms=5000
# How often to run push (in millis), which sends changes to other nodes.
job.push.period.time.ms=10000
# How often to run pull (in millis), which receives changes from other nodes.
job.pull.period.time.ms=10000
Does anyone know why this happens?
Can you set this in the engine files or if needed can be set as a system property for the Tomee server. The symmetric-server.properties is for the standalone Jetty deployment.
https2.enable=false