Если адаптер регулярно извлекает большие файлы из информационной файловой системы предприятия, целесообразно воспользоваться специальной функцией адаптора, позволяющей разбивать файлы на меньшие фрагменты. Если эта функция включена, файлы событий будут разбиваться на фрагменты, которые будут добавляться в конечню точку как независимые объекты. Восстановление исходного файла из фрагментов в конечной точке не производится, однако в бизнес-схеме адаптер предоставляет информацию, необходимую для такого восстановления.
Если в качестве разделителей в бизнес-объекте используются та кие символы, как запятая (,), точка с запятой (;), кавычки ( ", ' ), фигурные скобки ({}) или наклонная черта ( / \ ), адаптер может разбивать файлы на меньшие фрагменты по этим разделителям. Полученные в результате фрагменты пересылаются на сервер независимо, а потом из них восстанавливается исхо дный файл с помощью функции восстановления последовательности событий сервера обработки WebSphere. Этот процесс называется разбиением файла по разделителям. Его можно включить с помощью свойства спецификации активации SplitCriteria.
Важно помнить, что при таком разбиении файлов событий на фрагменты каждый фрагмент представляет собой бизнес-объект. Это означает, что PollQuantity и число бизнес-объектов, отправленных в конечную точку, могут отличаться. Если включено разбиение файла по ограничителю, то в свойстве PollQuantity указывается число файлов событий в хранилище событий. Кроме того, в свойстве спецификации активации Splitting Function Class Name указывается класс, с помощью которого разбивается файл событий.
Чтобы проиллюстрировать разбиение файлов по разделителям с помощью свойства PollQuantity, рассмотрим два файла событий. Пусть первый файл событий содержит один бизнес-объект, а второй - два бизнес-объекта. Если значение свойства PollQuantity равно 2, то в первом цикле опроса будет отправлен первый бизнес-объект из первого файла событий и первый бизнес-объект из второго файла событий. Второй бизнес-объект из второго файла будет отправлен во втором цикле опроса.
Name=Smith
Company=IBM
##этот текст будет пропущен адаптером$$
Адаптер будет считать ограничителем ##$$ и пропустит часть "этот текст будет пропущен адаптером".
Разбиение файлов по размеру выполняется на основе свойства SplitCriteria. Если размер файла превышает значение свойства SplitCriteria, то файл разбивается на несколько фрагментов, каждый из которых отправляется в конечную точку отдельно. В противном случае файл событий отправляется в конечную точку целиком. Важно помнить, что при разбиении файлов событий на фрагменты каждый фрагмент представляет собой бизнес-объект. Это означает, что PollQuantity и число бизнес-объектов, отправленных в конечную точку, могут отличаться. Хотя опрос ведется по значению PollQuantity, адаптер фактически обрабатывает бизнес-объекты из файлов. Например, если файл событий разбит на три части, то опрошен будет один файл, а в конечной точке будет получено три бизнес-объекта (поскольку каждый фрагмент представляет собой бизнес-объект).
В конечной точке адаптер не собирает фрагменты в один файл. Эту функцию выполняет компонент обработки последовательности событий сервера WebSphere Process Server. Однако адаптер для простых файлов передает в WebSphere Process Server информацию о фрагментах для сборки их в файл. Информация о фрагменте передается в свойстве chunkFileName оболочечного бизнес-объекта. Она включает данные о размере фрагмента в байтах и ИД события. ИД события для фрагмента указывается в следующем формате: eventFileLocation_/_timestampStr_/_MofN, где M - это номер фрагмента и N - общее число фрагментов. Пример ИД события: C:\flatfile\eventdir\eventfile.in_/_2005_01_10_10_17_49_864_/_3of5, где timestampStr указывается в формате: год_месяц_день_час_мин_сек_миллисек.
(c) Copyright IBM Corporation 2005, 2006.
Данная справочная система Information Center использует технологию Eclipse (http://www.eclipse.org)