Заканчиваю работы по контейнеру сервлетов для JobCheck'а.
На прошлой неделе реализовал сессии. Наличествуют как глобальные, так и локальные. Под вопросом время жизни сессии. Нужно ли добавить и как лучше?
Попробовал все компоненты системы в действии. Убедился что ужасно не удобно то что получилось. Свой формат запросов ограничивает сферу использования, веб и т.п. сразу идет в печку. В итоге за три дня придумал как малой кровью изменить систему. Теперь можно манипулировать напрямую
HttpListenerContext. В заголовке приходит пространство имен, версия и название процессора. Доступны все возможности HttpListenerContext — куки там, редиректы и т.п. лабуда, если вдруг кому-то будет нужно.
Программист, который будет разрабатывать свое приложение на основе контейнера сервлетов сможет сам выбрать удобный для него способ передачи параметров. Хоть в заголовке, хоть в теле, хоть в XML, хоть в YAML.
Добавил поддержку задач (Task). Все сервисы, которые есть в ядре основаны на этом механизме (задачи). Пользователь сам может добавлять задачи. Например можно написать задачу, которая будет вести мониторинг нагрузки на систему и в зависимости от этого динамически расширять пул потоков. Можно написать задачу, которая будет производить сокращение пула процессоров, если это зачем-то понадобится или любую другую задачу — например, если нужна платформа для обмена данными, которая будет по расписанию проверять наличие новых записей в обменной БД и производить с ними манипуляции.
Вот так :)