Загрузить изображение для проекта: 'Citeck Community'
  1. Citeck Community
  2. ECOSCOM-5000

Add camunda variables protection against invalid values

    XMLWordДля печати

Детали задачи

    • Icon: История История
    • Решение: Готово
    • Icon: High High
    • Community 4.3
    • Не заполнено
    • Не заполнено
    • Не заполнено
    • ECOS 28.02-10.03
    • Не требуется

    Описание

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

      1. Теряется всякая возможность работать с задачей через интерфейс и через код. Единственный вариант - лезть в БД и удалять оттуда ломающие переменные.
      2. Если где-то идет работа с пачкой задач (журнал задач например), то весь запрос падает из-за одной сломанной задачи. Т.о. без правок в БД мы теряем возможность работать не только с проблемной задачей, но и со всеми другими, данные по которым запрашиваются в том же самом запросе.

      Для воспроизведения достаточно такого скрипта:

      execution.setVariable("testArr", ["abc"]);

      Нужно реализовать один из двух вариантов:

      1. Переменные, которые мы не поддерживаем не должны записываться в БД (можно null вместо них писать или кидать ошибку еще до завершения транзакции).
      2. При запросе переменных задачи в случае проблем с десериализацией не должен падать весь запрос. Вместо значения проблемных переменных можно вернуть null.

      Вложенные файлы

        Активность

          Люди

            roman.makarskiy@citeck.ru Roman Makarskiy
            pavel.simonov@citeck.ru Pavel Simonov
            Голоса:
            0 Голосовать за эту задачу
            Наблюдатели:
            2 Начать наблюдение за этой задачей

            Даты

              Создано:
              Обновленo:
              Дата решения:

              Учет времени

                Оценка:
                Первоначальная оценка - 5 часы
                5h
                Осталось:
                Оставшееся время - 0 минуты
                0m
                Затрачено:
                Затраченное время - 5 часы
                5h