Grails Threading - PullRequest
       4

Grails Threading

1 голос
/ 08 июля 2011

Я пытаюсь уменьшить блокировку обработки ввода-вывода с помощью потокового приложения.По сути, я хочу вернуть ответ пользователю при обработке информации в фоновом режиме.Может кто-то указать мне верное направление ?Пожалуйста, срочно нужно решение.

Заранее спасибо

-Дополнительные комментарии

Я создаю интерфейсное веб-приложение, которое отправляет данные JSON на сервер для сохранения,Я хочу отправить ответ обратно пользователю, не дожидаясь транзакции с базой данных.Затем эта операция будет выполнена позже в фоновом режиме.

Ответы [ 4 ]

1 голос
/ 08 июля 2011

Я понятия не имею, будет ли он работать для вас (поскольку вы не указываете, какой у вас сценарий использования), но вы видели плагин Executor для Grails ?

Документы можно найти с источником на соответствующей странице github

0 голосов
/ 08 июля 2011

Есть плагин grails JMS , который будет использовать старый проверенный и действительный корпоративный метод асинхронного выполнения, отправляя сообщения службам grails и позволяя им происходить в потоках, управляемых платформой.

0 голосов
/ 08 июля 2011

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

При использовании базового ajax обычно один ответ возвращается от сервера после завершения запроса. Вы хотите, чтобы сервер отправил два уведомления клиенту / браузеру. один сразу после того, как сервер получил запрос, и один после завершения транзакции / запроса базы данных. Если это так, то, я полагаю, вас особенно не интересует асинхронность на стороне сервера (вышеизложенное может быть достигнуто с или без него). Асинхронность на стороне сервера является частью сервлета 3 и пружины 3.1. Grails не будет поддерживать это, пока Grails 2.0 не будет ссылаться здесь

Теперь, чтобы достичь вышеуказанного. Может быть, комета может помочь. пожалуйста, прочтите некоторые заметки здесь и здесь . С кометой у вас по существу двусторонняя связь между сервером. Таким образом, вы можете отправить уведомление клиенту в любое время. Таким образом, вы можете отправить один ответ клиенту сразу после запроса, а второй - после завершения транзакции базы данных.

0 голосов
/ 08 июля 2011

Почему бы вам не попробовать подход «производитель-потребитель».Вы можете посмотреть на плагин весенних событий http://www.grails.org/plugin/spring-events

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...