You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

Table of contents 

Description

The Comments SQL Store component adds the ability to connect your Runtime to a database for storing comments. It's an addition to the comment containers which are provided by the Dashboard component (see Container types), which use an in-memory DAO (for development purpose only) by default.

Requirements

This component persists data in a database, that must be provided. See platform support for the supported databases.

Installation

The Comments SQL Store component can be used together with the Dashboard component. In this case the comments from the dashboard will be saved using the CommentDao implementation from the Comments SQL Store component.

Add the artifact with groupId "com.blueriq" and artifactId "blueriq-component-comments-sql-store" as a dependency to your Blueriq runtime POM file if you want to depend on it.

In order to use this component, the comments-sql-store profile must be active. More information on how to configure the application using Spring Profiles can be found here : Application configuration with Spring Profiles.

Configuration

The name of the datasource is comments-sql-store.

Database

Scripts to create the required database content are provided for the supported databases.

For customers that are upgrading, if the database scheme was already created in a previous version, check to see if there are database upgrade scripts provided for any of the intermediate versions in the Upgrade Instructions.

Configuration

Use the following steps to configure the datasource:

  1. Install the driver for your database. See Configuring JDBC database drivers for information on how to do this.
  2. Provide the connection details for the datasource. There are two options for this: using JDBC or JNDI.
    1. Using JDBC datasource : this is configured in the  application-externaldatasources.properties file. When configuring external datasources, the externaldatasources profile should be enabled.

      application-externaldatasources.properties
      blueriq.datasource.<datasource-name>.url=<JDBC url>
      blueriq.datasource.<datasource-name>.username=<username>
      blueriq.datasource.<datasource-name>.password=<password>
      blueriq.datasource.<datasource-name>.driverClassName=<driver-class>


    2. Using JNDI datasource : this can be configured in the  application-jndidatasources.properties file. When configuring JNDI datasources the jndidatasources profile should be enabled.

      blueriq.datasource.<datasource-name>.jndiName=<JNDI url>


  3. Provide the appropriate Hibernate settings in the same properties file as step 2.
    blueriq.hibernate.<datasource-name>.dialect=<database-dialect>
    blueriq.hibernate.<datasource-name>.use_nationalized_character_data=true
    blueriq.hibernate.<datasource-name>.hbm2ddl.auto=validate                 # validate is the only supported value here


Example configuration

Below are configuration examples which contain a JDBC url, driver-class and dialect for each supported database.

Oracle
blueriq.datasource.<datasource-name>.url=jdbc:oracle:thin:@<host>:<port>/<servicename>
blueriq.datasource.<datasource-name>.username=<username>
blueriq.datasource.<datasource-name>.password=<password>
blueriq.datasource.<datasource-name>.driverClassName=oracle.jdbc.driver.OracleDriver

blueriq.hibernate.<datasource-name>.dialect=org.hibernate.dialect.OracleDialect
blueriq.hibernate.<datasource-name>.hibernate.use_nationalized_character_data=true
blueriq.hibernate.<datasource-name>.hbm2ddl.auto=validate


SQL Server
blueriq.datasource.<datasource-name>.url=jdbc:sqlserver://<host>:<port>;databaseName=<database>;trustServerCertificate=true
blueriq.datasource.<datasource-name>.username=<username>
blueriq.datasource.<datasource-name>.password=<password>
blueriq.datasource.<datasource-name>.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver

blueriq.hibernate.<datasource-name>.dialect=org.hibernate.dialect.SQLServer2012Dialect
blueriq.hibernate.<datasource-name>.hibernate.use_nationalized_character_data=true
blueriq.hibernate.<datasource-name>.hbm2ddl.auto=validate


PostgreSQL
blueriq.datasource.<datasource-name>.url=jdbc:postgresql://<host>:<port>/<database>
blueriq.datasource.<datasource-name>.username=<username>
blueriq.datasource.<datasource-name>.password=<password>
blueriq.datasource.<datasource-name>.driverClassName=org.postgresql.Driver

blueriq.hibernate.<datasource-name>.dialect=org.hibernate.dialect.PostgreSQLDialect
blueriq.hibernate.<datasource-name>.hibernate.use_nationalized_character_data=true
blueriq.hibernate.<datasource-name>.hbm2ddl.auto=validate