Page History
Configuration
The customerdata service is required by the Customerdata Client component, so when this component is used the following needs to be configured first.
External config location
For supplying configuration from an external location you need to configure the spring.config.additional-location
for the application. See the Config location section for your application platform on the page Installing Runtime
Create database
Scripts to create the required database content are provided for the following databases:
- SQL Server
- Oracle
- H2 (we do not recommend using a H2 database in production environments)
Use the appropriate scripts to create the tables on your database.
Datasource configuration
For the customerdata service to service to work, a datasource needs to be configured in applicationblueriq-customerdata-odata-service-v1.yml
. This file is placed in the following folder by the installer: <Blueriq installation folder>\Services\customerdata\conf
.
.
properties) is renamed to blueriq-customerdata-odata-service-v1.yml (or blueriq-customerdata-odata-service-v1.properties)Code Block | ||||
---|---|---|---|---|
| ||||
####################################################################### ## datasource configuration ## ####################################################################### blueriq: customerdata: datasource: customer-data-sql-store: url: <url> username: <username> password: <password> driver-class-name: org.h2.Driver validation-query: SELECT 1 testWhileIdle: true timeBetweenEvictionRunsMillis: 5000 defaultQueryTimeoutSeconds: 10 ####################################################################### ## Security configuration ## ## ## ## Here you can override the default username/password ## ####################################################################### spring: security: user: name: <username> password: '{noop}<password>' hibernate: dialect: org.hibernate.dialect.H2Dialect hbm2ddl: auto: validate id: new_generator_mappings: true show_sql: false use_nationalized_character_data: true | ||||
UI Text Box | ||||
Note |
---|
We recommend setting a validation query so that when a database connection is lost due to a network failure for instance, it can be recovered once the network is restored. The validation query is database specific, the query below works with SQL Server (and H2), for Oracle use |
Database query timeout
To specify database query timeout, in blueriq-customerdata-odata-service-v1.yml, set defaultQueryTimeoutSeconds
property under specified datasource.
If multiteneancy multi-tenancy enabled, when needed, the value has to be set for each datasource separately.
Without setting property, the default value is 60 seconds.
Example
For *.yml see example for customer-data-sql-store
datasource above
For *.properties type file:
Code Block |
---|
blueriq.customerdata.datasource.customer-data-sql-store.defaultQueryTimeoutSeconds=10 |
Info |
---|
For additional datasource configuration please see the #DATASOURCE section in the Spring property documentation |
Supported dialects:
- org.hibernate.dialect.SQLServer2012Dialect (for SQL Server)
- org.hibernate.dialect.Oracle12cDialect (for Oracle)
- org.hibernate.dialect.H2Dialect (for H2) (we do not recommend using support using a H2 database in production environments)
Supported hbm2ddl.auto values:
- none
- validate
Warning | ||
---|---|---|
UI Text Box | ||
| ||
For production systems, we strongly recommend to set this setting to | ||
When using H2, which is not suitable for production environments, the the |
JNDI
If you would like to use JNDI to configure your datasource, replace the blueriq.customerdata.datasource
section in the application.yml
described above with the following:
section in the blueriq-customerdata-odata-service-v1.yml
described above with the following:
Please note that when Jndi JNDI is your preferred resource configuration, the Customerdata Service needs differently named jndi JNDI resources for the customer-sql-store on the one hand, and the entity-event-manager on the other hand.
Code Block |
---|
blueriq: customerdata: datasource: customerdata-sql-store: jndi-name: java:jboss/datasources/myCustomerdataSqlStoreJndiName |
Database drivers
Depending on the underlying database, a specific driver needs to be installed on the application server as described on Configuring JDBC database drivers.
Case Insensitive searching for oracle
For MSSQL searching through case data is case insensitive by default. The default collation for Oracle is case sensitive and because of that searching in Case Data is case sensitive.
For Oracle we created the possibility to enable case insensitive searching, for more information how to enable it see: How to enable case insensitive search on case data for Oracle
The feature toggle has to be set to true to enable this feature.
Example:
Code Block | ||||
---|---|---|---|---|
| ||||
blueriq: customerdata: oracle: case-insensitive-search-enabled: true |
The case-insensitive search works on filtering text fields in aggregatelists, and using the "like" operator in searches.
Endpoint per aggregate type
Since Blueriq 10.4 it became possible to have different endpoints per aggregate type. In the schematic overview below is shown how having multiple endpoints per aggregate looks like. The
Include Page | ||||
---|---|---|---|---|
|
Include Page_PropertiesFileJava _PropertiesFileJava
_PropertiesFileJava | |
_PropertiesFileJava |
The following properties need to be set in the
Include Page | ||||
---|---|---|---|---|
|
Code Block | ||||
---|---|---|---|---|
| ||||
# Mandatory = default connection for every aggregate that does not have a custom connection blueriq.customerdata-client.url=http://localhost:10097/customerdata/api/v1 blueriq.customerdata-client.username=blueriq blueriq.customerdata-client.password=welcome # Optional - Custom connection(s) per aggregate type blueriq.customerdata-client.type.employee.url=http://localhost:20097/customerdata/api/v1 blueriq.customerdata-client.type.employee.username=blueriq blueriq.customerdata-client.type.employee.password=welcome blueriq.customerdata-client.type.departement.url=http://localhost:30097/customerdata/api/v1 blueriq.customerdata-client.type.departement.username=blueriq blueriq.customerdata-client.type.departement.password=welcome | ||||
UI Text Box | ||||
Note |
---|
The properties above contain the default settings, which are set by the Installer. If afterwards these settings are customized in the customerdata service they need to be changed in the Runtime as well. |