Учебники

jBPM5 — Пример

В этой главе мы возьмем пример, чтобы объяснить, как применять jBPM на практике. Задача состоит в том, чтобы использовать jBPM, чтобы решить, сядет ли пассажир на рейс или поезд, в зависимости от его дохода.

Этапы создания проекта остаются такими же, как и в проекте «Hello World». Откройте файл .rf в редакторе и увидите изменения, отмеченные красным —

Проект Hello World

Здесь мы изменили идентификатор потока правил (уникальный) и добавили переменный доход, так как мы будем выбирать маршрут на основе дохода пассажира.

Как установить переменную — Выберите кнопку редактирования, отмеченную красным.

Установить переменную

Нажмите кнопку Добавить

Список переменных

Появится следующий экран —

Экран Pops

Введите имя как доход и введите как целое число.

Изменить переменную

Нажмите ОК . Вы увидите переменную дохода, определенную сейчас.

Переменная определена

Изменения, которые нужно сделать в классе ProcessTest.java (класс для загрузки и запуска вашего процесса) —

Тест процесса

Map<String, Object> params = new HashMap<String, Object>();
params.put("income", 1200);

// start a new process instance
ksession.startProcess("vivek.ruleflow", params);

Вам необходимо создать MAP и установить значение в MAP и передать это значение перегруженному методу startProcess. Как показано, мы изменили идентификатор потока правил и, следовательно, использовали тот же идентификатор (vivek.ruleflow) в методе startProcess.

Перед запуском класса ProcessTest.java создайте POJO Passenger.java в том же пакете, что и ProcessTest.java.

public class Passenger {
   private String name;
   private int income;
   Getters and setters here
}

Теперь запустите класс ProcessTest.java как Java-приложение и посмотрите результат:

ProcessTest

Изменить значение — params.put («доход», 900); и повторно запустите класс и увидите изменение в выводе.