Unable to automatically create branches in "Managed Git Repository" for JBoss BRMS 6.2
Environment
- Red Hat JBoss BRMS (BRMS) 6.2
Issue
- By trying to create a
Managed Git Repositoryin business central withAutomatically Configure Branchesset, the repository gets created. However, only themasterbranch is created, it is missing thedevandreleasebranches. - It seems like the
Automatically Configure Branchesoption when creating aManaged Git Branchis not working properly in BPMS 6.2. After setting this option, only the master branch gets created.DevandReleasebranches are not created and there is a warning message inserver.log:
10:44:46,286 WARN [org.jbpm.executor.impl.AbstractAvailableJobsExecutor] (EJB default - 8) Error during command org.guvnor.asset.management.backend.command.CreateBranchCommand error message Unknown Command implementation with name 'org.guvnor.asset.management.backend.command.CreateBranchCommand': java.lang.IllegalArgumentException: Unknown Command implementation with name 'org.guvnor.asset.management.backend.command.CreateBranchCommand'
at org.jbpm.executor.impl.ClassCacheManager.findCommand(ClassCacheManager.java:60) [jbpm-executor-6.3.0.Final-redhat-5.jar:6.3.0.Final-redhat-5]
...
Resolution
As the issue happens due to the business-central and kie-server using the same database, there are two options to fix it:
- if you do not use
kie-serverundeploy it; - if you use
kie-server, configure it with different database (via different data source). Please refers to How to configure BPMS 6 to use an external Database? to obtain further details regarding configuring an external database forbusiness-centralorkie-server.
Note: For testing purpose, you do not need to configure BRMS with external database - though it is certainly advised in production. You still could use the embedded H2 database but just use a different instance.
If kie-server.war is using jBPM extension then by default, it uses the same datasource as used by business-central.war: java:jboss/datasources/ExampleDS. So, as a quick test you can also configure kie-server.war with different H2 embedded database (i.e. put this in the standalone.xml):
<datasource jndi-name="java:jboss/datasources/KieServer" pool-name="KieServerDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:mem:kieServer;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
and then configure standalone.xml properties like this:
<property name="org.kie.server.persistence.ds" value="java:jboss/datasources/KieServer"/>
Root Cause
It fails due to the business-central and kie-server configured with the same database and thus kie-server might executor pick up jobs submitted by business-central. In general, kie-server and business-central should not share database due to this exact issue. Please refers to BZ-1305057 to obtain further details regarding this issue.
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
