zoukankan      html  css  js  c++  java
  • Salesforce: System.Date()在scheduled job使用时的注意事项

    今天帮忙客户查看一个scheduled job的问题。

    scheduled job的大致功能是每天定时通过batch去删除某个对象前一天的数据。

    但是客户发现虽然每天batch都有执行,但是查询出来的数据却始终是0。

    经过检查代码发现,代码中使用System.today()赋值给了一个final类型的变量

    private final Date currentDate = System.today();

    再进行sql查询:
    SELECT Id FROM BB_Audit_Log__c WHERE Audit_Datestamp__c < :currentDate
     
    问题即出现在final的使用上。
    如果将值赋给了final类型的变量,则currentDate的值将始终保持为scheduled job创建的那一天的日期。
    所以导致batch无法正常工作。
     
    所以解决办法就是去掉final属性。
  • 相关阅读:
    demo
    Git
    rest-framework框架 -- 认证权限流程源码
    sublime
    restful 协议 +面试
    Django的CBV
    vue 之 vue-router
    vue 之node.js 02
    浏览器内核
    安装apache+php+mysql
  • 原文地址:https://www.cnblogs.com/clsriz/p/13572544.html
Copyright © 2011-2022 走看看