আমি জাভা ইই 6 টি টিউটোরিয়ালটি দিয়ে যাচ্ছি এবং আমি রাষ্ট্রবিহীন এবং রাষ্ট্রীয় অধিবেশন মটরশুটিগুলির মধ্যে পার্থক্যটি বোঝার চেষ্টা করছি। স্টেটলেস সেশন মটরশুটি যদি পদ্ধতি কলগুলির মধ্যে তাদের রাজ্য ধরে না রাখে তবে আমার প্রোগ্রামটি কেন এটি আচরণ করছে?
package mybeans;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
@LocalBean
@Stateless
public class MyBean {
private int number = 0;
public int getNumber() {
return number;
}
public void increment() {
this.number++;
}
}
ক্লায়েন্ট
import java.io.IOException;
import javax.ejb.EJB;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
import mybeans.MyBean;
import java.io.PrintWriter;
@WebServlet(name = "ServletClient", urlPatterns = { "/ServletClient" })
public class ServletClient extends HttpServlet {
private static final long serialVersionUID = 1L;
@EJB
MyBean mybean;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
mybean.increment();
out.println(mybean.getNumber());
}
}
আমি প্রতিবার getNumber 0 ফিরে আসার প্রত্যাশা করছিলাম তবে এটি 1 ফিরছে এবং আমার ব্রাউজারে সার্লেটের পুনরায় লোড এটি আরও বাড়িয়ে তুলবে। সমস্যাটি রাষ্ট্রবিহীন সেশন মটরশুটি কীভাবে কাজ করে তা অবশ্যই বোঝার সাথে আছে এবং অবশ্যই লাইব্রেরি বা অ্যাপ্লিকেশন সার্ভারের সাথে নয়। রাজ্যবিহীন সেশন বিনের কোনও সাধারণ আমাকে হ্যালো ওয়ার্ল্ড টাইপের উদাহরণ দিতে পারে যা আপনি যখন এটি রাষ্ট্রীয়ভাবে পরিবর্তন করেন তখন আলাদা আচরণ করে?