AnsweredAssumed Answered

Activiti with persistent database (bug using mysql?)

Question asked by pfeard on May 20, 2014
Latest reply on Jul 4, 2014 by martin.grofcik
Hi,

I've tried everything now. My goal is to have one database for the activiti explorer and the activiti rest API, so that if I change something via rest I also could see it in the activiti explorer. I already tried two attempts:

1. I tried to run the h2 database in server mode. Therefore I gave the command
java -cp h2-1.3.171.jar org.h2.tools.Server -tcpPort 2962
and and replaced the jdbc url:
jdbc.url=jdbc:h2:tcp://localhost:2962/~/test
like described in this post: http://forums.activiti.org/content/how-configure-activiti-explorer-and-rest-use-same-database

But I always got the message that the class
org.h2.tools.Server
could not be found.

2. I created a persistent database in mysql using phpMyAdmin and the following code in both db.properties files:

db=mysql
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/activiti?autoReconnect=true
jdbc.username=root
jdbc.password=

The database works fine and with this attempt I reached my goal that I can use both, the activiti explorer and the rest API.
but unfortunately now the resource URLs don't work anymore. For Example if I list the process definitions, I get several entries like this:

{
            "id": "createTimersProcess:1:37",
            "url": "http://localhost:8080/activiti-rest/service/repository/process-definitions/createTimersProcess%3A1%3A37",
            "key": "createTimersProcess",
            "version": 1,
            "name": "Create timers process",
            "description": "Test process to create a number of timers.",
            "deploymentId": "23",
            "deploymentUrl": "http://localhost:8080/activiti-rest/service/repository/deployments/23",
            "resource": "http://localhost:8080/activiti-rest/service/repository/deployments/23/resources/org%2Factiviti%2Fexplorer%2Fdemo%2Fprocess%2FcreateTimersProcess.bpmn20.xml",
            "diagramResource": null,
            "category": "Examples",
            "graphicalNotationDefined": false,
            "suspended": false,
            "startFormDefined": false
        }

But the resource URL
http://localhost:8080/activiti-rest/service/repository/deployments/23/resources/org%2Factiviti%2Fexplorer%2Fdemo%2Fprocess%2FcreateTimersProcess.bpmn20.xml
only responds with an Status 400 Bad Request.
If I compare the same behavior with an h2 database (only used by rest API and not by activiti explorer as described above), I get a resource URL like
http://localhost:8080/activiti-rest/service/repository/deployments/20/resources/VacationRequest.bpmn20.xml
which works perfectly as far as I have a h2 database.

I would appreciate any help of this issue, or is this even a bug in combination with mysql?

Outcomes