SORU
28 ŞUBAT 2010, Pazar


Durum bilgisi olan ve olmayan Kurumsal Java Fasulye

Java EE 6 öğretici ile gidiyorum ve durum bilgisi olan ve olmayan oturum fasulye arasındaki farkı anlamaya çalışıyorum. Eğer vatansız oturum fasulye arasında yöntem çağrıları kendi durumunu korumak değil, programım neden böyle davranıyor?

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  ;
    }
}

İstemci

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 her zaman geri dönmek için bekliyordum ama 1 geri geliyor ve benim tarayıcıda sunucu yeniden yükler daha da artırmak. Sorun elbette kitaplıkları veya uygulama sunucusu ile vatansız oturum fasulye nasıl çalıştığını benim anlayış değil. Biri beni bu duruma değiştirdiğinizde farklı davranır vatansız session bean basit bir Merhaba Dünya tipi bir örnek verebilir misiniz?

CEVAP
28 ŞUBAT 2010, Pazar


Önemli fark, özel üye değişkenleri değil, ama belirli bir kullanıcı ile devlet ilişkilendirme ("alışveriş sepeti").

Duruma oturum fasulye duruma parçayı sunucu uygulamalarına oturum gibi. Duruma oturum fasulye, app hala eğer bir web istemcisi değil eğer öyle de bu oturum için izin ver. App server nesne havuzdan vatansız bir oturum fasulye getirir, belirli bir kullanıcı ile ilgili değil, çünkü HERHANGİ bir talebi karşılamak için kullanılabilir, çünkü o bunu biliyor.

Duruma özel bir oturum bean alışveriş sepeti bilgilerini sadece onlara bilinmelidir çünkü o kullanıcı için ilk etapta ganimeti etrafındakilere dağıtmış olmalı. App server bu kadar olmasını sağlar. Nasıl popüler app eğer alışveriş başlamadan eğer olacağını hayal et ve sonra uygulama sunucusu boyunca geldiğimde bana durumlu oturum bean verdi!

Özel veri üyesi gerçekten de öyle "" ama değil "alışveriş sepeti". devlet Artan değişken belirli bir kullanıcı ile ilgili olduğunu ve bu yüzden bunu yapmak için çok iyi bir örnek yeniden deneyin. Bunu artırmak, yeni bir kullanıcı oluşturmak, ve eğer hala artan değeri görüyorlar. Eğer doğru yapılırsa, her kullanıcı sadece sayaç onların halini görmek gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Vivona

    Ben Vivona

    24 Ocak 2010
  • KIT KAT

    KIT KAT

    3 EKİM 2005
  • WHZGUD2

    WHZGUD2

    21 EYLÜL 2011