Dzielenie pliku

Tryb przetwarzania zdarzeń przychodzących obsługuje opcjonalną funkcję podziału plików, która służy do dzielenia pliku zdarzeń na wiele porcji i oddzielnego wysyłania każdej z nich do punktu końcowego. To zmniejsza obciążenie pamięci podczas przetwarzania zdarzeń.

Dzielenie pliku jest wykonywane na podstawie separatora lub wielkości pliku, w zależności od tego, jak jest ustawiona właściwość SplitCriteria. Wartość separatora jest ustawiana we właściwości SplitCriteria, a klasa używana do dzielenia pliku zdarzeń jest ustawiana we właściwości SplittingFunctionClassName specyfikacji aktywowania. Domyślnie adapter udostępnia klasy SplitBySize i SplitByDelimiter dla właściwości SplittingFunctionClassName.

Jeśli jest włączone dzielenie na porcje, każda porcja pliku jest osobno wysyłana do punktu końcowego. Do punktu końcowego jest wysyłana liczba obiektów biznesowych określona we właściwości PollQuantity. Jeśli na przykład wartość właściwości PollQuantity ma wartość 3, to:

Liczba odpytywanych obiektów biznesowych wynosi 3.

Liczba obiektów biznesowych odbieranych w punkcie końcowym wynosi 3.

Adapter nie składa ponownie danych, które zostały podzielone na porcje. Udostępnia on aplikacjom zewnętrznym informacje dotyczące danych podzielonych na porcje, które są im potrzebne do scalania porcji. Informacje dotyczące danych podzielonych na porcje są ustawiane we właściwości chunkInfo, która jest zawarta w opakowującym obiekcie biznesowym. Do tych informacji należą: wielkość porcji (w bajtach) i identyfikator zdarzenia. Przykładowy identyfikator zdarzenia:
ŚcieżkaBezwzględnaNazwyPlikuZdarzeńWLokalnymKataloguZdarzeń_/_rrrr_MM_dd_GG_mm_ss_SSS. 
NumerBieżącegoObiektuBiznesowego_/_LiczbaObiektówBiznesowych

Dzielenie za pomocą separatora

Separatory są używane do dzielenia plików zdarzeń. Separator jest określany we właściwości SplitCriteria specyfikacji aktywowania.

W przypadku separatorów mają zastosowanie następujące reguły:
  • Wszystkie nowe wiersze w separatorze są reprezentowane przez łańcuch \n. Adapter tłumaczy łańcuch \n na znak nowego wiersza specyficzny dla platformy.
  • Jeśli występuje więcej niż jeden separator, każdy separator musi być oddzielony średnikiem (;). Jeśli w separatorze występuje średnik (;), to ten średnik (;) musi być odpowiednio oznaczony (\;). Jeśli na przykład separator jest łańcuchem ##\;##, to jest on przetwarzany jako łańcuch ##;##, co oznacza, że średnik (;) jest częścią separatora.
  • Aby pominąć treść, która jest częścią separatora, należy użyć dwóch średników (;;) przed tą treścią. Jeśli na przykład plik zdarzeń zawiera obiekt biznesowy w poniższym formacie, a separatorem jest łańcuch ##;;$$, to:

    Name=Kowalski
    Company=IBM
    ##to jest treść, która zostanie pominięta przez adapter$$

    Adapter rozpozna separator ##$$ i pominie następujący tekst: to jest treść, która zostanie pominięta przez adapter.

  • Separator może przyjmować dowolną postać i podczas jego tworzenia nie ma żadnych ograniczeń. Oto przykłady poprawnych separatorów:
    • ####;\n;\n
    • ####;$$$$;\n;####
    • %%%%;$$$$$;#####
    • \n;\n;$$$$
    • ####\;####;\n;$$$$$
    • \n;\n;\n
    • ####;;$$$$
  • Jeśli separator znajduje się na końcu pliku, właściwość SplitCriteria używa wartości END_OF_FILE w celu określenia rzeczywistego końca pliku.

Odtwarzanie zdarzeń

Aby używać funkcji odtwarzania zdarzeń udostępnianej przez produkt WebSphere Process Server, należy ustawić właściwość AssuredOnceDelivery w specyfikacji aktywowania ActivationSpec na wartość true. Jeśli jest ona ustawiona na wartość false, zdarzenia zakończone niepowodzeniem nie mogą być odtwarzane. Zduplikowane zdarzenia mogą być dostarczane, jeśli właściwość AssuredOnceDelivery jest ustawiona na wartość false. Aby zwiększyć wydajność, wyłączyć odtwarzanie zdarzeń i zezwolić na zduplikowane zdarzenia, należy ustawić właściwość AssuredOnceDelivery na wartość false.


Warunki używania |


(c) Copyright IBM Corporation 2005, 2006.
To Centrum informacyjne jest oparte na technologii Eclipse (http://www.eclipse.org)