Bagikan melalui


Menulis Resource Manager

Jika Anda menulis layanan atau komponen dan perlu menggunakan layanan transaksi atau jika Anda perlu memantau status transaksi kernel, Anda perlu membuat manajer sumber daya (RM).

Untuk menulis manajer sumber daya, Anda harus membuat beberapa objek kernel. Objek yang digunakan RM adalah:

  • Objek Manajer Transaksi (TM)
  • Resource Manager objek
  • Objek pendaftaran

Pertama, buat objek TM. Ada dua jenis TM:

  • Volatil – TM ini tidak memiliki log dan tidak dapat memulihkan statusnya
  • Tahan lama - TM ini memiliki log

Untuk membuat TM yang tahan lama, Anda harus membuat log CLFS dan memanggil CreateTransactionManager atau meminta KTM membuatnya untuk Anda. Setelah TM tahan lama dibuat, Anda harus terlebih dahulu memulihkan TM dengan memanggil RecoverTransactionManager. Setelah TM dipulihkan, TM tersedia untuk digunakan.

Jika Anda memulihkan TM yang ada, semua RM yang terkait dengan TM ini akan mulai menerima pesan pemulihan. Untuk informasi selengkapnya, lihat Pemrosesan Pemulihan.

Selanjutnya, Anda membuat manajer sumber daya dengan memanggil CreateResourceManager dengan handel TM. RM bisa volatil atau tahan lama. Hanya TM tahan lama yang dapat digunakan dengan RM tahan lama.

Saat bekerja secara transaksional, Anda mendaftar dalam transaksi dengan memanggil CreateEnlistmentdan menentukan pemberitahuan mana yang akan diterima.

Catatan Anda dapat mulai menerima pemberitahuan sebelum panggilan ke CreateEnlistment selesai.

Saat Anda menerima pemberitahuan, panggil fungsi "Selesai*" yang sesuai ketika pekerjaan apa pun yang terkait dengan pemrosesan pemberitahuan selesai. Fungsi lengkapnya adalah:

Jika suatu saat manajer sumber daya tidak dapat menyelesaikan pekerjaan transaksi, atau jika melanjutkan akan membuat aplikasi Anda tidak dapat membatalkan pekerjaan yang dilakukan dalam transaksi, Anda harus mengembalikan transaksi dengan memanggil RollbackEnlistment.