Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 了解EJB中无状态企业会话bean的功能_Java_Servlets_Jakarta Ee_Ejb_Stateless Session Bean - Fatal编程技术网

Java 了解EJB中无状态企业会话bean的功能

Java 了解EJB中无状态企业会话bean的功能,java,servlets,jakarta-ee,ejb,stateless-session-bean,Java,Servlets,Jakarta Ee,Ejb,Stateless Session Bean,我是EJB新手。我试图理解无状态企业bean的功能 请看以下示例: @Stateless @LocalBean public class FlightService implements Serializable { /** * Default constructor. */ public FlightService() { // TODO Auto-generated constructor stub } /** * @return the id */ public

我是EJB新手。我试图理解无状态企业bean的功能

请看以下示例:

 @Stateless
 @LocalBean
 public class FlightService implements Serializable {

/**
 * Default constructor. 
 */
public FlightService() {
    // TODO Auto-generated constructor stub
}
/**
 * @return the id
 */
public Integer getId() {
    return id;
}
/**
 * @param id the id to set
 */
public void setId(Integer id) {
    this.id = id;
}
/**
 * @return the from
 */
public String getFrom() {
    return from;
}
/**
 * @param from the from to set
 */
public void setFrom(String from) {
    this.from = from;
}
/**
 * @return the to
 */
    public String getTo() {
        return to;
   }
   public void setTo(String to) {
    this.to = to;
    }
/**
 * @return the price
 */
   public Integer getPrice() {
    return price;
    }
/**
 * @param price the price to set
 */
    public void setPrice(Integer price) {
        this.price = price;
   }
/**
 * @return the numOfSeats
 */
    public Integer getNumOfSeats() {
        return numOfSeats;
   }
/**
 * @param numOfSeats the numOfSeats to set
 */
   public void setNumOfSeats(Integer numOfSeats) {
       this.numOfSeats = numOfSeats;
    }
  /**
   * @return the airplaneModel
 */
   public String getAirplaneModel() {
        return airplaneModel;
   }
/* (non-Javadoc)
 * @see java.lang.Object#toString()
 */
@Override
public String toString() {
        return "FlightService [id=" + id + ", from=" + from + ", to=" + to + ", price=" + price + ", numOfSeats="
            + numOfSeats + ", airplaneModel=" + airplaneModel + "]";
}
/**
 * @param airplaneModel the airplaneModel to set
 */
public void setAirplaneModel(String airplaneModel) {
    this.airplaneModel = airplaneModel;
}
private Integer id =23467;
private String from="Los Angles";
private String to="London";
private Integer price=400;
private Integer numOfSeats=250;
private String airplaneModel="Boeing 787";

}
下面是使用@EJB依赖项注入的类

@EJB
private FlightService flightService;
@EJB
private FlightService flightService1;
@EJB
private FlightService flightService2;
@EJB
private FlightService flightService3;
@EJB
private FlightService flightService4;
@EJB
private FlightService flightService5;
@EJB
private FlightService flightService6;
public FlightDetails() {
    super();
    System.out.println(flightService);

}
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
  PrintWriter out = response.getWriter();
  response.setContentType("text/html");
  flightService.setAirplaneModel("Rishanth");
  flightService.setFrom("vijaywada");
  flightService.setId(1);
  flightService.setNumOfSeats(4);
  flightService.setPrice(4);
  flightService.setTo("hyderabad");      
  flightService4.setAirplaneModel("cannadian Airlines");
  out.println(flightService.getAirplaneModel());  

}
我想在打印时理解

 "flightService.getAirplaneModel()" 
为什么要设置该值

 "flightService4.setAirplaneModel("cannadian Airlines");"

任何帮助都将不胜感激。

这主要是因为J2EE服务器将为每个@Statelss EJB提供一个池,并且将为每个客户端创建一个新实例。在您的情况下,只有一个客户机正在使用注入的EJB

参考:


类似的问题:

这主要是因为J2EE服务器将为每个@Statelss EJB创建一个池,并且将为每个客户端创建一个新实例。在您的情况下,只有一个客户机正在使用注入的EJB

参考:


类似的问题:

因为bean应该是无状态的,即它没有任何会话状态。顺便说一句,即使它有一个,你也在flightService4上调用setAirplaneModel,在flightService上调用getAirplaneModel。@jbnize我为这个错误道歉。请再次讨论这个问题。同样,bean应该是无状态的。所以它不能有任何对话状态。容器可以自由地为任何请求重用任何实例,前提是同一实例不会同时处理两个请求。因为bean应该是无状态的,即它没有任何会话状态。顺便说一句,即使它有一个,你也在flightService4上调用setAirplaneModel,在flightService上调用getAirplaneModel。@jbnize我为这个错误道歉。请再次讨论这个问题。同样,bean应该是无状态的。所以它不能有任何对话状态。容器可以自由地为任何请求重用任何实例,前提是同一实例不会同时处理两个请求。