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
Ö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.
Java: kontrol vs denetlenmeyen özel du...
Java Dizi ya da Liste. Daha hızlı olan...
hata: üye '..' olmayan bir s...
Nasıl ek açıklamalar kullanılarak yapı...
Özel durum yakalandı Java değil mi?...