Przestań otwierać każdy folder i przestań refetchingu każdej wiadomości

PerformanceEmailService
Szycy
14 sierpnia 2026 02:09 UTC
Autor
Kamo
Pochęt się
9698977

Dwa problemy w obie strony na ścieżce krytycznej /messages, oba niewidoczne w Kod, który je spowodował. ListFolders otworzył każdy folder tylko do odczytu, aby odczytać dwie liczby całkowite. To jest pon (po) SELECT i CLOSE na folder i sprawia, że serwer buduje każdy indeks skrzynki pocztowej Po drodze, więc dwudziestolatkowa skrzynka pocztowa spędziła czterdzieści w obie strony, odpowiadając na Pytanie o czterdziestu numerów. Szlerka boczna ładuje to na górze i ponownie Każda zmiana skrzynki pocztowej – przybycie poczty, odczytana wiadomość, ruch, usunięcie – tak to Jest to najczęściej nazywana operacja IMAP w produkcie. getUnreadCount's own javadoc Powiedział, że listFolders był "zbyt drogi", odkąd został napisany. STATUS zwraca dokładnie te liczby i nie dotyka wiadomości. Serwery reklamowe RFC 5819 LIST-STATUS, Dovecot wśród nich, teraz odpowiada na całe drzewo w jednym Polecenie; wszystko inne dostaje jeden STATUS na zamknięty folder, w którym Jakarta Mail's Stan pamięci podręcznej służy nieczytanej i całkowitej z jednej odpowiedzi. Tylko folder, którego Odmówienia serwerowe STATUS są już otwarte. Ścieżka listy nie miała N+1 nic nie zostało nazwane. FetchProfile.Item.ENVELOPE rozszerza się na ENVELOPE INTERNLDATE RFC822.SIZE — brak BODYSTRUKTURA i nie nagłówek — ale ToEnvelope połączenia getContentType() dla heurystyki przywiązania i czyta Numer identyfikacyjny do gwintowania. Jakarta Mail odpowiada na nieprzygotowany akcesor przez Spokojnie wydawanie własnego FETCH z pojedynczymi wiadomościami, więc strona z pięćdziesięcioma wiadomościami kosztuje do 100 dodatkowych wycieczek w obie strony. Poszukiwania były gorsze: nic nie przewyższało. Obie mają teraz jeden profil, który obejmuje każde pole do czytania Envelope. Odpowiedź LIST-STATUS jest analizowana tutaj, a nie przez Jakarta Mail, więc jest Testowany: IMAPResponse akceptuje literalną linię protokołu, a dziesięć Sprawy obejmują zamawianie, Noselect, nieobecność STATUS i niepowiązany ruch. Jeden z nich To błąd, który to znaleziono — ListInfo dekoduje zmodyfikowane nazwy skrzynek pocztowych UTF-7 i Status nie, więc dołączenie do nich, ponieważ dotarcie zgłosiłoby zerowy nieprzeczytany Do dokładnie tych folderów z akcentem w nazwie i niczym innym.

Wszystkie zmiany

Jak to, co widzisz żeglugę?

Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.

Start Free ForeverZobacz ceny