javax.servlet.ServletException: org.bonitasoft.console.common.server.utils.DefaultTenantIdException: Can't retrieve default tenant id

1
0
-1

Bonjour, Malgré tous les posts que j'ai pu trouvé en anglais ou en francais, je ne trouve pas de solution a mon soucis

Je veux installer bonita avec une base H2 en local. J'utilise le bundle BonitaBPMCommunity-6.1.2-Tomcat-6.0.37. Java client 7.60 et jdk1.6.0_45. OS windows server 2008 R2

A chaque fois je 'ai ce soucis lors du démarrage **: Can't retrieve default tenant id** Le problem vient p our moi d'un soucis du sous dossier bonita avec "client" et "server"

Si je comprends, un ID de tenant est associé a une base de données. ID_1 par contre n'accede pas a I_D2. Comment est généré l'ID du "tenant" ? Dans le dossier server ou client il faut que la conf soit similaire ?

Pour le reste voici la conf :

Voici mon fichier bitronix :

resource.ds1.uniqueName=jdbc/bonitaDSXA resource.ds1.minPoolSize=1 resource.ds1.maxPoolSize=10

For hibernate : see if we can set it to false

allowLocalTransactions=true

H2 example

resource.ds1.className=org.h2.jdbcx.JdbcDataSource resource.ds1.driverProperties.user=sa resource.ds1.driverProperties.password= resource.ds1.driverProperties.URL=jdbc:h2:tcp://localhost:9092/bonita_journal.db;MVCC=TRUE;DB_CLOSE_ON_EXIT=TRUE;IGNORECASE=TRUE; resource.ds1.testQuery=SELECT 1

bonita.xml

<!-- Configure Datasource -->       
<Resource name="bonitaDS" auth="Container" type="javax.sql.DataSource"
    factory="bitronix.tm.resource.ResourceObjectFactory" uniqueName="jdbc/bonitaDSXA" />

<!-- H2 Example -->
<Resource name="bonitaSequenceManagerDS"  
          auth="Container"  
          type="javax.sql.DataSource" 
          maxActive="17"  
          minIdle="5"  
          maxWait="10000"  
          initialSize="3" 
          validationQuery="SELECT 1"
          validationInterval="30000"
          removeAbandoned="true" 
          logAbandoned="true" 
          username="sa" 
          password=""
          driverClassName="org.h2.Driver" 
          url="jdbc:h2:tcp://localhost:9092/bonita_journal.db;MVCC=TRUE;DB_CLOSE_ON_EXIT=TRUE;IGNORECASE=TRUE;"/>

Server.xml

bonita-platform.properties

Try to inherit the property from the System properties

db.vendor=${sysprop.bonita.db.vendor:h2}

setenv.bat set DB_OPTS="-Dsysprop.bonita.db.vendor=h2"

Merci pour votre aide

Cordialement,

3 answers

1
+1
-1
This one is the BEST answer!

Bonsoir Emmanuel, j'ai trouvé la solution ! :) En effet, ce que je ne vous ai pas dit , c'est que le serveur sur lequel je travaillais avait un service bonita. Seulement celui ci avait été initialisé grace a un fichier bat qui déclarait vendor:sqlserver et non h2 !!! :) Et vous aviez raison. Le bundle généré tout neuf lui fonctionne très bien lorsqu'on lance startup.bat A cause du service déclaré avec une autre base, il m'etait impossible de trouver la solution. J'ai donc désinstallé le service et reinstallé avec le petit fichier pour l'installation du service. Maintenant tout est ok, les dossiers "tenants" dans bonita ( client et server) sont générés et en plus mon service fonctionne nickel

Merci de vous être intéréssé a mon topic.

Bonne soirée

Raphael

1
0
-1

Bonjour emmanuel Merci pour votre réponse. J'ai mis "tout le monde" avec tous les droits pour le dossier "BonitaBPMCommunity-6.1.2-Tomcat-6.0.37"

Les messages révélateurs dans le fichier **bonita.2014-12-09.log ** sont :

déc. 09, 2014 1:09:41 PM org.bonitasoft.engine.api.internal.servlet.EngineInitializerListener contextInitialized GRAVE: Error while initializing the Engine

.......

déc. 09, 2014 1:09:41 PM org.bonitasoft.console.common.server.servlet.PlatformTenantListener contextInitialized GRAVE: Error while initializing the default tenant

..... déc. 09, 2014 1:13:39 PM org.bonitasoft.console.common.server.login.servlet.LoginServlet getTenantId GRAVE: Unable to get the default tenant.

enfin :

éc. 09, 2014 1:13:46 PM org.bonitasoft.console.common.server.login.servlet.LoginServlet doPost GRAVE: Error while trying to log in org.bonitasoft.engine.platform.NodeNotStartedException: The current node has not been started yet. Method PlatformAPI.startNode() must be called previously.

.......

Et donc je n'ai pas dans C:\apps\BonitaBPMCommunity-6.1.2-Tomcat-6.0.37\bonita\server et C:\apps\BonitaBPMCommunity-6.1.2-Tomcat-6.0.37\bonita\client les dossiers tenants avec un numéro d'identifiant.

D'ou le fait qu'il ne trouve pas le tenant id ? Quen pensez vous ?

merci

Raphael

1
0
-1

Bonjour,

Par défaut, le bundle Tomcat de BonitaBPM vient avec une base de données local H2 embarquée, déjà configurée ainsi. Vous n'avez donc rien à configurer pour pouvoir lancer le bundle Tomcat.

La plateforme s'initialize avec cette base de données au premier démarrage. Etes-vous sûr d'avoir les droits en écriture dans le bonita_home ? (par défaut dans le dossier [tomcat]/bonita)

Notifications