Apex批处理运行模式(并行与队列)及状态的维持
- 1月
- 09
- Posted by Lin
- Posted in APEX, Salesforce
In my early post, I’d shared about how to write a Schedulable Batch Apex in Salesforce, and I’ll show you how transactions run in batch Apex and how to maintain their state across these transactions in this post.
Actually, they run in series , the following sample code and DebugLogs will explain this.
Reference : https://developer.salesforce.com/docs/atlas.en-us.204.0.apexcode.meta/apexcode/apex_batch_interface.htm
Enjoy it!
Batch Apex running mode (parallel / series)
As we know, each execution of a batch Apex job is considered a discrete transaction, so if a batch contains 1,000 records, it is considered 5 transactions of 200 records each. Batch Apex job runs in parallel if more than one job is running, but which mode these transactions in one batch Apex job run in, parallel or series?Actually, they run in series , the following sample code and DebugLogs will explain this.
SampleBatch.cls
Debuglogs of 5 batch Apex transactions
Maintaining state
The member variables (includes static member variables) in batch Apex don’t retain their values and are reset between transactions, if you want to maintain state across these transactions, such as for counting or summarizing records, you can specify Database.Stateful in the class definition, and only instance member variables (not static member variables) retain their values, as the sample code below :SampleBatchWithState.cls
Debuglogs of 5 batch Apex transactions
Reference : https://developer.salesforce.com/docs/atlas.en-us.204.0.apexcode.meta/apexcode/apex_batch_interface.htm
Enjoy it!
Post Tagged with Batch Apex, Database.Stateful, Maintain, Parallel, Salesforce, Series, Stateful, Transaction
近期文章
- Salesforce DevTools Release Notes (version 3.10.0) – mass edit custom fields on lightning
- Salesforce DevTools Release Notes (version 3.9.0)- Object Fields, SOQL Query Editor
- Salesforce DevTools Release Notes (version 3.8.0)
- Salesforce DevTools的开发者用户突破10,000名!THANK YOU!
- Lightning Component中使用Promise处理Apex服务端请求
Top Posts
- Salesforce DevTools – Saleforce开发者必备Chrome扩展 - 228.7K views
- Date format 与 DateTime format - 211.2K views
- Salesforce批量编辑 (Chrome扩展) – 在任何标准视图上进行批量插入, 拷贝, 更新, 删除, 支持Classic与Lightning! - 161.8K views
- 编写一个可被计划执行的Batch Apex - 126.5K views
- 用Sublime Text 3架设Salesforce的快速开发环境 - 123.3K views
分类目录
- APEX
- 应用
- Custom Label
- Custom Metadata
- Custom Setting
- Design & UI
- 交流会
- Heroku
- iOS & Object-c
- Lightnint Component
- Linux & Mac OS
- Metadata API
- Node.js
- Open Source
- Other
- PHP Framework
- Release Notes
- REST API
- Salesforce
- Salesforce DevTools
- Salesforce DX
- SOQL
- Tooling API
- Unit Tests
- Validation Rule
- Visualforce
- WordPress
您必须登录才能发表评论。