我创建了新的类库,其中包含类:
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/