Example environment settings for NexJ CRM deployment
The following are example environment settings for a typical NexJ CRM deployment on Model Server.
While almost all of the values are configurable, you must replace the value in angle brackets for the example to be valid.
Application server settings
The following properties can be configured for Model Server in the server or environment file. Depending on your configuration, you may also need to deploy additional settings which are also described in this section. The XML attribute and notes column in the following tables show the attribute names that are used in the environment file.
Overview settings for a typical NexJ CRM deployment
Attribute | XML attribute and notes | Value |
---|---|---|
Anonymous HTTP Server URL |
httpAnonymousURL
HTTP server anonymous content URL. | <http://server.example.com:port/ nexj/anon> |
Authentication Audit |
Enables auditing of successful user authentication. Default value is "false". | true |
Authentication Debugging |
Enables authentication debugging. | true |
Authentication Domain | authDomain Authentication domain or Kerberos realm, usually DOMAIN.EXT in capital letters. | <EXAMPLE.COM> |
Authentication Service | authService The Kerberos service principal name (SPN) for the environment. | <HTTP/localhost.example.com> |
Balancing |
Specifies the session load balancing algorithm. Load balancing occurs when a session is restored from the persistence store. If the session is load balanced, requests are redirected to another node by an external load balancer. preemptive threshold none | preemptive |
Batch Email Recipient List Enabled | batchEmailRecipientListEnabled Enables users to view a list of selected email recipients and modify the list. | false |
Batch Notifications | batchNotifications Enables batch task and document creation notifications. | false |
Call Records Enabled | callRecordsEnabled Enables call records functionality. | false |
Client Performance Status Enabled | clientPerfStatusEnabled Enables the client performance statistics functionality. | true |
Cluster CPU Threshold |
| 50 |
Cluster Memory Limit |
The memory usage at which a node is considered overloaded, expressed as the percentage of utilization of the total heap. This is the maximum memory usage allowed before session passivation is forced. When the object queue dispatcher node becomes overloaded, it initiates pre-emptive failover and a new non-busy node is selected to be the dispatcher. | 80 |
Cluster Memory Threshold |
| 75 |
Currency Conversion Enabled | currencyConversionEnabled Enables currency conversion to allow developers to convert values between currencies for the NexJ application. | false |
Debug |
Enables debugging. | true |
Deployment Location | location The location where you want to deploy NexJ CRM. | For Model Server, the location can be: <C:\java\container\deploy>
Info For information about additional locations, see Deploying Model Server . |
Description | description A meaningful description of what is being deployed. | <Local machine with the bootstrap container in the default location> |
Email Draft Enabled | emailDraftEnabled Enables users to preview batch emails before sending them to recipients. | false |
Email Signature Enabled | emailSignatureEnabled Enables users to include email signatures when sending batch emails. | false |
Email To Service Request | emailToServiceRequest Enables users to automatically create service requests from customer emails. | false |
Event Audit |
Enable logging of create, update, and delete actions that users perform on objects, for example, creating or deleting a lead. Actions for all auditable objects are logged. For update actions, original and changed values are recorded. | true |
Exchange Log Enabled |
Enables including Exchange synchronization process logs in the application logs. | true |
Hierarchy Security Enabled | hierarchySecurityEnabled Enables hierarchy based access for entities, opportunities, and activities. | false |
HTTP Forbidden Enabled | httpForbiddenEnabled Enables the HTTP 403 Forbidden response for a permanent authentication failure. Otherwise, HTTP 404 Not Found is used to hide the existence of an HTTP resource, as a deterrent. | true |
Compressed HTTP Response |
Enables gzip compression for HTTP traffic, which means that HTTP traffic is compressed to minimize network bandwidth. | true |
HTTP Lock Timeout |
HTTP session lock timeout in seconds. The value of 0 indicates unlimited. | 60 |
HTTP Maximum Size |
Maximum HTTP request size in bytes. The value of 0 indicates unlimited. | |
HTTP Report URL |
httpReportURL
Provides the HTTP URL for reports. | <http://server.example.com:port/nexj/reports> |
HTTP Server URL |
If a port number is not specified, a default HTTP port number based on the value of the secureTransport attribute is used:
If a port number is specified, the system either uses that number or replaces it, depending on the following:
| <http://server.example.com:port/nexj/> |
Journal Directory | journalDirectory The directory in which to store the transactional journal. If a relative path is specified then the journal directory is placed under the server data directory. The journal files are placed in a subdirectory named after the node name. | tx${test.clone} |
Maximum Pool Size |
| 33 |
Minimum Pool Size |
| 3 |
Name Change Context Audit | nameChangeContextAudit Enables automatic context auditing of changes to the name attribute for audited instances. | true |
Password | password The password corresponding to the deployment user ID. | <Deployment_Password> |
Persistent Session |
| true |
Poll Period |
Specifies the time interval in milliseconds between poll requests when the push type is set to none (client polling). | 300,000 milliseconds (5 minutes) |
Port Offset |
When running two or more nodes on the same server, specify the For example, if the HTTP server URL is http://host.domain.ext:7080/nexj and the port offset is 100, the JVM will listen to port 7180 for HTTPS traffic. | 100 |
Preview Threshold | previewThreshold Maximum document size, in bytes, for automatic preview. | 202,400 |
Push Password | pushPassword Specifies the password of the push user when used with the Push User property or the keystore password when used with the Push Certificate property. | <Push_Password> |
Push Redirector URL | pushRedirectorURL Specifies the host, port, and context path of the push redirector. | <http://localhost:port/nexj/pushRedirect> |
Push Server URLs | pushServerURLs Specifies the list of full paths to each instance of the push server running on each node of the application cluster. Multiple servers are separated with a space. | <http://app1.local:8080/nexj/push> <http://app2.local:8080/nexj/push> |
Push Trust |
Specifies a Base64 encoded public certificate of the Model Server on which the push server is running. | <certificate> |
Push Type |
Supported values are "streaming", "long", or "none". | streaming |
Push User | pushUser Specifies the user that authenticates with the NexJ application when connecting to the push server. | <Push_ID> |
Read Audit |
Possible values are access, attributes, values, and none (default). For more information, see Configuring audit trails. | none |
RPC Privilege | rpcPrivilege The privilege required for access to generic Remote Procedure Call (RPC) protocols. If not set, the access is unrestricted and a validation warning is generated. Generic RPC protocols are HTTP/soap, HTTP/text, HTTP/web, HTTP/xml and EJB. Generic RPC is used by all the clients except for the flat page client. | InternalManage |
Rules for Service Level Agreements | ruleSLA Enables service level agreements functionality for service requests. | false |
Secure Transport Protocol (use SSL) | secureTransport Enables encrypted SSL communication and server authentication. | false |
Session Cookie |
The session cookie name. | NEXJSESSIONID |
Session Timeout |
Session timeout in minutes. The value of 0 indicates unlimited. For persistent sessions, session timeout is the period of inactivity before the session is persisted. | 20 |
Statistics Availability |
The availability of statistics. Supported values are: none self distributed | distributed |
Theme |
The theme which should be used to override the default look and feel of the application. | <ThemeName> |
Transaction Timeout |
| 300 |
Type |
| For Model Server, the value is Generic. |
Unit of Work Listener Enabled | uowListenerEnabled Enables the unit of work listener component that shares NexJ CRM transactional data with registered listeners. | false |
Update Audit | updateAudit Determines whether create, update, and delete actions that users perform on objects are logged, for example, changing a contact name. | false |
User | user The ID that will be provided if the server that you deploy to requests an ID and password before allowing metadata to be copied. | <Deployment_ID> |
LDAP settings for a typical NexJ CRM deployment
Attribute | XML attribute and notes | Value |
---|---|---|
Authentication Protocol | ldapAuthProtocol The authentication protocol for connecting the LDAP server. | simple |
Group Context DN | ldapGroupContextDN The distinguished name (DN) used to search for groups. | <LDAP_Group_Context_DN> |
Group Filter | ldapGroupFilter The LDAP filter used to identify objects that are groups. | (objectCategory=group) |
Group Name Attribute | ldapGroupNameAttribute The group attribute that holds the group's name. | sAMAccountName |
Password | ldapPassword The password corresponding to the LDAP user ID. | <LDAP_Password> |
URL | ldapURL The LDAP server URL for determining the user group membership. | <LDAP_URL> |
User | ldapUser The user ID to use to connect to the LDAP server. | <LDAP_User_ID> |
User Context DN | ldapUserContextDN The DN used to search for users. | <LDAP_User_Context_DN> |
User Filter | ldapUserFilter The LDAP filter used to identify objects that are users. | (objectCategory=user) |
User Login Attribute | ldapUserLoginAttribute The login name that is used to authenticate users. | userPrincipalName |
Additional settings for a typical NexJ CRM deployment
Attribute | XML attribute and notes | Value |
---|---|---|
Authentication Group |
authGroup
The Group ID used for coarse grained authentication. Application users must be part of the group. | nexjusers |
Authentication Protocol |
authProtocol
The authentication protocol. | custom or spnego |
Channel Warning Timeout |
| 2000 |
Cluster Broadcast Address |
| 255.255.255.255 |
Cluster Discovery Port |
| 1111 |
Cluster Discovery Protocol |
The supported values are "unicast", "multicast", "broadcast" and "tcp". The default value is "multicast". | unicast |
Cluster Multicast Group |
| 239.192.10.1 |
Configuration |
In a .properties file, indicates which .environment file is used as the template. Not supported in a .environment file. | Development.environment |
Distributed |
distributed
Enables clustering services. | true |
Keystore Password |
keystorePassword
The password used for the application server's ssl.keystore file. | text:keypass |
Material Design |
materialDesign
Reserved for future use. Do not enable. | false |
Message Port | messagePort TCP/IP port used for intra-cluster communication with the Object Queue engine. | 1111 |
Message User | messageUser The user ID used for Object Queue messaging. | <adminID> |
Sample Data | sampleData Specifies whether sample data is generated. | false |
Test | test Specifies whether the server may be used for testing. | false |
Data source connection settings
A typical deployment of NexJ CRM requires the following data sources to be configured with the following properties.
The SessionDatabase is required when using session persistence.
The following data sources are required for a typical deployment:
- AuditLogDatabase
- BI_1_BI_Database
- call:Call
- Conversation
- DefaultRelationalDatabase
- ecr:ECR
- flow:Flow
- LockDatabase
- msg:Messaging
- ObjectQueueDatabase
- rules:Rules
- SessionDatabase
- sso:SSO
- StagingDatabase
- StatDatabase
- uicomp:UIComponent
The suggested properties and values are the same for all data sources.
Data source connection settings for a typical NexJ CRM deployment
Attribute | XML attribute and notes | MSSQL value | Oracle value |
---|---|---|---|
Relational Database Connection |
| <datasourcename> | <datasourcename> |
Adapter | adapter | MSSQL | Oracle |
Host | host | <localhost> | <localhost> |
User | user | <Database_User> | <Database_User> |
Database | database The name of the database the application will access. | <Database_Name> | <Database_Name> |
Port | port Database server port number. | 1433 | 1521 |
Password | password The password corresponding to the database user ID. | <Database_Password> | <Database_Password> |
Path | path Name of the JDBC driver JAR file. | jtds-1.2.2-9.jar | ojdbc14.jar |
Query Timeout | queryTimeout Number of seconds before queries timeout. | <querytimeoutvalue> | 10 |
Warning Timeout | warningTimeout Number of milliseconds before a timeout warning occurs for long-running queries. | <querytimeoutvalue> | 250 |
Channel connection settings
A typical deployment of NexJ CRM requires that you add certain channels to the environment file.
File channel connection settings
ReportingOutputFileChannel channel connection settings for a typical NexJ CRM deployment
Attribute | XML attribute and notes | Value |
---|---|---|
Channel | channel Channel connection name. | ReportingOutputFileChannel |
Type |
| FileConnection |
Incoming Directory | incomingDirectory The full path to the incoming directory. In XML, this attribute is named. | <\\server.domain.ext\AddressLookup \incoming> |
Outgoing Directory | outgoingDirectory The full path to the incoming directory. In XML, this attribute is named. | <\\server.domain.ext\AddressLookup \outgoing> |
Temporary Directory | temporaryDirectory The full path to the temporary directory. In XML, this attribute is named. | <\\server.domain.ext\AddressLookup \temporary> |
Processed Directory | processedDirectory The full path to the processed directory. In XML, this attribute is named. | <\\server.domain.ext\AddressLookup \processed> |
Pattern | pattern Indicates the file pattern to search for in the lookup. | *.zip |
Transaction Timeout | transactionTimeout Indicates the number of milliseconds before the lookup times out. | 7200 |
HTTP channel connection settings
ExchangeEWSNotificationReceiver channel connection settings for a typical NexJ CRM deployment
Attribute | XML attribute and notes | Value |
---|---|---|
Channel | channel Channel connection name. | ExchangeEWSNotificationReceiver |
Type | HTTPConnection (element) The type of channel connection to use. | HTTPConnection |
Authentication | authentication The type of authentication to use. | none |
ExchangeEWSSender channel connection settings for a typical NexJ CRM deployment
Attribute | XML attribute and notes | Value |
---|---|---|
Channel | channel Channel connection name. | ExchangeEWSSender |
Type | HTTPConnection (element)The type of channel connection to use. | HTTPConnection |
URL | url The host must be that of the Exchange Web Service for the target server. | http://<host>/ews/Exchange.asmx |
User | user The user name used to connect to remote HTTP servers. | <HTTP_User_ID> |
Password | password The password corresponding to the HTTP User ID. | <HTTP_User_Password> |
Trust | trust The certificate file. | <certificatefile> |
Authentication | authentication The type of authentication to use. | basic |
Read Timeout | readTimeout Timeout (in milliseconds) for outbound HTTP requests. | 180000 |
Use HTTPS Communication |
| true |
Info
ExchangeEWSSender2 and ExchangeEWSSender3 channels are duplicates of ExchangeEWSSender and are also optional channel connections when there is only one entry point for Exchange EWS communication; just one ExchangeEWSSender channel is sufficient in that event.
HelpChannel connection settings for a typical NexJ CRM deployment
Attribute | XML attribute and notes | Value |
---|---|---|
Channel | channel For online help functionality. | HelpChannel |
Type | HTTPConnection (element)The type of channel connection to use. | HTTPConnection |
URL | url The first example (in the Value column) is of an internaly-run help server running on port 8080. The second example points to the public end-user documentation for NexJ CRM 9.2. | <https://intranet.example.com:8080/help/> or <https://documentation.nexj.com/pubuser92> |
InfluxDB channel connection settings for a typical NexJ CRM deployment
Attribute | XML attribute and notes | Value |
---|---|---|
Channel | channel For persisting performance statistics to InfluxDB. | monitor:influxdb:HTTPSenderchannel |
Type | HTTPConnection (element)The type of channel connection to use. | HTTPConnection |
URL | url The secure user-accessible URL for the server that writes to the specified InfluxDB database, including the port number, if required. | <https://intranet.example.com:8086/write? db=database/> |
Kafka channel connection settings
Kafka channel connection settings for a typical NexJ CRM deployment
Attribute | XML attribute and notes | Value |
---|---|---|
Channel | channel For sending and receiving messages through Apache Kafka. | kafkaChannel |
Type | KafkaConnection (element)The type of channel connection to use. | KafkaConnection |
Encoding | encoding Character set for serializing and deserializing string messages. | UTF-8 |
Topic | topic For sender channels, the Kafka topic to send to. If the channel receives input from multiple topics, you can enter a space-separated list of topics. If the channel is used for both sending and receiving, it sends messages to the first topic in the list and receives messages from all the topics in the list including the first one. | kafkaTopic1 |
Servers | servers A space-separated list of host/port pairs to use for establishing the initial connection with the Kafka cluster. The client will make use of all available servers irrespective of which servers are specified. | localhost:9092 |
Max Senders | maxSenders Maximum Kafka producers (senders) per server. For unlimited producers, enter -1 as the value. Applies to sender channels only. | 16 |
Request Timeout | requestTimeout Timeout (in milliseconds) for Kafka requests. | 25000 |
Warning Timeout | warningTimeout Number of milliseconds before a timeout warning occurs for longrunning queries. For infinite timeout, specify 0 as the value. | 2000 |
Use SSL Security | secure If set to true, requires SSL security. If set to <auto>, defaults to the value of the secureTransport attribute in the server configuration. | true |
Authentication | authentication Authentication mode. The options are:
| basic |
User | user Kafka user ID. | user |
Password | password The password corresponding to the Kafka user ID. | password |
Certificate | certificate The certificate and private key for logging in to the remote system. The certificate must be in base64-encoded PKCS #12 representation. | <certificate> |
Trust | trust The X.509 certificate, or the signer's certificate thereof, for the remote system. If unspecified, the server will trust the global trust certificate if it is specified in the environment file. | <trust> |
Sender Properties | SenderProperties (element)Additional Kafka producer properties to be added to the sender channel. For a list of these properties, see http://kafka.apache.org/documentation.html#producerconfigs. | senderPropertyName |
Receiver Properties | ReceiverProperties (element)Additional Kafka consumer properties to be added to the receiver channel. For more information, see http://kafka.apache.org/documentation.html#consumerconfigs. | receiverPropertyName |
You can define some attributes both at the channel level and the channel connection level. Channel connection settings override any individual channel settings.
If your NexJ application uses the Avro format to send Kafka messages, the Kafka channel requires additional configuration. For more information, see Additional configuration for sending Avro messages .
Mail channel connection settings
Mail channel connection settings for a typical NexJ CRM deployment
Attribute | XML attribute and notes | Value |
---|---|---|
Channel | channel Channel connection name. | |
Type | MailConnection (element) The type of channel connection to use. | MailConnection |
Email Account | user User name used to connect to the mail server. | <user.name@example.com> |
Password | password The password corresponding to the Email Account. | <Email_Password> |
Folder | inFolder The incoming messages folder. | INBOX |
Receiver Protocol | inProtocol The protocol to use for incoming messages. | pop3 |
Receiver Host | inHost The mail server host for incoming messages. | <mailserver.example.com> |
Receiver Encryption | inEncryption The type of channel connection to use. | SSL |
Sender Email | from The default email address for the sender. | <outmail@example.com> |
Sender Protocol | outProtocol The protocol to use for outgoing messages. | smtp |
Sender Host | outHost The mail server host for outgoing messages. | <outmailserver.example.com> |
Message Queue channel connection settings
ErrorQueue channel connection settings for a typical NexJ CRM deployment
Attribute | XML attribute and notes | Value |
---|---|---|
Channel | channel Channel connection name. | ErrorQueue |
Type | MessageQueueConnection (element) | MessageQueueConnection |
User | user User name used to connect to the JMS queue. | <JMS_Queue_User_ID> |
Password | password The password corresponding to the JMS queue user ID. | <JMS_Queue_Password> |
TCP channel connection settings
IOSNotificationSender channel connection settings for a typical NexJ CRM deployment
Attribute | XML attribute and notes | Value |
---|---|---|
Channel | channel Channel connection name. | IOSNotificationSender |
Type | TCPConnection (element) The type of channel connection to use. | TCPConnection |
Certificate | certificate The contents of the push certificate. | <certificate> |
Password | password The password used when exporting the private key. | <password> |
Use SSL/TLS | secure Use SSL/TLS communication for the channel. | true |
Sender Read Timeout | senderReadTimeout The TCP sender's message read timeout in milleseconds. A value of zero indicates an infinite timeout. | 2000 |
SOA connection settings
A typical deployment of NexJ CRM requires that you add certain SOA connections to the environment file.
The following SOA connections are required for a typical deployment:
- nexj:act:ActTemplate:1.0
- nexj:act:ActivityPlan:1.0
- nexj:act:ApprovalObject:1.0
- nexj:act:DocumentService:1.0
- nexj:act:Task:1.0
- nexj:call:InboundCall:1.0
- nexj:crm:AssignmentModel:1.0
- nexj:crm:EntityParticipation:1.0
- nexj:crm:Household:1.0
- nexj:crm:Interaction:1.0
- nexj:crm:Note:1.0
- nexj:crm:Person:1.0
- nexj:crm:ScheduleItem:1.0
- nexj:crm:Task:1.0
- nexj:crm:User:1.0
- nexj:crm:UserPerson:1.0
- nexj:flow:FlowObject:1.0
- nexj:flow:QuestionnaireService:1.0
- nexj:flow:SecurityDelegateService:1.0
- nexj:ilm:DistributeActionCommandClient:1.0
- nexj:ilm:Lead:1.0
- nexj:leaf:Leaflet:1.0
- nexj:rules:CreateActivityPlanCommandClient:1.0
- nexj:rules:CreateTaskCommandClient:1.0
- nexj:rules:MessageActionCommandClient:1.0
- nexj:rules:Rule:1.0
- nexj:rules:SetActionCommandClient:1.0
- nexj:soa:Audit:1.0
- nexj:soa:Bulletin:1.0
- nexj:soa:ConversationService:1.0
- nexj:soa:DataMatchService:1.0
- nexj:soa:DataMatchServiceConfiguration:1.0
- nexj:soa:DesktopBeaconPushService:1.0
- nexj:soa:DesktopPushService:1.0
- nexj:soa:DesktopStreamRefreshPushService:1.0
- nexj:soa:EmailNotificationService:1.0
- nexj:soa:MobilePushService:1.0
- nexj:soa:NotificationService:1.0
- nexj:soa:PortalIntegration:1.0
- nexj:soa:PortletRegistry:1.0
- nexj:soa:Registry:1.0
- nexj:soa:SubscriptionEngineService:1.0
- nexj:soa:UserRegistry:1.0
- nexj:soa:UserRegistryClient:1.0
- nexj:sso:Authentication:1.0
- nexj:ui:ObjectComponentClient:1.0
- nexj:ui:UIComponent:1.0
- nexj:ui:UIComponentClient:1.0
- nexj:ui:WorkQueueItemRelatedObject:1.0
The suggested attributes and values are the same for all SOA connections.
Generic SOA connection settings for a typical NexJ CRM deployment
Attribute | XML attribute and notes | Value |
---|---|---|
Service | service The service associated with the connection. | <servicename> |
Address | address The host (and port if applicable) must be that of the target service server. | <http://hostname:port/nexj/text> |
Binding | binding The binding for connecting to the service. Overrides the binding from the registry. | context |
Authentication | auth The authentication mode for connecting to the service. Overrides the authentication mode from the registry. | basic |
User | user User name used to log into the service. | < Service_User_ID > |
Password | password The password corresponding to the service user ID. | <Service_Password> |
Example XML environment file for NexJ CRM deployment on Model Server
The settings from the previous sections are reflected in the following example environment file:
<Environment
authDomain="<EXAMPLE.COM>"
authService="<HTTP/localhost.example.com>"
batchEmailRecipientListEnabled="false"
batchNotifications="false"
birthdayMailerEnabled="false"
callRecordsEnabled="false"
clientPerfStatusEnabled="true"
clientPerfStatusMobileRedCriteria="1500 45 400 30"
clientPerfStatusMobileYellowCriteria="750 45 200 15"
currencyConversionEnabled="false"
description="Local machine with the bootstrap container in the default location"
emailDraftEnabled="false"
emailSignatureEnabled="false"
emailToServiceRequest="false"
hierarchySecurityEnabled="false"
httpForbiddenEnabled="true"
httpGZip="true"
httpReportURL="<http://server.example.com:port/reporting>"
httpURL="<http://server.example.com:port/nexj/>"
journalDirectory="tx${test.clone}"
location="c:\java\container\deploy"
materialDesign="false"
messageUser="nexjsa"
nameChangeContextAudit="true"
password="<Deployment_Password>"
persistentSession="true"
pollPeriod="300000"
previewThreshold="202400"
pushPassword="<Push_Password>"
pushRedirectorURL="<http://localhost:port/nexj/pushRedirect>"
pushServerURLs="<http://app1.local:8080/nexj/push http://app2.local:8080/nexj/push>"
pushType="streaming"
pushUser="<Push_ID>"
readAudit="none"
rest.configMetadata="CRMRestAPIConfig"
rest.schemaBase="CRMSchemaBaseJSON"
rest.version="1.0.0"
rpcPrivilege="InternalManage"
ruleSLA="false"
secureTransport="false"
tagsEnabled="false"
type="Generic"
uowListenerEnabled="false"
updateAudit="false"
user="<Deployment_ID>">
<PKIKeyPairs>
<PKIKeyPair keystore="<keystore>" name="<adminID>" password="testPass"/>
</PKIKeyPairs>
<DataSourceConnections>
<RelationalDatabaseConnection
adapter="MSSQL"
database="<Database_Name>"
host="<localhost>"
password="<Database_Password>"
path="jtds-1.2.2-9.jar"
port="1433"
user="<Database_User>">
<DataSource name="DefaultRelationalDatabase"/>
<DataSource name="rules:Rules"/>
<DataSource name="uicomp:UIComponent"/>
<DataSource name="Conversation"/>
<DataSource name="ecr:ECR"/>
<DataSource name="msg:Messaging"/>
<DataSource name="SessionDatabase"/>
<DataSource name="flow:Flow"/>
<DataSource name="StagingDatabase"/>
<DataSource name="call:Call"/>
<DataSource name="sso:SSO"/>
<DataSource name="StatDatabase"/>
<DataSource name="AuditLogDatabase"/>
<DataSource name="LockDatabase"/>
<DataSource name="portal:Portal"/>
<DataSource name="bp:CPM"/>
<DataSource name="inform:Inform"/>
</RelationalDatabaseConnection>
<RelationalDatabaseConnection
adapter="Oracle11g"
database="<Database_Name>"
host="<localhost>"
password="<Database_Password>"
path="ojdbc14.jar"
port="1521"
user="<Database_User>">
<DataSource name="ObjectQueueDatabase"/>
</RelationalDatabaseConnection>
<RelationalDatabaseConnection
adapter="MSSQL"
database="<Database_Name_BI>"
host="<localhost>"
password="<Database_Password>"
path="jtds-1.2.2-9.jar"
port="1433"
user="<Database_User>">
<DataSource name="BI_1_BI_Database"/>
</RelationalDatabaseConnection>
<FileStorageConnection
adapter="Generic"
dataDirectory="C:\file\attachment\data"
temporaryDirectory="C:\file\attachment\temp">
<DataSource name="Attachment"/>
<DataSource name="FileExport"/>
</FileStorageConnection>
</DataSourceConnections>
<ChannelConnections>
<MessageQueueConnection channel="ErrorQueue" password="<JMS_Queue_Password>" user="<JMS_Queue_User_ID>/>
<MessageQueueConnection channel="RetryQueue" password="<JMS_Queue_Password>" user="<JMS_Queue_User_ID>"/>
<MailConnection channel="Mail" from="<outmail@example.com>" inFolder="INBOX" inHost="<mailserver.example.com>" inProtocol="pop3" outHost="<outmailserver.example.com>" outProtocol="smtp" outReadTimeout="60000" outWriteTimeout="60000" password="<Email_Password>" user="<user.name@example.com>"/>
<HTTPConnection authentication="basic" channel="ExchangeEWSSender" password="<HTTP_User_Password>" secure="true" trust="<certificateFile>" url="https://<host>/ews/Exchange.asmx" user="<HTTP_User_ID>"/>
<HTTPConnection authentication="credential" channel="ExchangeEWSSender2" password="<HTTP_User_Password>" secure="true" trust="<certificateFile>" url="https://<host>/ews/Exchange.asmx" user="<HTTP_User_ID>"/>
<HTTPConnection authentication="basic" channel="ExchangeEWSSender3" password="<HTTP_User_Password>" secure="true" trust="<certificateFile>" url="https://<host>/ews/Exchange.asmx" user="<HTTP_User_ID>"/>
<HTTPConnection authentication="none" channel="ExchangeEWSNotificationReceiver"/>
<HTTPConnection channel="BESNotificationSender" password="<HTTP_User_Password>" secure="true" trust="<certificateFile>" user="BESPushTest"/>
<HTTPConnection authentication="none" channel="JasperReportData"/>
<HTTPConnection authentication="perimeter" channel="JasperServer"/>
<HTTPConnection authentication="none" channel="NotificationUnsubscribeChannel" password="<HTTP_User_Password>"/>
<FileConnection channel="ReportingOutputFileChannel" outgoingDirectory="C:\<file>\fileChannels\reporting\"/>
<HTTPConnection channel="inform:ArticleSearch" trust="<certificate>" url="<url_provided_by_Grapevine6>"/>
<HTTPConnection channel="rest:OpenAPI"/>
<HTTPConnection channel="rest:REST"/>
<HTTPConnection channel="rest:SelectionOptions"/>
<HTTPConnection authentication="basic" channel="inform:RelatedObject" password="<password>" trust="<certificate>" url="<http://server.example.com:port>/nexj/channel/rest:REST" user="informUser"/>
</ChannelConnections>
<SOAConnections>
<SOAConnection auth="perimeter" binding="context" service="nexj:act:ActivityPlan:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:act:ActTemplate:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:act:ApprovalObject:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:act:DocumentService:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:act:Task:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:call:InboundCall:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:crm:AssignmentModel:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:crm:EntityParticipation:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:crm:UserPerson:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:flow:FlowObject:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:flow:QuestionnaireService:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:flow:SecurityDelegateService:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:ilm:DistributeActionCommandClient:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:ilm:Lead:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:leaf:Leaflet:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:rules:CreateActivityPlanCommandClient:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:rules:CreateTaskCommandClient:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:rules:MessageActionCommandClient:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:rules:Rule:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:rules:SetActionCommandClient:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:Audit:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:Bulletin:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:ConversationService:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:DataMatchService:1.0">
<Properties>
<Property name="system" value="#t"/>
</Properties>
</SOAConnection>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:DataMatchServiceConfiguration:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:DesktopBeaconPushService:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:DesktopPushService:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:DesktopStreamRefreshPushService:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:EmailNotificationService:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:MobilePushService:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:PortalIntegration:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:PortletRegistry:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:Registry:1.0">
<Properties>
<Property name="system" value="#t"/>
</Properties>
</SOAConnection>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:SubscriptionEngineService:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:UserRegistry:1.0">
<Properties>
<Property name="system" value="#t"/>
</Properties>
</SOAConnection>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:UserRegistryClient:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:ui:ObjectComponentClient:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:ui:UIComponent:1.0">
<Properties>
<Property name="system" value="#t"/>
</Properties>
</SOAConnection>
<SOAConnection auth="perimeter" binding="context" service="nexj:sso:Authentication:1.0">
<Properties>
<Property name="system" value="#t"/>
</Properties>
</SOAConnection>
<SOAConnection auth="perimeter" binding="context" service="nexj:crm:Person:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:crm:User:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:crm:Household:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:crm:Task:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:ui:WorkQueueItemRelatedObject:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:crm:ScheduleItem:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:crm:Note:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:crm:Interaction:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:soa:NotificationService:1.0"/>
<SOAConnection auth="perimeter" binding="context" service="nexj:ui:UIComponentClient:1.0"/>
</SOAConnections>
</Environment>
Using the environment file as a template with a .properties file
You can use the example environment file above to create an environment file that can be used as a template for multiple environments. I t would be similar to the example, but some of the values would be replaced with variables. For example, in the example environment file above, a relational database connection could be defined with the following settings:
<RelationalDatabaseConnection adapter="MSSQL" database="finance" host="localhost" password="nexj" path="jtds-1.2.2-9.jar" port="1433" user="nexj">
In an environment file used as a template, it would be defined with the following settings instead:
<RelationalDatabaseConnection adapter="${RelationalDatabaseConnection.Adapter}" database="${RelationalDatabaseConnection.DEF.Db.Name}${test.clone}" host="${RelationalDatabaseConnection.Db.Host}" password="${RelationalDatabaseConnection.Db.Password}" path="${RelationalDatabaseConnection.Db.Path}" port="${RelationalDatabaseConnection.Db.Port}" user="${RelationalDatabaseConnection.Db.User}">
You would then also need to create one or more .properties files that refer to specific databases used in different deployment environments. For example, you can create a DeploymentMSSQL.properties file that contains the following code:
RelationalDatabaseConnection.Adapter=MSSQL
RelationalDatabaseConnection.DEF.Db.Name=finance
RelationalDatabaseConnection.Db.Host=localhost
RelationalDatabaseConnection.Db.Password=nexj
RelationalDatabaseConnection.Db.Path=jtds-1.2.2-9.jar
RelationalDatabaseConnection.Db.Port=1433
RelationalDatabaseConnection.Db.User=nexj
You could also create a DeploymentOracle.properties file that contains the following code:
RelationalDatabaseConnection.Adapter=Oracle11g
RelationalDatabaseConnection.DEF.Db.Name=finance
RelationalDatabaseConnection.Db.Host=localhost
RelationalDatabaseConnection.Db.Path=ojdbc14.jar
RelationalDatabaseConnection.Db.Port=1521
RelationalDatabaseConnection.Db.User=nexj_dba
Both of these .properties files would need to specify the config setting to refer to the environment file that is being used as a template. For example:
config=Deployment.environment
All the settings described in this topic can be included in an .environment file used as a template, either with either variable or constant values.