Я столкнулся с ситуацией, похожей на нить за here. Разница в том, что мы не используем веб-сервис. Но мы используем веб-приложение. У нас есть требование, которое позволяет пользователю загружать 8000 записей с по меньшей мере 30 столбцами, которые записываются в файл excel через jxl.Какие шаблоны Java/Design могут использоваться для длительных синхронных процессов?
Это длительный процесс, который выполняется не асинхронно по причинам, которые я не знаю. Он также имеет огромный объем памяти ~ 500 - 800 МБ. В довершение всего, требуется 2 минуты и 10 секунд для завершения.
В настоящее время мы делегируем это требование из процесса с сервера приложений через jms. Сервер приложений отправляет запрос брокеру, а затем потребитель получает запрос из очереди, обрабатывает его и отправляет обратно URL-адрес файла excel.
У меня есть некоторые сомнения в этом, потому что я читал о JMS, и большинство предложенных нами приложений предполагают асинхронные запросы, так что пользователям не придется долго ждать, например, отправлять электронную почту, отправив запрос на утверждение, выставление счетов. В этом thread есть много примеров, и предлагаемые варианты использования могут выполняться асинхронно. Таким образом, наше текущее решение похоже на хак, а не на истинное решение.
Любые предложения, шаблоны, которые можно сделать для дальнейшего улучшения этого процесса?
EDIT: Я, к сожалению, не могу покончить с «синхронностью», если вы можете назвать это функцией, потому что это деловое требование. Поэтому я ищу ответы/трюки/трюки/шаблоны, которые могут повысить производительность и уменьшить использование памяти кучи процесса.
Думаю, вам стоит попытаться сохранить часть JMS но сделать весь процесс асинхронным. –