SERVLET
public class test extends HttpServlet {
@EJB
private LocalBean lookupBean;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
for(Item i : lookupBean.getMyCollection() )
{
out.println(i.getItemName());
}
out.close();
}
}
BEAN INTERFACE
public interface BeanLocal {
Collection<Item> getMyCollection();
}
BEAN IMPLEMENTATION
@Stateless()
public class Bean implements BeanLocal {
@PersistenceContext()
private EntityManager em;
public Collection<Item> getMyCollection() {
return em.createQuery("SELECT i from ITEM i").getResultList();
}
and if you create an instance of your servlet you'll have to reinitialize LocalBean
@EJB(name="myejbref", beanInterface=BeanLocal.class)
private BeanLocal lookupBean;
private BeanLocal getLookupBean() {
if(lookupBean == null) {
try {
InitialContext ic = new InitialContext();
lookupBean = (BeanLocal) ic.lookup("java:comp/env/myejbref");
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
return lookupBean;
}