我从另一个批次类的finish方法调用批处理类并面临上述错误
方法代码:
public class BatchPublicCampaignsToGoogle
implements Database.Batchable<SObject>, Database.Stateful,
Database.AllowsCallouts {
public void finish(Database.BatchableContext BC){
if(newBatch == true) {
CalendarSettings__c c =
[Select Id, Name, CalendarId__c,
CalendarQuery__c,FieldToDisplay__c
from CalendarSettings__c
WHERE Name = 'Internal marketing Calendar' LIMIT 1] ;
BatchPublicCampaign bjob = new BatchPublicCampaign();
Database.executeBatch(bjob);
}
}
}
但是我收到以下错误:
Database.executeBatch cannot be called from a batch or future method.
完成批量请求后,我试图再次调用它(我必须再调用两次)。所以我称之为。
如何解决此错误?
答案 0 :(得分:2)
Apex批次类最低版本应为27.0我使用25.0这就是为什么我面临这个问题!!
答案 1 :(得分:1)
正如我在你提出的另一个问题Execution Confusion in Batch class Apex中所提到的,在冬季13中引入了从完成方法链接批处理作业的能力。
Winter 13对应于API版本26.0,因此您的批次类需要使用该版本或更高版本才能使用链接。