powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / получения данных из потока в сервлете
21 сообщений из 21, страница 1 из 1
получения данных из потока в сервлете
    #39467307
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здравствуйте всем!
уважаемые хотел узнать ваши мнения по поводу нескольким вопросам.

Есть внешнее приложение (условно назову П1) , слушает папку out. Есть новое серверное приложение(П2), обслуживает веб-клиентов, которое и пишет «запросы»(от клиентов (приходят по ajax) в эту папку, ответы П1 помещает в папку in.

В П2 для прослушивания папки in используется с вотч сервис апи, он запускается в отдельном потоке при старте приложения П2. С появлением файла в папке он его читает и должен передать данные во вью. Вопрос - как в сервлете получить данные из потока — прочитанный файл.

со временем могут возникать и другие вопросы... :)

З.Ы. заранее всем спасибо! :)
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467324
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
- если ответ долгий, то почему не писать и читать из базы?
0 если быстрый, то почему П1 не может спросить П2 по url(rest)?
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467326
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

ну как бы П1 из далеких 70х и там не были такие понятия как рест и т.д. даже там все хранятся в файлах... вот по этому
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467362
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
там выше был вопрос. Сколько занимает ответ П70
?
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467459
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

исходя из ситуации от каких то секунд до исправления аварии
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467466
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар Вопрос - как в сервлете получить данные из потока — прочитанный файл.

Эти данные нужно поместить в какое либо общее хранилище - базу данных, синглтон, статическую переменную, временный файл и т.п.
Надежнее всего в БД.
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467469
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарздравствуйте всем!
уважаемые хотел узнать ваши мнения по поводу нескольким вопросам.

Есть внешнее приложение (условно назову П1) , слушает папку out. Есть новое серверное приложение(П2), обслуживает веб-клиентов, которое и пишет «запросы»(от клиентов (приходят по ajax) в эту папку, ответы П1 помещает в папку in.

В П2 для прослушивания папки in используется с вотч сервис апи, он запускается в отдельном потоке при старте приложения П2. С появлением файла в папке он его читает и должен передать данные во вью. Вопрос - как в сервлете получить данные из потока — прочитанный файл.

со временем могут возникать и другие вопросы... :)

З.Ы. заранее всем спасибо! :)

Ну...
Быстро, просто и не совсем правильно -
На веб клиенте пишется скрипт, который по таймауту делает запросы на сервлет.
Который проверяет папку in и выдает результат.

Чуть сложнее, это ч/з websocket.

:-)
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467474
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЭти данные нужно поместить в какое либо общее хранилище - базу данных, синглтон, статическую переменную, временный файл и т.п.
Надежнее всего в БД.

да об этом и думаю т.е. класс который прослушивает папку должен писать при получении запишет в базу правильно ли понял?

mad_nazgulНу...
Быстро, просто и не совсем правильно -
На веб клиенте пишется скрипт, который по таймауту делает запросы на сервлет.
Который проверяет папку in и выдает результат.

Чуть сложнее, это ч/з websocket.

не будем пойти по неправильной дорожке :)
да про вс тоже думаем... :)
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467520
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарда об этом и думаю т.е. класс который прослушивает папку должен писать при получении запишет в базу правильно ли понял?

Да. Ведь вам, наверняка нужна целая очередь. Что если легаси приложение успеет обработать множество файлов, а сервлет никто ниразу не вызовет? Даже если нужен только последний файл, никогда не знаешь вдруг понадобится история.
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467533
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
идеально, убрать анахронизм in\out папки и писать в базу обоими приложениями.
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467536
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczМузаффарда об этом и думаю т.е. класс который прослушивает папку должен писать при получении запишет в базу правильно ли понял?

Да. Ведь вам, наверняка нужна целая очередь. Что если легаси приложение успеет обработать множество файлов, а сервлет никто ниразу не вызовет? Даже если нужен только последний файл, никогда не знаешь вдруг понадобится история.


+10
Рано или поздно заказчик попросит историю. Т.е. сначала в ТЗ конешно пропишут самый простой алгоритм типа как появились данные так отправь но про историю все равно вспомнят. Типа тут у нас косяк прозошел сеть упала, диск посыпался, данные криво сели
будьте любезны дайте как отчет когда какие данные ушли или не ушли нас с..по нужны данные, мы проверить хотим.
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467541
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Музаффар,
идеально, убрать анахронизм in\out папки и писать в базу обоими приложениями.
Он же сказал, там легаси приложение. Переписать его возможности нет. Вполне классическая ситуация интеграции с древним говном.
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467550
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарзВ П2 для прослушивания папки in используется с вотч сервис апи, он запускается в отдельном потоке при старте приложения П2 .
...
Вопрос - как в сервлете получить данные из потока — прочитанный файл.

Вот тот кто так сделал и должен ответить на этот вопрос - а на поркуа он так поступил. :)

Вкратце, вопрос простой. Убедился что файл появился (и дозаписался) создаешь отметку в синглтоне уровня приложения (можно и в БД). Дальше все зависит от модели взаимодействия с клиентом. Синхронные сервлеты просто просматривают его (собственно могут и сам каталог с файлами, им по хорошему watch не нужен, но раз уж сделали - не выкидывать же) на предмет готовности ответа. Асинхронные (в т.ч. websocket,push и прочее) подписываются на событие изменения (или просто периодически, в этом случае правда, опять же watch то зачем) сканируют его на предмет присутствия нужного им ответа и отправляют пользователю.

Ответ же на прямой вопрос, как input stream из фала перенаправить в output stream сервлета - Гугл в помощь. :)
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467559
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczОн же сказал, там легаси приложение. Переписать его возможности нет.
явно что рефакторинг исключён не сказал. Только пожаловался что П1 из далёких 70-х.
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467581
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Только пожаловался что П1 из далёких 70-х.

Напомнило серию про Бивиса и Баттхеда, как они смотрели кино про древний Египед и один другому говорит:
- Это было в древности
- Ага в 60-е ...

Как ты думаешь человеку, который только начал изучать как из одного потока событие передать в другой, легко будет рефакторить программку обмена информацией с какой-нибудь железкой которую из живых мало кто видел, а тех кто знал протокол обмена с ней кремировали в отделе кадров прям на документации по ней еще в прошлом веке?
Хотя конечно все может быть гораздо проще и просто - какой-то хвизик наваял что-то на Фортране70 и для повторения его трудов надо нехило разбираться в гирогазодинамике плазмы. :)
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467617
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Арсеньев,
)) наше дело тут особо за ТС не думать, а дать варианты).
Ему на месте виднее.
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467633
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
однозначно, старый софт не подлежит изменению.
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467654
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и так попробую отвечать на вопросы:
BlazkowiczДа. Ведь вам, наверняка нужна целая очередь. Что если легаси приложение успеет обработать множество файлов, а сервлет никто ниразу не вызовет? Даже если нужен только последний файл, никогда не знаешь вдруг понадобится история.
т.е. jms? или лучше читать из базы с помощью ws?
нет не только последний но и все полученные файлы нужны, т.к. их могут запрашивать разные юзеры.
да история обязательно.

авторОн же сказал, там легаси приложение. Переписать его возможности нет. Вполне классическая ситуация интеграции с древним говном.
так и есть...

Сергей АрсеньевВкратце, вопрос простой. Убедился что файл появился (и дозаписался) создаешь отметку в синглтоне уровня приложения (можно и в БД). Дальше все зависит от модели взаимодействия с клиентом. Синхронные сервлеты просто просматривают его (собственно могут и сам каталог с файлами, им по хорошему watch не нужен, но раз уж сделали - не выкидывать же) на предмет готовности ответа. Асинхронные (в т.ч. websocket,push и прочее) подписываются на событие изменения (или просто периодически, в этом случае правда, опять же watch то зачем) сканируют его на предмет присутствия нужного им ответа и отправляют пользователю.
интересно, надо подумать, сенкс

Petro123явно что рефакторинг исключён не сказал. Только пожаловался что П1 из далёких 70-х.
думаю рефакторинг пустая трата времени... и ещё прямого доступа к П1 нет.
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467658
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарт.е. jms? или лучше читать из базы с помощью ws?

Нет, не JMS. Обработали файл - добавили результат в табличку. Тоже своеобразная очередь ведь.
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467662
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Сергей Арсеньев,
)) наше дело тут особо за ТС не думать, а дать варианты).
Ему на месте виднее.
это да. :)

авторНет, не JMS. Обработали файл - добавили результат в табличку. Тоже своеобразная очередь ведь.
согласен, и тогда задача будет более примитивным... :)
...
Рейтинг: 0 / 0
получения данных из потока в сервлете
    #39467710
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
Тут 2 вопроса
1 где Модель?
2 нужно ли уведомле клиента?
----
Модель можно продублировать в базу из файлов.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / получения данных из потока в сервлете
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]