В этой главе мы возьмем пример, чтобы объяснить, как применять jBPM на практике. Задача состоит в том, чтобы использовать jBPM, чтобы решить, сядет ли пассажир на рейс или поезд, в зависимости от его дохода.
Этапы создания проекта остаются такими же, как и в проекте «Hello World». Откройте файл .rf в редакторе и увидите изменения, отмеченные красным —
Здесь мы изменили идентификатор потока правил (уникальный) и добавили переменный доход, так как мы будем выбирать маршрут на основе дохода пассажира.
Как установить переменную — Выберите кнопку редактирования, отмеченную красным.
Нажмите кнопку Добавить —
Появится следующий экран —
Введите имя как доход и введите как целое число.
Нажмите ОК . Вы увидите переменную дохода, определенную сейчас.
Изменения, которые нужно сделать в классе 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-приложение и посмотрите результат:
Изменить значение — params.put («доход», 900); и повторно запустите класс и увидите изменение в выводе.