我有ejb课程:
@Stateless
public class WholesaleEJB {
@PersistenceContext(unitName = "wholesale")
EntityManager entityManager;
public void createClient(Clients client) {
System.out.println("Creating car!");
entityManager.persist(client);
}
}
我尝试在REST类中注入它:
@Stateless
@Path("wholesale")
public class WholesaleREST implements WholesaleInterface {
@EJB
private WholesaleEJB bean;
@Override
@POST
@Path("/create")
public String createClient(InputStream is) {
Clients clients = JAXB.unmarshal(is, Clients.class);
bean.createClient(clients); //here is nullpointer
return "car created!";
}
}
休息界面:
@Local
public interface WholesaleInterface {
public abstract String createClient(InputStream is);
}
我在其他帖子中读到你必须在bean中注入@EJB
,所以我将@Stateless
添加到我的休息服务类中。我还读到bean应该有接口所以我添加了接口。程序仍在我评论的休息类中抛出NullPointerException
。我在其他帖子中找不到类似的问题,所以我自己提问。我相信错误很容易,而且比我聪明的人会在一分钟内找到它。我整天都在寻找它。请帮忙。谢谢你的时间。
编辑:删除了EjbInterface和mappedName属性,就像我在评论中建议的那样。