Я использовал сервлет и JNDI, но не могу найти свой ejb, почему? - PullRequest
0 голосов
/ 12 января 2020

У меня есть простой EJB

package ee;

@Stateless
public class EjbBean {

    public String getName(){
    return "max ";
    }
}

И сервлет, когда я нахожу, что мой EJB использовал имя JNDI.

package ee;

@WebServlet("/hello")
public class MyServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        resp.setContentType("text/html;charset=utf-8");
        PrintWriter pw = resp.getWriter();

        {
            try {
                InitialContext initialContext = new InitialContext();
                EjbBean ejbBean = (EjbBean)initialContext.lookup("java:global/ee/EjbBean");
                pw.println(ejbBean.getName());

            } catch (NamingException e) {
                e.printStackTrace();
            }
        }
    }
}

Я пытался использовать разные имена, я использовал package, и использовал без него , но постоянно получаю ошибку

javax.naming.NameNotFoundException: Name current name not found.

Почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...