Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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
Jakarta ee 选择EJB容器中的类_Jakarta Ee_Ejb_Pojo - Fatal编程技术网

Jakarta ee 选择EJB容器中的类

Jakarta ee 选择EJB容器中的类,jakarta-ee,ejb,pojo,Jakarta Ee,Ejb,Pojo,我有一些关于EJB的基本问题(根据EE7) 下面是一个类层次结构: public class Class1 {}; public class Class2 extends Class1 {}; public class Class3 extends Class1 {}; public class Class4 extends Class3 {}; 我想用Class4制作一个EJB。所以 是否有必要将Class1(超级类)转换为EJB,或者我可以简单地将Class4转换为EJB Class1是

我有一些关于EJB的基本问题(根据EE7)

下面是一个类层次结构:

public class Class1 {};
public class Class2 extends Class1 {};
public class Class3 extends Class1 {};
public class Class4 extends Class3 {};
我想用Class4制作一个EJB。所以

  • 是否有必要将Class1(超级类)转换为EJB,或者我可以简单地将Class4转换为EJB
  • Class1是抽象的还是具体的重要吗
  • 如果我把Class1变成EJB,那么它的所有子类都变成EJB了吗
  • 这个层次结构中的每个类都是POJO吗
  • 不管我制作了多少个EJB,是否总是有一个EJB容器
  • 如果容器中有多个EJB在运行,那么它们是否需要使用JMS实现来进行通信或CDI
  • 您只需将
    Class4
    转换为EJB即可。只要用
    @Stateless
    注释它,就可以创建一个无状态EJB,如果您想在不声明接口的情况下公开它的方法,还可以用
    @LocalBean
    注释它

  • 无论
    Class1
    是抽象的还是具体的

  • 如果将
    Class1
    转换为EJB,它将不会影响其继承的类。但是在这种情况下,
    Class1
    不能是抽象的

  • 呃…是的

  • 在某些EJB是消息驱动bean的情况下,可以使用JMS。但是,如果您的EJB是SFSB的SLSB,它们将在同一容器上通过普通java调用进行通信,如果它们不在同一容器上,则使用RMI进行通信。CDI可用于获取EJB的实例(
    @Inject
    ),因为EJB是CDIBean。但您也可以使用基本DI来实现这一点(
    @EJB


  • 谢谢你,本杰明。关于问题#4,我想问的是,在它们变成特殊对象(如EJB)之前,它们不都是POJO吗?从理论上讲,不是每个对象都是POJO吗,还是只有实体bean被视为POJO?