Добрый день в моем часовом поясе.
Я работаю с JavaMail API с exJello Provider.Я использую класс SearchTerm для фильтрации извлеченных сообщений, но в среднем метод поиска занимает более 1 минуты, чтобы результаты возвращали результаты. Поэтому я решил сериализовать набор сообщений таким образом, мне не пришлось ждать так долго.теоретическая проблема и одна конкретная проблема.1) Только классы, которые реализуют интерфейс Serializable, могут быть сериализованы, поэтому способ, которым я использую «сериализацию» этих сообщений, не является «действительно» сериализацией, верно?Фрагмент моего кода: message.writeTo ("OutputStream");
2) Теперь проблема, с которой я имею дело: Фрагмент кода:
messages = inbox.search(new AndTerm(terms));
ObjectOutputStream stream = new ObjectOutputStream(new FileOutputStream("serializer.txt"));
for(Message msg : messages){
msg.writeTo(stream);
}
В конце процессая должен был сериализовать более одного сообщения в файле "serializer.txt".Мой вопрос заключается в том, как я могу десериализовать эти сообщения. Я уже могу десериализовать одно сообщение, но если файл содержит более одного сообщения, десериализуется только первое.Код:
ObjectInputStream file = new ObjectInputStream(new FileInputStream("serializer.txt"));
new MimeMessage(session,file);
Этот код десериализует только одно сообщение, но если я сделаю цикл, только первый снова будет десериализован.Поэтому любое тело сталкивалось с той же проблемой.PS-> Если я попытаюсь использовать метод readObject из любого InputStream, он получит исключение, единственный способ - использовать конструктор сообщений.
С наилучшими пожеланиями