Configuration Files

The nps.properties file

Since 19.23.0 version, the nps.properties file is automatically created during application start in the working directory (${HOME}/.chemaxon/plexus-suite in UNIX or %USERPROFILE%\chemaxon\plexus-suite in Windows) with default options. Properties included in the nps.properties file can be individually configured.

To unset a property, it has to be removed completely or put in comment.

Poll interval in milliseconds. Longer poll time means less requests.

By default, it has been set to 50 seconds because we want a value lower than relevant timeouts for common proxies, and nginx has proxy_read_timeout set to 60 seconds by default.
(grunt-connect-proxy, which we use for development, has a connection timeout of 2 minutes by default)
events.pollTimeMs=50000

Instant JChem section

Default schema name used for storing new entities. For example, during import:
ijc.default.schema=localdb

Authentication types:
Supported authentication types are: IJC (default), anonymous, pass, synergy
authentication.type=ijc

Only applicable to IJC authentication:
multiple.schemas.auth=false
By default, the server attempts to authenticate the user against the first schema. If this authentication fails, no other authentication attempts are made. If the multiple.schemas.auth property is set to true, the server tries to authenticate against other schemas configured for this server instance.

Only applicable to anonymous authentication:
Name of the user who is always logged in anonymous.username=Guest

Comma-separated list of authorities
anonymous.authorities=ROLE_USER

Logout after time of inactivity in seconds (3600seconds = 1hour).
plexus.sessionExpirationTimeSecs=3600

Comma-separated list of roles, any of which is required to access the "Open view in IJC" feature
com.chemaxon.ijc.ws.resources.IjcJwsFiles.roles=ROLE_CONNECT_ADMIN

Disable export of fields from all visible widgets in form at default
connect.frontend.export.all.fields.disabled=false

IJC Java Web Start JNLP file URL for the "Open view in IJC" feature
com.chemaxon.ijc.ws.ijcjws.jnlpFileUrl=

The directory to be used as the parent directory for the shared project configurations
com.chemaxon.ijc.ws.ijcjws.sharedProjectsDir=

The path to the license file to be served to requests for <feature-base-url>/license as part of the "Open view in IJC" feature.

If this property is set, the argument '-J-Dchemaxon.license.url=<feature-base-url>/license' is also automatically set to the JNPL file which is served to requests for <feature-base-url>/jnlp.
com.chemaxon.ijc.ws.ijcjws.pathToLicense=

URL of deployed Plexus connect to schema refresh
com.chemaxon.ijc.ws.ijcws.schemaRefreshUrl=

Plexus Storage section

Database driver which should be used for connecting to Plexus Storage database
Default value: org.apache.derby.jdbc.EmbeddedDriver (Derby)
plexus.storage.driverClassName=org.apache.derby.jdbc.EmbeddedDriver

URL to the Plexus Storage database
By default it uses derby database in chemaxon/plexus-suite/plexusStorage directory
e.g. jdbc:mysql://server.com:3306/ourschema
plexus.storage.url=

Encrypted username for the database
plexus.storage.database.username=

Encrypted password for the database
plexus.storage.database.password=

Encryption algorithm used for the username and password.
By default, it uses DESede, another option is AES256
plexus.storage.database.algorithm=AES256

Hibernate dialect which should be used for the database
Default value: DerbyTenSevenDialect
Other dialects available in:
https://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/session-configuration.html#configuration-optional-dialects
plexus.storage.hibernate.dialect=org.hibernate.dialect.DerbyTenSevenDialect

Option if the hibernate should log all the SQL queries
Please find more information here:
https://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/session-configuration.html
plexus.storage.hibernate.show_sql=false

Option if the hibernate should format SQL queries
Please find more information here:
https://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/session-configuration.html
plexus.storage.hibernate.format_sql=false

Option for automatic validation
Please find more information here:
https://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/session-configuration.html
plexus.storage.hibernate.hbm2ddl.auto=update

Custom configuration

Since 16.9.26.0 version, Plexus Connect allows the use of a simple configuration file in a custom location. You can define the location by using the com.chemaxon.plexus.connect.configuration.propertiesFilePath system property. An example of its usage can be found below:

java -Xmx2096m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Dcom.chemaxon.plexus.connect.configuration.propertiesFilePath=/Users/myUser/.chemaxon/plexus-suite/config.properties -Dfile.encoding=UTF-8 -Duser.language=en -Dport=9000 -jar plexus-suite.war

Also, it is possible to set these options as system properties at the time of starting Plexus. Please keep in mind that the system properties have the highest priority, followed by the custom.properties file and the values saved in nps.properties have the lowest priority.

Example:

In nps.properties file the plexus.sessionExpirationTimeSecs property is kept as default =3600

In the custom.properties file the plexus.sessionExpirationTimeSecs property is set to 1800

If Plexus was started by the command shown before, the session would expire in 1800 seconds as the custom.properties would be taken in account. If the -Dplexus.sessionExpirationTimeSecs=60 would be added to the command, the session would expire in one minute.

If a non-existent file is defined in the com.chemaxon.plexus.connect.configuration.propertiesFilePath property a sample file is provided.