Я сталкиваюсь с ситуацией на работе, похожей на ветку здесь .Разница в том, что мы не используем веб-сервис.Но скорее мы используем веб-приложение.У нас есть требование, позволяющее пользователю загружать 8000 записей по крайней мере с 30 столбцами, которые записываются в файл Excel через jxl.
Это длительный процесс, который не выполняется асинхронно по неизвестным мне причинам.Он также имеет огромный объем памяти ~ 500 - 800 МБ.В довершение всего, это занимает в среднем 2 минуты и 10 секунд.
В настоящее время мы выполняем делегирование этого требования вне процесса с сервера приложений через jms.Сервер приложений отправляет запрос посреднику, а затем потребитель получает запрос из очереди, обрабатывает его и отправляет обратно URL-адрес файла Excel.
У меня есть некоторые сомнения по этому поводу, потому что я читал, что читал о JMS, и большинство предложенных вариантов использования включают асинхронные запросы, так что пользователям не придется долго ждать, как, например, отправка электронной почты, отправказапрос на согласование, выставление счетов.В этом потоке имеется множество примеров, и предлагаемые варианты использования могут выполняться асинхронно.Таким образом, наше текущее решение звучит как хак, а не как истинное решение.
Какие-либо предложения, шаблоны, которые можно сделать для дальнейшего улучшения этого процесса?
РЕДАКТИРОВАТЬ: Я, к сожалению, не могу покончить с "синхронностью", если вы можете позвонитьэто особенность, потому что это бизнес-требование.Поэтому я ищу ответы / твики / хитрости / шаблоны, которые могут повысить производительность и уменьшить использование динамической памяти процессом.