Preparing for installation#
In this section you will prepare your environment by installing and configuring all software prerequisites.
Before installing nJAMS Server, make sure that your system meets all prerequisites. Each of the prerequisite steps must be carried out before performing the installation.
Preparing Oracle Database System#
Note
Using Oracle database is deprecated and will no longer be supported in next release.
If you want to use your Oracle RDBMS, create a dedicated schema and user for nJAMS Server to allow the Installer to create tables and views.
- Required Oracle database privileges and settings:
In order to create the nJAMS Server database objects (tables, etc.) the following privileges are required by the database user:
Permission:
Type:
CONNECT
Role
RESOURCE
Role
CREATE TABLE
System privilege
CREATE VIEW
System privilege
CREATE SEQUENCE
System privilege
If your database account has not been provided with these required privileges, the nJAMS Server database cannot be created during installation procedure.
If you want to manually configure an Oracle datasource in WildFly Application Server, the following WildFly property has to be set to an empty string:
njams.db.dialect=
Note
An empty string cannot be entered within WildFly’s Administration Console. Instead the WildFly CLI has to be used, or you have to edit WildFly’s config file
standalone.xml
.
Preparing Microsoft SQL Server#
Note
Using Microsoft SQL Server database is deprecated and will no longer be supported in next release.
For using Microsoft SQL Server database, prepare a database and a user, login to allow nJAMS Server Installer to create required tables and views.
- Required SQL Server privileges and settings:
In order to create the nJAMS Server database objects (tables, etc.) the following privileges are required by the database user:
Privileges:
In order to create the nJAMS Server database objects (tables, etc.) the following privileges are required by the database user used for installing nJAMS Server:
CREATE TABLE
CREATE VIEW
DELETE
EXECUTE
INSERT
REFERENCES
SELECT
UPDATE
The LOGIN requires:
CONNECT SQL
Settings:
The following settings have to be applied to SQL Server:
Set transaction isolation level to READ_COMMITTED_SNAPSHOT
Set initial log file size to at least 5MB
If you want to manually configure a SQL Server datasource in WildFly Application Server, the following WildFly property has to be set:
njams.db.dialect = org.hibernate.dialect.SQLServer2012Dialect
Note
If you have a connection string that specifies a particular SQL Server instance, please enter a double backslash between machine name and instance name as follows in this example:
jdbc:sqlserver://mymachine\\mssqlserver14:1433;databaseName=njams
SSL/TLS:
Please use TLS 1.2 or higher, in case you want to use a secure connection to your SQL Server instance. Previous versions 1.0 and 1.1 of TLS will not work any longer.
Preparing PostgreSQL#
Note
Using PostgreSQL database is deprecated and will no longer be supported in next release.
If you want to configure a PostgreSQL datasource in WildFly Application Server, set the following property to an empty string:
njams.db.dialect=
Note
An empty string cannot be entered within WildFly’s Administration Console. Instead use WildFly CLI, or edit WildFly’s config file standalone.xml
.
Preparing JMS Provider#
nJAMS Server requires a JMS Server up and running.
- Preparing Apache ActiveMQ:
For using your own corporate ActiveMQ server, create a separate user for nJAMS Server that is authorized to the following destinations:
Destinations:
Type:
Privileges:
<prefix>.event
queue
read, write
<prefix>.error
queue
read, write
<prefix>.metrics
queue
read, write
<prefix>.command
queue
read, write
<prefix>.commands
topic
read, write
The <prefix> can be defined by the user, default prefix is
njams
. The prefix can be specified when you create or update a JMS Connection in nJAMS Server UI. For creating or updating a JMS Connection please refer to manual nJAMS Server Administration Guide.If you want nJAMS Server Installer to install an Apache ActiveMQ JMS Provider, you are asked to enter the prefix for the destination name.
Note
If you want nJAMS Server Installer to create the destinations, the used JMS user needs admin privilege.
- Preparing TIBCO EMS:
For using your own corporate TIBCO EMS server, create a separate user for nJAMS Server that is authorized to the following destinations:
Destinations:
Type:
Privileges:
<prefix>.event
queue
receive, send
<prefix>.error
queue
receive, send
<prefix>.metrics
queue
receive, send
<prefix>.command
queue
receive, send
<prefix>.commands
topic
subscribe, publish
This user also needs the following admin permissions to use TIBCO EMS queue/topic statistics for nJAMS Data Provider:
view-destination
view-server
The <prefix> can be defined by the user, by creating or updating a Data Provider in nJAMS Server UI.
Note
It is recommended to add an expiration time of 5 seconds to the <prefix>.command queue.
This is a sample script to create destinations required by nJAMS Server:
create user njams "njams user" password=njams grant admin njams view-destination,view-server create queue njams.event create queue njams.error create queue njams.metrics create queue njams.command expiration=5 create topic njams.commands expiration=5 grant queue njams.event user=njams receive,send grant queue njams.error user=njams receive,send grant queue njams.metrics user=njams receive,send grant queue njams.command user=njams receive,send grant topic njams.commands user=njams subscribe,publish
Preparing Kafka instance#
For using your own corporate Kafka instance, create a separate user for nJAMS Server that is authorized to the following topics:
Destinations: |
Type: |
Privileges: |
---|---|---|
<prefix>.event |
topic |
read, write, describe |
<prefix>.project |
topic |
read, write, describe |
<prefix>.error |
topic |
read, write, describe |
<prefix>.metrics |
topic |
read, write, describe |
<prefix>.commands |
topic |
read, write, describe |
This user also needs permission for the prefix of the consumer group of the connection.
Preparing Elasticsearch Cluster#
In case you want to use a prepared Elasticsearch Cluster please note, that scripting has to be enabled.
Login with terminal in the Elasticsearch node server(s) and edit <ES_HOME>/config/elasticsearch.yml
.
The following entries have to be included, respectively changed:
- For Elasticsearch 6.x
script.stored: true
script.inline: true
script.painless.regex.enabled: true
- For Elasticsearch 7.x
In version 7 all script tyes are enabled by default. But if you need to specify explicitly, make sure to include inline and stored scripts, e.g.,
script.allowed_types: [inline, stored]
script.painless.regex.enabled: true
Please refer to chapter Recommendations to setup an Elasticsearch cluster for production to learn more about sizing and configuration of an appropriate Elasticsearch cluster for nJAMS.