2014-09-22 3 views
1

Я страдаю от проблемы с лимитом Salesforce LimitException. Я собираю тысячи записей из нескольких объектов и помещаю их в коллекцию, такую ​​как Map. Теперь у меня есть требование генерировать JSON для тех же записей, которые будут использоваться для мобильных устройств для загрузки данных из Salesforce. Когда я попытался сериализовать эти записи, используя метод System.JSON.Serialize(); он генерирует огромную строку JSON, и я получаю ошибку System.LimitException, потому что будет больше требуемой памяти, чем доступное пространство. Я попытался поймать эту проблему, используя блок try/catch, но здесь есть ссылка, в которой говорится, что System.LimitException не может быть захвачен блоком Catch. Referral URL:Получение ошибки размера кучи при сериализации коллекции записей в вершине

http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_exception_methods.htm

Я знаю, что мы можем проверить предельный размер кучи через метод Limits.getHeapSize(). Но есть ли какая-нибудь работа, чтобы я мог справиться с этой проблемой с вершины. Образец кода или некоторая ссылка в этом отношении будут высоко оценены. Спасибо в продвинутом режиме.

ответ

0

Альтернативой может быть использование партий в коде Apex. APEX BATCHES

Вы можете отправить свои записи в методе start() и обработать сериализацию JSON в методе execute().

Смежные вопросы