Асинхронная обработка в Java от сервлета

Вам нужно:

msg = f.read()

вместо:

msg = f.readlines()

Это потому, что sendmail() хочет строку , как следует из сообщения, но что [ 113] возвращается список строк .

Когда вы сделаете print(msg), вы увидите ['first line', 'second line', ...]. Вместо этого вы должны увидеть все сообщение без скобок или кавычек.

read() правильно прочитает весь файл и вернет его содержимое в виде одной строки.

5
задан erickson 9 February 2009 в 18:39
поделиться

2 ответа

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

Однако я предложил бы смотреть на Spring. Не трудно учиться и легкий установить в Tomcat. Можно найти большую хорошую информацию в справочной документации Spring. Это имеет Кварцевую интеграцию, которая намного легче, чем выполнение его вручную.

4
ответ дан 14 December 2019 в 19:28
поделиться

Подходящее решение, которое не потребует, чтобы Вы сделали большой дизайн и программирование, состоит в том, чтобы создать объект, в котором Вы будете нуждаться позже в сервлете и сериализируете его к массиву байтов. Затем помещенный это в поле BLOB в базе данных и быть сделанным с ним.

Затем Ваш поток обработки может просто считать содержание, десериализовать его и работать с возрожденным объектом.

Но, можно получить лучшие ответы путем описания того, что Вам нужна Ваша система, чтобы на самом деле СДЕЛАТЬ :)

1
ответ дан 14 December 2019 в 19:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: