Bonita 7.6.x Docker image - MS SQL Server Driver

Hello everybody, I'm trying to run the 7.6 image version from Bonita on Docker, but I'm getting the following error:

bonita_1  | [ERROR] The driver class named 'com.microsoft.sqlserver.jdbc.SQLServerDriver' specified in 'internal.properties' configuration file, to connect to your 'sqlserver' database, cannot be found. Either there is an error in the name of the class or the class is not available in the classpath. Make sure the driver class name is correct and that the suitable driver is available in the lib/ folder and then try again.

Is there any workround? I'm starting the container using a docker-compose yml file:

version: '3'

services:
  bonita:
    image: bonita:7.6.1
    ports:
      - 8080:8080
      - 8443:8443
    environment:
      - DB_VENDOR=sqlserver
      - DB_HOST=MY_SQL_SERVER_IP
      - DB_PORT=1433
      - DB_NAME=bonitastandard
      - DB_USER=bonitaUser
      - DB_PASS=bonitaUser
      - BIZ_DB_NAME=bonitabusiness
      - BIZ_DB_USER=bonitaUser
      - BIZ_DB_PASS=bonitaUser
      - TENANT_LOGIN=install
      - TENANT_PASSWORD=inst4l!
    restart: on-failure:2

I'm pulling the image from:

https://hub.docker.com/_/bonita?tab=tags&page=1&ordering=last_updated&name=7.6 

Thanks!

The 7.6 docker image doesn't contain the mssql server jdbc driver for 2 reasons

  • at the time it has been build, the driver couldn't be included in the distribution because of the license of this jdbc driver
  • the Bonita bundle embedded within the Docker image is known not working with mssql server because of the Bitronix lib used to managed the XA transaction

This limitation was explained in the README of the docker image in the past, I haven't been unable to find them today but it is probably available in the history of a git repository.

 

To workaround your problem, you have to use a Bonita 7.9 version or superior to have a Docker image working with sql server. Starting from Bonita 7.9, the sqlserver jdbc drivers is packaged and there is no more issue with SQL Server when using the Bonita Bundle and Docker image.

More details in https://documentation.bonitasoft.com/bonita/7.9/release-notes#_jta_transaction_manager_replacement

I discourage you to try to modify the Docker Bonita 7.6 image by adding the sqlserver jdbc driver, as you are very likely to face Bitronix transaction issues.