Scheduler - Raport conturi


Localizarea tabelelor de bază de date
Localizarea codului sursă
Examinarea notelor despre codare

Localizarea tabelelor de bază de date

În acest exemplu sunt utilizate trei tabele de bază de date: ACCOUNT, ACCOUNTREPORT şi ACCTRPTTASK. Puteţi găsi tabelele în baza de date SchedulerSampleDB. Pentru a deschide baza de date şi a vizualiza tabela, consultaţi ghidul utilizatorului bazei de date Derby.

Localizarea codului sursă

Localizaţi codul sursă în directorul rădăcină_profil/samples/src/Scheduler .

Utilizatorii z/OS: Codul sursă pentru exemple nu este furnizat pe platforma z/OS, deoarece aplicaţiile exemplu nu sunt construite pe platforma z/OS.

Examinarea notelor despre codare

Privire generală
Servletul AccountReport
Bean-ul sesiune fără menţinere de stare TaskCreator
Bean-ul sesiune fără menţinere de stare SimpleCalendar
Bean-ul sesiune fără menţinere de stare ReportGenerator
Bean-ul entitate CMP Account
Bean-ul entitate CMP AccountReport

Privire generală

Exemplul Scheduler Raport conturi utilizează următoarele tipuri de componentă Java2 Enterprise Edition (J2EE) pentru a demonstra serviciul: Servletul AccountReport porneşte taskul Scheduler pentru a acumula soldurile totale ale conturilor disponibile şi crearea rapoartelor. Servletul creează un obiect BeanTaskInfo, care specifică momentul rulării taskului şi identifică bean-ul ReportGenerator pentru procesarea taskului. Serviciul Scheduler stochează apoi aceste informaţii în baza de date. Când expiră timpul planificat, serviciile Scheduler lansează metoda procesului şi porneşte bean-ul ReportGenerator. Bean-ul ReportGenerator acumulează soldurile de cont şi le stochează în bean-ul AccountReport. Servletul face disponibile rezultatele, precum şi conturile disponibil.

Servletul AccountReport

Servletul AccountReport (Main.java) are trei funcţii:

Bean-ul sesiune fără menţinere de stare TaskCreator

Servletul AccountReport porneşte bean-ul TaskCreator atunci când un utilizator cere un nou task planificat. Bean-ul TaskCreator este responsabil pentru planificarea activităţii în numele servletului AccountReport.

Bean-ul sesiune fără menţinere de stare SampleCalendar

Bean-ul SampleCalendar implementează interfeţele UserCalendar şi UserCalenderBean Scheduler. Acest bean demonstrează implementarea applyDelta şi metodele de validare pentru a dezvolta un calendar. UserCalendar implementează un singur calendar, numit secunde.

Bean-ul sesiune fără menţinere de stare ReportGenerator

Serviciul Scheduler porneşte bean-ul ReportGenerator când este momentul să fie rulat taskul. Serviciul Scheduler necesită ca un bean sesiune să implementeze interfeţele TaskHandlerHome şi TaskHandler. Când este momentul să înceapă evenimentul, metoda de proces apelează acest bean. În acest exemplu, metoda de proces găseşte toate bean-urile entitate CAM (container-managed persistence) din Account, totalizează toate soldurile de cont şi stochează rezultatele în bean-ul entitate AccountReport.

Bean-ul entitate CMP Account

Bean-ul Account este un bean CMP entitate EJB 2.0, care furnizează următoarele câmpuri: Owner, Account Number, Description şi Balance. Acest bean entitate este accesat din interfaţa de utilizator şi bean-ul sesiune ReportGenerator.

Bean-ul entitate CMP AccountReport

Când începe taskul planificat, bean-ul sesiune ReportGenerator acumulează datele din entitatea Account şi stochează rezultatele în acest bean CMP entitate EJB 2.0. Este creat un bean AccountReport de fiecare dată când planificatorul începe şi porneşte bean-ul ReportGenerator.