4

すべて、私は Java World の EJB の初心者です。Ejb3.0 in Actionという名の良い本を読んだ後、Session Bean について質問があります。セッション Bean の EJB クライアントとは何ですか? 以下のようなコードがあるとします。

//EJB definition
import javax.ejb.Remote;
@Remote
public interface PlaceOrder {
  ..
  void addItem(Long itemId);
  Long confirmOrder(); 
  ..
}

@Stateful
public class PlaceOrderBean implements PlaceOrder {
  private List<Long> items;
  public PlaceOrderBean () {
    items = new ArrayList<Long>();
  }

  public void addItem(Long itemId) {
    items.add(itemId);
  }

  @Remove
  public Long confirmOrder() {
    Order order = new Order();
    ...
    return order.getOrderId();
  }
}


//Client 
import javax.ejb.EJB;
public class PlaceOrderTestClient {
  @EJB
  private static PlaceOrder placeOrder1;
  @EJB
  private static PlaceOrder placeOrder2;
  public static void main(String [] args) throws Exception {
    System.out.println("Exercising PlaceOrder EJB...");
    placeOrder1.addItem(new Long(200));
    placeOrder1.addItem(new Long(201));

    Long orderId = placeOrder1.confirmOrder();
    System.out.println("Order confirmation number: " + orderId);
  }
}

更新しました

EJB クライアントとはplaceOrder1placeOrder2またはメイン アプリケーションを意味しますか? 複数のEJBクライアントということですか? 別の質問は、それがServletmain メソッドの代わりにある場合はどうなるでしょうか? ありがとう。

4

2 に答える 2

3

EJBClientRemoteBeanを呼び出して操作できるローカルプログラム

ここで、あなたのシナリオでPlaceOrderBeanは、トリガーするものは何でもクライアントです

サーブレットの場合、Servletを呼び出す場合、EJB技術的にはクライアントですが、頻繁に呼び出されますFacade

于 2013-02-05T13:24:33.073 に答える