EJB具有远程业务接口和客户端应用程序

时间:2015-04-09 11:33:39

标签: java java-ee glassfish ejb

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

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

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

然后我用远程接口创建了EJB模块和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创建,但它给出了相同的结果。

1 个答案:

答案 0 :(得分:3)

您的myData课程应该实现java.io.Serializable界面。