Извлечение электронных писем из файла NSF Lotus Notes с помощью Java API

@Dan,

разве мне не нужен msdtc, позволенный для транзакций работать?

Только распределенные транзакции - Те, которые включают больше, чем единственное соединение. Сделайте вдвойне уверенными, что Вы только открываете единственное соединение в транзакции, и она не возрастет - Производительность будет намного лучше также.

5
задан bajafresh4life 23 October 2009 в 13:39
поделиться

1 ответ

Вы можете написать простое приложение Java, которое получает дескриптор интересующей вас почтовой базы данных, затем получает дескриптор стандартного представления в этой базе данных, а затем выполняет итерацию по документам в Посмотреть. Вот пример (приблизительный) пример кода:

import lotus.domino.*;
public class sample extends NotesThread
{
  public static void main(String argv[])
    {
        sample mySample = new sample();
        mySample.start();
    }
  public void runNotes()
    {
    try
      {
        Session s = NotesFactory.createSession();
        Database db = s.getDatabase ("Server", "pathToMailDB.nsf");
        View vw = db.getView ("By Person");  // this view exists in r8 mail template; may need to change for earlier versions
        Document doc = vw.getFirstDocument();
        while (doc != null) {               
            System.out.println (doc.getItemValueString("Subject"));
            doc = vw.getNextDocument(doc);
        }
      }
    catch (Exception e)
      {
        e.printStackTrace();
      }
    }
}

Метод getItemValueString получает заданное значение «поля». Другие важные поля в почтовом документе: From, SendTo, CopyTo, BlindCopyTo, Subject, Body и DeliveredDate. Обратите внимание, что Body - это элемент «форматированного текста» Notes, а getItemValueString вернет только текстовую часть. DeliveredDate - это элемент NotesDate, и для этого вам потребуется использовать метод getItemValueDateTimeArray .

7
ответ дан 14 December 2019 в 13:40
поделиться
Другие вопросы по тегам:

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