Batch Apex 사용하기 Database.Batchable 인터페이스를 상속받아 Batch Apex 사용 Batch Apex를 모니터링/멈추려면 Setup → Apex Jobs Database.Batchable 인터페이스 implement하기 Database.Batchable 인터페이스는 3개의 메소드가 필수로 포함되어야 함 : 1) start 메소드 2) execute 메소드 3) finish 메소드 1) start 메소드 : public (Database.QueryLocator) | Iterable) start(Database.BatchableContext bc) {} 인터페이스 메소드 execute에 전달할 레코드/객체를 수집하기 위해 batch Apex job의 시작 부분에서 start 메소드..
Apex Scheduler 특정한 시간에 Apex class 실행하기 1. Schedulable 인터페이스 implement 하기 2. Schedule Apex page 또는System.schedule 메소드 사용 Note Scheduled Apex job은 한 번에 100개만 가질 수 있음 Trigger를 사용하여 schedule을 계획할 때에는 scheduled class를 limit보다 더 많이 추가하지 않도록 유의하기 Apex class에 대해 active scheduled job이 하나 이상 있는 경우 Salesforce user interface를 통해 이 클래스 또는 이 클래스를 참조하는 클래스를 업데이트할 수 없음. Schedulable Interface 상속받기 Schedulable 인터..
Type Class : Apex class에 해당하는 Apex type을 가져오고 새 type을 인스턴스화하는 메소드를 포함한다 Namespace System 사용법 forName 메소드를 사용하여 기본 제공 클래스 또는 사용자 정의 클래스일 수 있는 Apex 클래스의 type을 검색. 위의 메소드를 사용하여 public&global class를 검색 O, context 사용자에게 액세스 권한이 있더라도 private class는 X newInstance 메소드를 사용하여 인터페이스를 구현하는 Type을 인스턴스화 하고, package subscriber와 같은 다른 사용자가 메소드의 구현을 제공하도록 허용하려면서 해당 메소드를 호출 O 예시 : Name을 기반으로 Type 인스턴스화 시나리오 Type ..
Apex Trigger란? 세일즈포스가 제공하는, 레코드 관리 위한 자동화 툴. 레코드 관리 서포트 프로세스 중심 로직 구축 더 강력함 Apex Trigger를 사용하면 insert, update, delete와 같은 세일즈포스 레코드에 대한 이벤트 전후에 custom action 수행 O 특정 조건에 따라 작업을 수행, 관련 레코드 수정, 특정 작업이 발생하지 않도록 제한 O SOQL, DML 실행, custom Apex 메소드 호출을 포함해 Apex에서 할 수 있는 모든 작업 O 세일즈포스 유저 인터페이스에서 Point-and-Click 도구를 사용해 수행할 수 없는 작업 O Account/Contact와 같은 top-level standard object, custom object, 일부 stand..