The datasources for the components can be configured either in the application-externaldatasources.properties file or the application-jndidatasources.properties . When configuring external datasources, the externaldatasources profile should be enabled. When configuration JNDI datasources the jndidatasources profile should be enabled. JDBC datasources Code Block |
---|
language | powershell |
---|
title | application-externaldatasources.properties |
---|
collapse | true |
---|
| ### Comments SQL Store ###
blueriq.datasource.comments-sql-store.tenants.google.url=jdbc:oracle:thin:@localhost:1521:orcl
blueriq.datasource.comments-sql-store.tenants.google.username=google
blueriq.datasource.comments-sql-store.tenants.google.password=welcome
blueriq.datasource.comments-sql-store.tenants.apple.url=jdbc:oracle:thin:@localhost:1521:orcl
blueriq.datasource.comments-sql-store.tenants.apple.username=apple
blueriq.datasource.comments-sql-store.tenants.apple.password=welcome
blueriq.datasource.comments-sql-store.driverClassName=oracle.jdbc.driver.OracleDriver
blueriq.hibernate.comments-sql-store.hbm2ddl.auto=validate
blueriq.hibernate.comments-sql-store.dialect=org.hibernate.dialect.Oracle12cDialect
### Process SQL Store ###
blueriq.datasource.process-sql-store.tenants.google.url=jdbc:oracle:thin:@localhost:1521:orcl
blueriq.datasource.process-sql-store.tenants.google.username=google
blueriq.datasource.process-sql-store.tenants.google.password=welcome
blueriq.datasource.process-sql-store.tenants.apple.url=jdbc:oracle:thin:@localhost:1521:orcl
blueriq.datasource.process-sql-store.tenants.apple.username=apple
blueriq.datasource.process-sql-store.tenants.apple.password=welcome
blueriq.datasource.process-sql-store.driverClassName=oracle.jdbc.driver.OracleDriver
blueriq.hibernate.process-sql-store.hbm2ddl.auto=validate
blueriq.hibernate.process-sql-store.dialect=org.hibernate.dialect.Oracle12cDialect
### Trace SQL Store ###
blueriq.datasource.trace-sql-store.tenants.google.url=jdbc:oracle:thin:@localhost:1521:orcl
blueriq.datasource.trace-sql-store.tenants.google.username=google
blueriq.datasource.trace-sql-store.tenants.google.password=welcome
blueriq.datasource.trace-sql-store.tenants.apple.url=jdbc:oracle:thin:@localhost:1521:orcl
blueriq.datasource.trace-sql-store.tenants.apple.username=apple
blueriq.datasource.trace-sql-store.tenants.apple.password=welcome
blueriq.datasource.trace-sql-store.driverClassName=oracle.jdbc.driver.OracleDriver
blueriq.hibernate.trace-sql-store.hbm2ddl.auto=validate
blueriq.hibernate.trace-sql-store.dialect=org.hibernate.dialect.Oracle12cDialect
...
... |
JNDI datasources Code Block |
---|
language | powershell |
---|
title | application-jndidatasources.properties |
---|
collapse | true |
---|
| ### Comments SQL Store ###
blueriq.datasource.comments-sql-store.tenants.google.jndiName=java:/comp/env/jdbc/google
blueriq.datasource.comments-sql-store.tenants.apple.jndiName=java:/comp/env/jdbc/apple
blueriq.hibernate.comments-sql-store.hbm2ddl.auto=validate
blueriq.hibernate.comments-sql-store.dialect=org.hibernate.dialect.Oracle12cDialect
### Process SQL Store ###
blueriq.datasource.process-sql-store.tenants.google.jndiName=java:/comp/env/jdbc/google
blueriq.datasource.process-sql-store.tenants.apple.jndiName=java:/comp/env/jdbc/apple
blueriq.hibernate.process-sql-store.hbm2ddl.auto=validate
blueriq.hibernate.process-sql-store.dialect=org.hibernate.dialect.Oracle12cDialect
### Trace SQL Store ###
blueriq.datasource.trace-sql-store.tenants.google.jndiName=java:/comp/env/jdbc/google
blueriq.datasource.trace-sql-store.tenants.apple.jndiName=java:/comp/env/jdbc/apple
blueriq.hibernate.trace-sql-store.hbm2ddl.auto=validate
blueriq.hibernate.trace-sql-store.dialect=org.hibernate.dialect.Oracle12cDialect |
CMIS To configure CMIS in a multi-tenant environment, Blueriq supports setting the following properties per tenant: - user
- password
- servicesUrl
- repositoryId
The rest of the CMIS properties are the same for all tenants. See How to setup a CMIS connection for the further configuration. Note that it is not necessary to override the above properties for each tenant. If they are not defined for a tenant, the normal (not tenant-specific) properties are used. Below is a sample configuration for two tenants, where the 'google' tenant uses the standard servicesUrl, while the 'apple' tenant overrides this. Code Block |
---|
| # common
blueriq.cmis.services-url=http://host:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom
blueriq.cmis.object-type-id=D:my:objectType
blueriq.cmis.binding-type=atompub
# multi-tenant google
blueriq.cmis.tenants.google.user=admin
blueriq.cmis.tenants.google.password=adminpass
blueriq.cmis.tenants.google.repository-id=google
# multi-tenant apple
blueriq.cmis.tenants.apple.services-url=http://apple.local:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom
blueriq.cmis.tenants.apple.user=apple
blueriq.cmis.tenants.apple.password=applepassword
blueriq.cmis.tenants.apple.repository-id=apple
|
DCM Lists ServiceClientWhen multi-tenancy is enabled, the runtime will send the X-TENANT-ID HTTP header to the DCM lists service whenever an HTTP request is made. To use a separate RabbitMQ instance for each tenant, additional configuration is required in application-dcm-lists-client.properties . Code Block |
---|
language | text |
---|
title | application-dcm-lists-client.properties |
---|
collapse | true |
---|
| blueriq.dcm.lists-client.rabbitmq.tenants.google.host=localhost
blueriq.dcm.lists-client.rabbitmq.tenants.google.port=5672
blueriq.dcm.lists-client.rabbitmq.tenants.google.username=google
blueriq.dcm.lists-client.rabbitmq.tenants.google.password=welcome
blueriq.dcm.lists-client.rabbitmq.tenants.google.exchangeName=processEvents
blueriq.dcm.lists-client.rabbitmq.tenants.google.virtualHost=google
blueriq.dcm.lists-client.rabbitmq.tenants.google.queueNames=dcmListsService
blueriq.dcm.lists-client.rabbitmq.tenants.apple.host=localhost
blueriq.dcm.lists-client.rabbitmq.tenants.apple.port=5672
blueriq.dcm.lists-client.rabbitmq.tenants.apple.username=apple
blueriq.dcm.lists-client.rabbitmq.tenants.apple.password=welcome
blueriq.dcm.lists-client.rabbitmq.tenants.apple.exchangeName=processEvents
blueriq.dcm.lists-client.rabbitmq.tenants.apple.virtualHost=apple
blueriq.dcm.lists-client.rabbitmq.tenants.apple.queueNames=dcmListsService | DCM / Case EngineThe DCM module provides the Service call type: DCM_CaseCreate service call type that you can use to start a case by publishing data on a queue. The Case Engine will consume messages from the queue and start the case asynchronously. Below are examples on how to configure the RabbitMQ instance for each tenant. Code Block |
---|
language | text |
---|
title | application.properties |
---|
collapse | true |
---|
| blueriq.dcm.rabbitmq.tenants.google.host=localhost
blueriq.dcm.rabbitmq.tenants.google.port=5672
blueriq.dcm.rabbitmq.tenants.google.username=google
blueriq.dcm.rabbitmq.tenants.google.password=welcome
blueriq.dcm.rabbitmq.tenants.google.exchangeName=processEvents
blueriq.dcm.rabbitmq.tenants.google.virtualHost=google
blueriq.dcm.rabbitmq.tenants.apple.host=localhost
blueriq.dcm.rabbitmq.tenants.apple.port=5672
blueriq.dcm.rabbitmq.tenants.apple.username=apple
blueriq.dcm.rabbitmq.tenants.apple.password=welcome
blueriq.dcm.rabbitmq.tenants.apple.exchangeName=processEvents
blueriq.dcm.rabbitmq.tenants.apple.virtualHost=apple
|
Code Block |
---|
language | text |
---|
title | application-case-engine.properties |
---|
collapse | true |
---|
| blueriq.case.engine.rabbitmq.tenants.google.host=localhost
blueriq.case.engine.rabbitmq.tenants.google.port=5672
blueriq.case.engine.rabbitmq.tenants.google.username=google
blueriq.case.engine.rabbitmq.tenants.google.password=welcome
blueriq.case.engine.rabbitmq.tenants.google.virtualHost=google
blueriq.case.engine.rabbitmq.tenants.google.queueNames=dcmListsService
blueriq.case.engine.rabbitmq.tenants.apple.host=localhost
blueriq.case.engine.rabbitmq.tenants.apple.port=5672
blueriq.case.engine.rabbitmq.tenants.apple.username=apple
blueriq.case.engine.rabbitmq.tenants.apple.password=welcome
blueriq.case.engine.rabbitmq.tenants.apple.virtualHost=apple
blueriq.case.engine.rabbitmq.tenants.apple.queueNames=dcmListsService |
Default RabbitMQ multi-tenant propertiesBecause it can be tedious to configure all components of the Runtime with the same properties, a Default properties mechanism was added with Blueriq 16.7. The following example shows default rabbitmq properties in a multi-tenant setup. There you can see how you can configure rabbitmq properties per tenant which will then be used for each component that uses rabbitmq instead of specifying it per component. Because queue and exchange names are specific per component you still need to configure them as stated above. This configuration will be used for each component that has no specific properties configured (except the queue and/or exchange names). When neither specific nor default properties are configured for a tenant, the runtime will try to use the default rabbitmq properties for this tenant. Code Block |
---|
language | text |
---|
title | application-case-engine.properties |
---|
collapse | true |
---|
| blueriq.default.rabbitmq.tenants.google.host=localhost
blueriq.default.rabbitmq.tenants.google.port=5672
blueriq.default.rabbitmq.tenants.google.username=google
blueriq.default.rabbitmq.tenants.google.password=welcome
blueriq.default.rabbitmq.tenants.google.virtualHost=google
blueriq.default.rabbitmq.tenants.google.ssl.enabled=true
blueriq.default.rabbitmq.tenants.apple.host=localhost
blueriq.default.rabbitmq.tenants.apple.port=5672
blueriq.default.rabbitmq.tenants.apple.username=apple
blueriq.default.rabbitmq.tenants.apple.password=welcome
blueriq.default.rabbitmq.tenants.apple.virtualHost=DefaultEverest
blueriq.default.rabbitmq.tenants.apple.ssl.enabled=true |
Parameters can be configured at three levels for RabbitMQ or SQL-Datasources and MongoDB: - default properties
blueriq.default.rabbitmq.*
blueriq.default.datasource.*
blueriq.default.mongodb.* - default tenant-specific properties for all sources for that tenant:
blueriq.default.rabbitmq.tenants.<tenant_name>.*
blueriq.default.datasource.tenants.<tenant_name>.*
blueriq.default.mongodb.tenants.<tenant_name>.* - tenant and component specific properties
blueriq.<component>.<path>.rabbitmq.tenants.<tenant_name>.*
blueriq.datasource.<component>.tenants.<tenant_name>.*
blueriq.<component>.mongodb.tenants.<tenant_name>.*
The properties supersede each other from general to more specific. So any properties from the most general level (default properties) will be overwritten by the other more specific levels. Example configuration: Code Block |
---|
|