Тёрка в тагах


Друзья

Его(2) Общие(0) Хотят дружить(0)


  • Atrinax

  • Blackoff

  • login

  • login

  • login

  • login

Враги

Его(0) Общие(0) Обиженные(1)

Большая Тёрка / Мысли / Личная лента olegchir /


olegchir
Весь день пердолился с Wicket.
Постанова: есть отчеты в SQL, которые могут формироваться по полдня. Оптимизировать бесполезно (да я и не умею в этот ваш SQL).

А Wicket не умеет работать ни с долгоживущими процессами, ни с асинхронными обновлениями со стороны сервера. Причем, там так всё от души прибито гвоздями в Викете, что фиг оторвешь. Если просто запустить долгоживущий SQL запрос прямо в...
Читать далее
... контроллере викета — весь веб‑интерфейс виснет намертво.

Пришлось написать что‑то типа Task Manager в шиндовс. Каждый отдельный запрос кидается в Квазар (в наидефолтнейшей конфигурации), а внутри файбера уже выполняется SQL‑запрос через JdbcTemplate. Как только файбер что‑то посчитал — результат кладется в гуавовский кэш. А викет потом с помощью AbstractAjaxTimerBehavior постоянно мучает сервер и смотрит, появилось ли чего в кэше. В кэш также кладется JDBC Statement, чтобы даже если никакого результата еще нет, пользователь мог оборвать запрос.

Квазар подключается через добавление агента в томкате.
Документация по процессу подключения там какая‑то переусложненная, на деле достаточно кинуть в lib томката три джарки: comsat‑tomcat‑loader‑7.0.jar, guava‑19.0.jar и junit‑4.12.jar, и потом в context.xml прописать одну строчку:

Интересно, что начиная со Spring 4 класс SimpleJdbcTemplate дропнули (перед этим на протяжении Spring 3 он был deprecated). Но новый класс JdbcTemplate не умеет в состояние, соответственно я не могу оборвать слишком долгий SQL запрос посередине! Пришлось пойти вручную напердолить аналог удаленного SimpleJdbcTemplate. Спрашивается, зачем было удалять? Длинных SQL запросов больше не существует, 640 килобайт хватит всем?