|
|
|
Подскажите как лучше решить проблему
|
|||
|---|---|---|---|
|
#18+
Есть Tomcat и Spring. Через веб форму, загружаются файлы 10-20, которые надо прочитать в контроллере и потом отправить на другой сервер для сохранения(REST). Из-за времени, пока эти файлы загружаются на другой сервер все работает очень медленно. Как лучше подойти к этой задаче? Новый поток, очередь или еще чтото? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2012, 15:33:37 |
|
||
|
Подскажите как лучше решить проблему
|
|||
|---|---|---|---|
|
#18+
Очередь. Если надо быстр она коленке, то можно через спринговый @Async сделать. Будет примитивно без целостности и восстановления. Если посерьезнее, то очередь прикручивать ActiveMQ, например или что попроще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2012, 15:40:37 |
|
||
|
Подскажите как лучше решить проблему
|
|||
|---|---|---|---|
|
#18+
Я делаю через JMS, нажимаешь на аплоад - создается команда, кладется в очередь JMS, если команда успешно отправлена - контроллер заканчивает работу, на экране появляется надпись - Спасибо за аплоад, этот процесс может занять много времени - вы будете оповещены об окончании посредством email. JMS команда отрабатывает и отсылает email, какая то ошибка - тоже email ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2012, 15:42:17 |
|
||
|
Подскажите как лучше решить проблему
|
|||
|---|---|---|---|
|
#18+
забыл ник, дело в том, что нет возможности использовать JMS, или EJB (@Async от сюда? ). Что если при старте сервера запускать код, который смотрит в БД и не отправленные на сервер файлы для сохранения, отправляет их, затем удаляет их с диска и из базы. Такой вариант плохой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2012, 15:49:06 |
|
||
|
Подскажите как лучше решить проблему
|
|||
|---|---|---|---|
|
#18+
rdmзабыл ник, дело в том, что нет возможности использовать JMS, или EJB (@Async от сюда? ). http://static.springsource.org/spring/docs/3.0.5.RELEASE/reference/scheduling.html rdmЧто если при старте сервера запускать код, который смотрит в БД и не отправленные на сервер файлы для сохранения, отправляет их, затем удаляет их с диска и из базы. Такой вариант плохой? Хороший, кроме того что файловая система не транзакционна, поэтому файлы лучше хранить в базе. Вот и будет своя очередь вроде JMS-а. Надо только асинхронную задачу будить в нужное время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2012, 15:52:55 |
|
||
|
Подскажите как лучше решить проблему
|
|||
|---|---|---|---|
|
#18+
rdmЧто если при старте сервера запускать код, который смотрит в БД и не отправленные на сервер файлы для сохранения, отправляет их, затем удаляет их с диска и из базы. Такой вариант плохой? А если сервер будет работать 24\7? То есть по-любому надо писать шедулинг какой-то, можно кварц прикрутить. В общем-то Blazkowicz все правильно сказал - это и будет JMS на коленке) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2012, 17:01:03 |
|
||
|
Подскажите как лучше решить проблему
|
|||
|---|---|---|---|
|
#18+
забыл никТо есть по-любому надо писать шедулинг какой-то, можно кварц прикрутить. Мне скедулинг не очень нравится. Лучше просто тырка обработчика очереди пре старте сервера и при сабмите новой задачи. Хотя если задачи фейлятся, то можно скедулить следующий запуск. В общем, действительно, если много думать, нарисовывается JMS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2012, 17:05:05 |
|
||
|
Подскажите как лучше решить проблему
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, если я загружаю файлы через консольную программу, то получаю время загрузки примерно в 10 раз меньшее, чем при загрузке из контроллера Spring. Вызывается одинаковый метод. С чем это может быть связано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2012, 20:36:46 |
|
||
|
Подскажите как лучше решить проблему
|
|||
|---|---|---|---|
|
#18+
браузер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2012, 21:17:56 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37831535&tid=2131609]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
67ms |
get topic data: |
17ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 339ms |
| total: | 542ms |

| 0 / 0 |
