MySQL Config - Remove H2Listener Problem

I want to configure my Bonita BPM Studio Windows Version to use MySQL as database instead of h2.
I followed the documentation (http://documentation.bonitasoft.com/database-configuration-2) and also removed all h2 configs and files. Of course I also removed the H2Listener entry from the server.xml.
But in the Bonita Studio log file I always get the following error:

java.util.NoSuchElementException: Cannot find a Listener with classname org.bonitasoft.tomcat.H2Listener
at org.bonitasoft.studio.engine.server.PortConfigurator.findListenerWithClassName(PortConfigurator.java:171)
at org.bonitasoft.studio.engine.server.PortConfigurator.h2TCPPort(PortConfigurator.java:157)
at org.bonitasoft.studio.engine.server.PortConfigurator.h2PortInUse(PortConfigurator.java:110)
at org.bonitasoft.studio.engine.server.PortConfigurator.canStartH2Server(PortConfigurator.java:100)
at org.bonitasoft.studio.engine.BOSWebServerManager.createServer(BOSWebServerManager.java:361)
at org.bonitasoft.studio.engine.BOSWebServerManager.startServer(BOSWebServerManager.java:204)
at org.bonitasoft.studio.engine.BOSEngineManager.start(BOSEngineManager.java:132)
at org.bonitasoft.studio.application.job.StartEngineJob.run(StartEngineJob.java:46)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

The portal is not starting. What can I do? Is something missing, what is not documented?

Studio Community can only be used with H2 database, it cannot be used with any other database.

What you are referring too is only for the Bundle Portal production service.

regards
Seán

The way i would do this is,

have a development environment, your machine
have a testing environment, possibly a VM, but not your own machine because of Apache
have a User Acceptance environment, a separate machine
and finally production, obviously a different machine all together

Development is never like any of the others simply because it has development tools.

Testing is unit testing, are you as a developer satisfied, and does it work. This can look like prod even if it isn’t prod.

UAT is where the user sees the product and can criticize the cr@p out of all your hard work. This can look like prod even if it isn’t prod.

and finally prod where users have to put up with the cr@p of all your hard work.

Been there, seen it, and done it…and it works :slight_smile:

absolutely no need to restrict yourself to a single copy of the product

regards
Seán

java.util.NoSuchElementException: Cannot find a Listener with classname org.bonitasoft.tomcat.H2Listener
at org.bonitasoft.studio.engine.server.PortConfigurator.findListenerWithClassName(PortConfigurator.java:171)
at org.bonitasoft.studio.engine.server.PortConfigurator.h2TCPPort(PortConfigurator.java:157)
at org.bonitasoft.studio.engine.server.PortConfigurator.h2PortInUse(PortConfigurator.java:110)
at org.bonitasoft.studio.engine.server.PortConfigurator.canStartH2Server(PortConfigurator.java:100)
at org.bonitasoft.studio.engine.BOSWebServerManager.createServer(BOSWebServerManager.java:361)
at org.bonitasoft.studio.engine.BOSWebServerManager.startServer(BOSWebServerManager.java:204)
at org.bonitasoft.studio.engine.BOSEngineManager.start(BOSEngineManager.java:132)
at org.bonitasoft.studio.application.job.StartEngineJob.run(StartEngineJob.java:46)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54).

Have you managed to fix the error above please assist with steps to fix it if you managed to sort it out.

If you are trying to develop processes with mySQL this is still OK, just install mySQL on the same PC and reference it by COnnector JDBC calls.

This is how everyone else does it.

Or is there another reason you want to use a different database?

regards

During development, I want to have as near as possible the same environment as for production.
The databases h2 and mysql are very different, and so I don’t want to risk, to have different behaviors between development and production.
Currently I’m evaluating different bpm software, and this would be very bad, if I could not use different databases during development.

Is this only possible in a payed version perhaps?

Yes, this would also be the way we would work.
But in some cases it is the best, to have the environment as near to the productive system as possible.
One of this cases are databases, which vary more than some believe. Even when using Hibernate, we caused differences when changing the database.
And as developer, I really do not want see these bugs/problems in the test environment first. This would cost to much time.
I do not understand why it is not supported in the Studio version, when the system can handle it?

Another reason, why I want to use another db in the studio is, that I want to read the history data, to create performence reports of the assignees. But this tool would be not in Java, and would not have an abstraction like Hibernate. So, I need to have the same sql syntax in every environment.

I really do not understand, why to limit the studio version to a single db engine, when it can handle different engines. The nice thing of the studio is, that it really assists the developer a lot, but has this strange kind of drawback.