Как установить переменные в scripttask?

Я создал процесс в activiti, и на одном из моих шагов в моем процессе, который является задачей сценария, мне нужно установить некоторые переменные, и я понятия не имею, как это можно сделать.

Моя задача сценария предполагает вставку данных в таблицу базы данных mysql.

Итак, мой вопрос: как я могу установить переменные в моей задаче сценария из класса java?

Это моя задача сценария:

      <script><![CDATA[

           importPackage(java.sql);
           importPackage(java.lang);
           importPackage(org.activiti.explorer.reporting);

           var p = ReportingUtil.getCurrentDatabaseConnection().prepareStatement("INSERT INTO risk VALUES (?, ?, ?)");


           p.setString(1, x);
           p.setString(2, y);
           p.setString(3, z);
           p.executeUpdate();


      ]]></script>

    </scriptTask>

Переменные, которые необходимо установить, это x, y и z.

Любые предложения о том, как это можно сделать?


person agiledevpro    schedule 13.08.2014    source источник


Ответы (2)


Если я не ошибаюсь, вы сможете создать класс Java, предоставляющий нужные вам значения, а затем добавить его как bean-компонент в файл activiti.cfg.xml. Затем этот bean-компонент будет доступен в вашем скрипте под идентификатором, который вы ему дали.

См. эту тему на форуме Activiti.

person Gwaptiva    schedule 17.08.2014

Вы можете установить значения x, y, z в переменных процесса и получить их в своем скрипте с помощью API.

x = исполнение.getVariable('procVarX')

person santiagop    schedule 19.09.2014