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.
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:
- Install the driver for your database. See Configuring JDBC database drivers for information on how to do this.
- Provide the connection details for the datasource. There are two options for this: using JDBC or JNDI.
Using JDBC datasource : this is configured in the
application-
file. When configuring external datasources, theexternaldatasources
.propertiesexternaldatasources
profile should be enabled.application-externaldatasources.propertiesblueriq.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>
Using JNDI datasource : this can be configured in the
application-
file. When configuring JNDI datasources thejndidatasources
.propertiesjndidatasources
profile should be enabled.blueriq.datasource.<datasource-name>.jndiName=<JNDI url>
- 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.
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
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
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
Configuration
Database
Scripts to create the required database content are provided for the following databases:
- Microsoft SQL Server
- Oracle
- H2 (we do not recommend using a H2 database in production environments)
For customers that are upgrading an existing version of Blueriq, database upgrade scripts are provided in the Upgrade instructions when applicable.
Use the following steps to configure the datasource:
- If necessary, create a new datasource. See Configuring JDBC database drivers for information on how to do this.
- Comments SQL Store component is using the comments-sql-store datasource to store data. The comments-sql-store datasource can be configured using JDBC or JNDI.
Using JDBC datasource : this can be configured in the
application-externaldatasources.properties
file. When configuring external datasources, theexternaldatasources
profile should be enabled.application-externaldatasources.propertiesblueriq.datasource.comments-sql-store.url=jdbc:sqlserver://<database_url>:<port>;databaseName=bq_comments;instance=SQL_EXPRESS blueriq.datasource.comments-sql-store.username=<username> blueriq.datasource.comments-sql-store.password=<password> blueriq.datasource.comments-sql-store.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver blueriq.hibernate.comments-sql-store.hbm2ddl.auto=validate blueriq.hibernate.comments-sql-store.dialect=org.hibernate.dialect.SQLServer2012Dialect
Using JNDI datasource : this can be configured in the
application-jndidatasources.properties
file When configuring JNDI datasources thejndidatasources
profile should be enabled.application-jndidatasources.propertiesblueriq.datasource.comments-sql-store.jndiName=java:/comp/env/jdbc/main blueriq.hibernate.comments-sql-store.hbm2ddl.auto=validate blueriq.hibernate.comments-sql-store.dialect=org.hibernate.dialect.SQLServer2012Dialect
- Configuring the datasource from the Development Dashboard
Go to Settings Widget → Datasources tab → On the left side menu : selectcomments-sql-store
datasource. The same properties are available for configuration as from the properties file. Make sure the corresponding profile is enabled (externaldatasources or jndidatasources) - Hibernate settings
These settings are done for each datasource type in the corresponding properties file, as in the examples above.
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 a H2 database in production environments)
Supported hbm2ddl.auto values:
- none
- validate