<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-osgi-integration</artifactId>
<version>6.5.0.Final</version>
</dependency>
KIE public API classes are backwards compatible (per series), but users often also use implementation classes (which are documented in the reference manual too). This upgrade recipe minimizes the pain to upgrade your code.
Every upgrade note has an indication how likely your code will be affected by that change:
The BRMS and BPM Suite version does NOT match the Drools version:
BRMS / BPM Suite version | Drools version |
---|---|
6.0 | 6.0 |
6.1 | 6.2 |
6.2 | 6.3 |
6.3 | 6.4 |
6.4 | 6.5 |
Apply the recipe of the apprepriate Drools version.
Because this is a new major version number (7.0), which is the foundation for the 7.x series for the next few years, it allows us to make backwards incompatible changes to the public API for the long term benefit of this project.
Our current intention is to keep these backwards incompatible changes to a strict minimum (by favoring deprecation over removal) and do not introduce any additional ones after 7.0.
Any backwards incompatible changes are annotated with a Public API badge.
If you’re using JRE or JDK 6 or 7, upgrade to JDK 8 or higher.
We currently intend to support a minimal version of Java 8 throughout the entire 7.x series.
OSGi integration artifacts were renamed from drools-*
to kie-*
. We have also renamed the Java package names from
org.drools.osgi
to org org.kie.osgi.
. The main reason for these changes is that the artifacts no longer contain just
Drools specific code, but also jBPM and OptaPlanner OSGi integration (KIE is the umbrella term for those three projects).
The change affects drools-osgi-integration
Maven artifact, Karaf features file URL and Spring’s OsgiKModuleBeanFactoryPostProcessor
:
Before in pom.xml
:
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-osgi-integration</artifactId>
<version>6.5.0.Final</version>
</dependency>
After in pom.xml
:
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-osgi-integration</artifactId>
<version>7.0.0.Final</version>
</dependency>
Before when using Karaf features file:
features:addurl mvn:org.drools/drools-karaf-features/6.5.0.Final/xml/features
After when using Karaf features files:
features:addurl mvn:org.kie/kie-karaf-features/7.0.0.Beta2/xml/features
Before in Spring configuration file:
<bean id="kiePostProcessor" class="org.drools.osgi.spring.OsgiKModuleBeanFactoryPostProcessor"/>
After in Spring configuration file:
<bean id="kiePostProcessor" class="org.kie.osgi.spring.OsgiKModuleBeanFactoryPostProcessor"/>
The KIE Drools Workbench WARs were renamed from kie-drools-wb-distribution-wars-<version>-<container>.war
to just kie-drools-wb-<version>-<container>.war
. In case you depend directly on the Maven GAV you need to change
the artifactId
:
Before in pom.xml
:
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-drools-wb-distribution-wars</artifactId>
<version>6.5.0.Final</version>
<type>war</type>
<classifier>wildfly10</classifier>
</dependency>
After in pom.xml
:
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-drools-wb</artifactId>
<version>7.0.0.Final</version>
<type>war</type>
<classifier>wildfly10</classifier>
</dependency>
Want to talk to the experts? Red Hat offers certified binaries with enterprise consulting. See services for more information.