Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This Trace SQL Store Component contains a Trace DAO implementation that can be used by the trace engine to store trace messages in a database.

Blueriq 14.8 introduces introduced the possibility to consume trace events that are pushed on a queue by the Trace Event Publisher Component and then store them in a database in an asynchronous way. See consume trace events.

...

In order to use this component, the

Include Page
_ProfileTrace
_ProfileTrace
or Include Page_ProfileTraceWithoutTimeline_ProfileTraceWithoutTimeline (Blueriq 14.6 and onwards) profile must be active. More information on how to configure the application using Spring Profiles can be found here: Component configuration with Spring Profiles.

The latter profile This component will only write trace message to the database and not timeline messages. See Timeline SQL Store component for writing timeline messages to a separate database.

Add the artifact with groupId "com.blueriq" and artifactId "blueriq-component-trace-sql-store" as a dependency to your Blueriq runtime POM file if you want to depend on it.The trace can be used in different settings, to configure how the trace will behave, and how the timeline will behave. In the table below, different combinations of Include Page_PropertiesBootstrap_PropertiesBootstrap are explained:

...

...

Configuration

Database

Scripts to create the required database content are provided for the following databases:

...

  1. If necessary, create a new datasource. See Configuring JDBC database drivers for information on how to do this.
  2. Trace SQL Store component is using the trace-sql-store datasource to store data. The trace-sql-store datasource can be configured using JDBC or JNDI.
    1. Using JDBC datasource : this can be configured in the  application-externaldatasources.properties

      Include Page
      _PropertiesExternalDatasources
      _PropertiesExternalDatasources
      file. When configuring external datasources, the
      Include Page
      _ProfileExternalDatasources
      _ProfileExternalDatasources
      profile should be enabled.

      Code Block
      languagepowershell
      titleapplication-externaldatasources.properties
      blueriq.datasource.trace-sql-store.url=jdbc:sqlserver://<database_url>:<port>;databaseName=bq_comments;instance=SQL_EXPRESS
      blueriq.datasource.trace-sql-store.username=<username>
      blueriq.datasource.trace-sql-store.password=<password>
      blueriq.datasource.trace-sql-store.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
      blueriq.hibernate.trace-sql-store.hbm2ddl.auto=validate
      blueriq.hibernate.trace-sql-store.dialect=org.hibernate.dialect.SQLServer2012Dialect
    2. Using JNDI datasource : this can be configured in the  application-jndidatasources.properties file

      Include Page
      _PropertiesJndiDatasources
      _PropertiesJndiDatasources
      file. When configuring JNDI datasources the
      Include Page
      _ProfileJndiDatasources
      _ProfileJndiDatasources
      profile should be enabled.

      Code Block
      languagepowershell
      titleapplication-jndidatasources.properties
      blueriq.datasource.trace-sql-store.jndiName=java:/comp/env/jdbc/blueriqTrace
      blueriq.hibernate.trace-sql-store.hbm2ddl.auto=validate
      blueriq.hibernate.trace-sql-store.dialect=org.hibernate.dialect.SQLServer2012Dialect
  3. Configuring the datasource from the Development Dashboard
    Go to Settings Widget → Datasources tab → On the left side menu : select trace-sql-store datasource. The same properties are available for configuration as from the properties file. Make sure the corresponding profile is enabled (
    Include Page
    _ProfileExternalDatasources
    _ProfileExternalDatasources
    or
    Include Page
    _ProfileJndiDatasources
    _ProfileJndiDatasources
    )
  4. Hibernate settings
    These settings are done for apply to each datasource type in the corresponding properties file, as in the examples above.

...

  • 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:

...

  • validate

Consume trace events

...