java - 具有远程业务接口(interface)和客户端应用程序的 EJB

标签 java jakarta-ee glassfish ejb

我创建了新的类库,其中包含类:

class myData {
  private int id
  private Date date;
  private String text

  //...
  //Getters and setters
  //...
}

然后我创建了 EJB 模块和带有远程接口(interface)的 SessionBean。

@Stateless
public class myBean implements myBeanRemote {
  @Override
  public myData getData() {
    myData md = new myData();

    //...
    //set md data;
    //...

    return md;
  }

  @Override
  public String getMessage() {
    return "Hello";
  }
}

然后我在我的应用程序中使用这个 bean。

public class myApp {
  @EJB
  private static myBeanRemore mbr;

  public static void main(String[] args) {
    System.out.println( mbr.getMessage() );
    System.out.println( mbr.getData() );
  }
}

EJB 在 GlassFish 4 上运行。Bean 方法 getMessage() 运行良好,问题出在 getData() 上。我得到错误:java.lang.reflect.InvocationTargetException

我的自定义类 myData 的重点在哪里?带有 myData 的库随处可见,在 Glassfish 库中也是如此。我尝试使用 InitialContext 更改 bean 创建,但它给出了相同的结果。

最佳答案

您的 myData 类应该实现 java.io.Serializable 接口(interface)。

关于java - 具有远程业务接口(interface)和客户端应用程序的 EJB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29537408/

相关文章:

java - 如何将 JavaSE 客户端连接到 JavaEE 服务器并发送可序列化对象?

java - 如何发布Web应用项目?

java - 什么是多线程环境中的忙自旋?

java - UTF-8 |表单提交中的特殊字符问题 | java.io.CharConversionException异常

java - 如何通过 eclipse 菜单中的 "Eclipse Marketplace"或 "Install New Software"选项安装 eclipse 源代码?

java - JPA createNativeQuery 以列名(和表名)作为参数

java - 无法使用 Java/JSP 将数据插入 Apache Derby 数据库

java - 什么是 Glassfish ?

java - 更新后两个线程看到相同的值

java - 包含数字和数字组的复杂正则表达式