我创建了新的类库,其中包含类:
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创建,但它给出了相同的结果。
答案 0 :(得分:3)
您的myData
课程应该实现java.io.Serializable
界面。