Lifecycle Callback Methods ইক্লিপ্স (Eclipse) বা EJB (Enterprise JavaBeans)-এ বিশেষ মেথডগুলোর একটি সেট, যা EJB কন্টেইনার বা সিস্টেমের নির্দিষ্ট পরিস্থিতিতে স্বয়ংক্রিয়ভাবে কল করা হয়। এই মেথডগুলো ইন্টারফেস বা ক্লাসের মধ্যে ডিফাইন করা হয় এবং Bean এর জীবনচক্রের বিভিন্ন পর্যায়ে সিস্টেমের আচরণ নিয়ন্ত্রণ করতে সাহায্য করে। ইক্লিপ্সের EJB কন্টেইনার একটি Bean এর জীবনচক্রের মধ্যে বিভিন্ন মেথডকে কল করে, যেমন Bean এর তৈরি হওয়া, ধ্বংস হওয়া, এবং অন্যান্য কার্যকলাপ।
Lifecycle Callback Methods এর কাজ:
EJB কন্টেইনার বিভিন্ন মুহূর্তে Bean-এর lifecycle এর কিছু নির্দিষ্ট পয়েন্টে (যেমন bean তৈরি, ব্যবহার, ধ্বংস) কলব্যাক মেথডগুলোকে স্বয়ংক্রিয়ভাবে চালায়। এই মেথডগুলো ব্যবহৃত হয় @PostConstruct, @PreDestroy, @PrePassivate, @PostActivate ইত্যাদি লাইফ সাইকেল ইভেন্টগুলির মাধ্যমে।
১. @PostConstruct
এই মেথডটি Bean তৈরি হওয়ার পরে এবং ইনজেকশনের পরে কল করা হয়। এটি Bean-এর প্রস্তুতির জন্য উপযুক্ত স্থান, যেখানে আপনি কনফিগারেশন বা ইনিশিয়ালাইজেশন করতে পারেন।
- কাজ: Bean এর ইনস্ট্যান্স তৈরি হলে, তবে Bean এর ডিপেন্ডেন্সি ইনজেকশন সম্পন্ন হওয়ার পরে এটি কল করা হয়।
- উদাহরণ: কোনো প্রাথমিক সেটআপ করা বা কনফিগারেশন করা।
উদাহরণ:
import javax.annotation.PostConstruct;
import javax.ejb.Stateless;
@Stateless
public class MyBean {
@PostConstruct
public void init() {
System.out.println("Bean is initialized!");
}
}
২. @PreDestroy
এই মেথডটি Bean ধ্বংস হওয়ার আগে কল করা হয়। যখন EJB কন্টেইনার Bean কে ধ্বংস করার আগে শেষ কার্যক্রম চালাতে চায়, তখন এটি কল হয়। সাধারণত এটি ক্লিনআপ অপারেশন (যেমন, রিসোর্স মুক্ত করা) করতে ব্যবহৃত হয়।
- কাজ: Bean ধ্বংসের আগে এটি কল করা হয়।
- উদাহরণ: রিসোর্স মুক্ত করা বা লগিং কাজ।
উদাহরণ:
import javax.annotation.PreDestroy;
import javax.ejb.Stateless;
@Stateless
public class MyBean {
@PreDestroy
public void cleanup() {
System.out.println("Bean is being destroyed!");
}
}
৩. @PostActivate
এই মেথডটি Bean পুনরায় অ্যাকটিভ হওয়ার পরে কল করা হয়, সাধারণত সেশন Bean এর ক্ষেত্রে এটি ব্যবহৃত হয়। যখন Bean কোনো কারণে প্যাসিভ (inactive) হয়ে যায় এবং পরে আবার অ্যাকটিভ হয়, তখন এটি কল হয়।
- কাজ: Bean অ্যাকটিভ হওয়ার পরে এটি কল করা হয়।
- উদাহরণ: পুনরায় Bean এর অবস্থাকে সমন্বয় করা।
উদাহরণ:
import javax.annotation.PostActivate;
import javax.ejb.Stateful;
@Stateful
public class MyStatefulBean {
@PostActivate
public void postActivate() {
System.out.println("Bean has been activated again!");
}
}
৪. @PrePassivate
এই মেথডটি Bean প্যাসিভ হওয়ার আগে কল করা হয়। সাধারণত এটি স্টেটফুল (Stateful) Beans এ ব্যবহৃত হয়, যেখানে Bean কিছু সময়ের জন্য ইনঅ্যাকটিভ (inactive) হয়ে পড়ে এবং পরে আবার অ্যাকটিভ হয়।
- কাজ: Bean প্যাসিভ হওয়ার আগে এটি কল করা হয়।
- উদাহরণ: স্টেটফুল Bean এর বর্তমান অবস্থা সংরক্ষণ বা ক্লিনআপ করা।
উদাহরণ:
import javax.annotation.PrePassivate;
import javax.ejb.Stateful;
@Stateful
public class MyStatefulBean {
@PrePassivate
public void prePassivate() {
System.out.println("Bean is about to passivate!");
}
}
EJB Life Cycle Callback Methods Summary:
| Callback Method | Called When | Purpose |
|---|---|---|
@PostConstruct | After bean creation and dependency injection | To initialize the bean (e.g., setup or configuration). |
@PreDestroy | Before bean destruction | To clean up resources and perform any final tasks. |
@PostActivate | After bean is activated (used in Stateful beans) | To re-initialize or adjust the bean when activated. |
@PrePassivate | Before bean is passivated (used in Stateful beans) | To save or manage the bean's state before passivation. |
সংক্ষেপে:
EJB Lifecycle Callback Methods হল বিশেষ মেথড যা EJB কন্টেইনারের দ্বারা নির্দিষ্ট সময়ে স্বয়ংক্রিয়ভাবে কল হয়, যেমন Bean তৈরি হওয়া, ধ্বংস হওয়া বা সক্রিয়/নিষ্ক্রিয় হওয়া। এই মেথডগুলো Bean এর মধ্যে বিভিন্ন স্থিতি পরিবর্তন বা সংরক্ষণ, ক্লিনআপ বা ইনিশিয়ালাইজেশন কার্যক্রম করতে সাহায্য করে।
Read more