Рабочие списки IBM Content Manager, есть ли способ получить все пакеты, когда количество возвращаемых сообщений ограничено

Рабочий список имеет ограничение на количество возвращаемых товаров, так как он настолько велик через администратора CM. Используя Java API, когда я делаю routingService.getCount(worklist,owner) это дает мне количество всех пакетов в рабочем списке. Когда я делаю routingService.listWorkPackagePidStrings(worklist,owner) это дает мне коллекцию, но это ограничено счетчиком, установленным администратором. Вроде того, что вы ожидаете. Но мне нужны все пакеты при работе с API.

Я могу получить все рабочие пакеты, если я сделаю следующее, но не очень хорошая идея временно изменить счетчик пределов для рабочего списка:

workList.setMaxResult(0);
routingMgmt.update(workList);       
dkCollection dkcollection = routingService.listWorkPackages(worklistnameI, userName);
workList.setMaxResult(25);
routingMgmt.update(workList);

Пытался использовать это до listWorkPackages:

routingService.getDocRoutingServiceMgmt().retrieveWorkList(worklist).setMaxResults(0)

но это не повлияло на возвращенные пакеты. У кого-нибудь есть другое предложение обойти ограничение на возврат рабочего списка при использовании API?

1 ответ

Решение

Ваш второй подход не может работать. routingService.getDocRoutingServiceMgmt().retrieveWorkList(worklist).setMaxResults(0) После получения рабочего списка setMaxResult не имеет никакого эффекта. Насколько я знаю, нет способа восстановить рабочий список после того, как был установлен новый maxResult.

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

Другие вопросы по тегам