Разбиение файлов

В режиме обработки входящих событий файл событий может разбиваться на несколько фрагментов, каждый из которых отправляется в конечную точку отдельно. Такой подход позволяет уменьшить нагрузку на память в ходе обработки событий.

Разбиение файлов выполняется в соответствии с ограничителем или размером файла, который указывается в свойстве SplitCriteria. Значение ограничителя указывается в свойстве SplitCriteria, класс, применяемый для разбиения файла событий, указывается в свойстве SplittingFunctionClassName спецификации активации. По умолчанию адаптер предоставляет классы SplitBySize и SplitByDelimiter для свойства SplittingFunctionClassName.

Если фрагментация включена, каждый фрагмент передается конченой точке по отдельности. Число бизнес-объектов, передаваемых конечной точке, указывается в свойстве PollQuantity. Например, если в свойстве PollQuantity указано значение 3:

Число опрашиваемых бизнес-объектов: 3.

Число бизнес-объектов, полученных конечной точкой: 3.

Адаптер не отвечает за сборку фрагментов данных. Он предоставляет внешнему приложению информацию о фрагментации данных, необходимую для объединения фрагментов. Информация о фрагментации данных указывается в свойстве chunkInfo оболочки бизнес-объекта. Она включает данные о размере фрагмента в байтах, а также ИД события. Пример ИД события:
AbsolutePathOfTheEventFileNameInLocalEventDirectory_/_гггг_ММ_дд_ЧЧ_мм_сс_ССС.
currentBONumber_/_totalBOs

Разделение с помощью ограничителя

Для разделения файлов событий применяются ограничители. Ограничитель указывается в свойстве SplitCriteria спецификации активации.

Для работы с ограничителями применяются следующие правила:
  • Все новые строки в ограничители указываются с помощью символов \n. Адаптер преобразует \n в символ новой строки платформы.
  • При наличии нескольких ограничителей они должны быть разделены точкой с запятой (;). Если точка с запятой (;) входит в состав ограничителя, перед ней следует добавить обратную косую черту \;. Например, ограничитель ##\;## обрабатывается как ##;##, т.е. точка с запятой (;) входит в состав ограничителя.
  • Символы (;;), указанные перед фрагментом ограничителя, позволяют пропустить этот фрагмент. Например, если файл событий содержит бизнес-объект в следующем формате и применяется ограничитель ##;;$$:

    Name=Smith
    Company=IBM
    ##содержимое, которое будет пропущено адаптером$$

    Адаптер рассматривает ##$$ в качестве ограничителя и пропускает строку "содержимое, которое будет пропущено адаптером."

  • В качестве ограничителя можно указать произвольное значение без каких-либо ограничений. Следующие ограничители допустимы:
    • ####;\n;\n
    • ####;$$$$;\n;####
    • %%%%;$$$$$;#####
    • \n;\n;$$$$
    • ####\;####;\n;$$$$$
    • \n;\n;\n
    • ####;;$$$$
  • Если ограничитель расположен в конце файла, то свойство SplitCriteria использует END_OF_FILE для определения физического конца файла.

Восстановление событий

Для применения функции восстановления событий, предусмотренной в WebSphere Process Server, в спецификации активации для свойства AssuredOnceDelivery необходимо указать значение true. Если указано значение false, недоставленные события восстановить нельзя. Доставка совпадающих событий разрешена, если для свойства AssuredOnceDelivery указано значение false. Для повышения производительности рекомендуется запретить восстановление событий и разрешить доставку совпадающих событий, указав для свойства AssuredOnceDelivery значение false.


Условия использования |


(c) Copyright IBM Corporation 2005, 2006.
Справочная система Information Center создана с использованием технологии Eclipse (http://www.eclipse.org)