gpt4 book ai didi

java - 什么是 EJB 客户端?

转载 作者:搜寻专家 更新时间:2023-11-01 03:08:25 25 4
gpt4 key购买 nike

ALL,我是Java World的EJB新手,看了Ejb3.0 in Action这本好书之后,我有一个关于 session Bean 的问题。什么是 session 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 客户端?另一个问题是如果它在 Servlet 而不是 main 方法中怎么办?谢谢。

最佳答案

EJBClient 是一个本地程序,可以调用和操作Remote Bean

在这里,在您的场景中,触发 PlaceOrderBean 的是客户端

在 Servlet 的情况下,如果 Servlet 调用 EJB 它在技术上是客户端,但通常称为 Facade

关于java - 什么是 EJB 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14708522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com