Модуль EJB не найден - PullRequest
       19

Модуль EJB не найден

0 голосов
/ 13 октября 2019

Я новичок в разработке и хочу использовать EJB в javaEE. Мой код прост, я хочу создать экземпляр и вставить его в БД, а затем проверить вставку, к сожалению, когда я запускаю клиент, я получаю(нет модуля EJB) класс не найден в функции поиска, SEVERE: EJB6005: не найдены модули EJB javax.naming.NamingException: не удалось выполнить поиск для 'vlibtour.vlibtour_tour_management.api.VlibTourTourManagement' в SerialContext [myEnv = {java. initial = com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs = com.sun.enterprise.naming, java.naming.factory.state = com.sun.corba.ee.impl. presentation.rmi.JNDIStateFactoryImpl} [Исключением корня является javax.naming.NameNotFoundException: vlibtour.vlibtour_tour_management.api.VlibTourTourManagement not found]

, отмечая, что оно хорошо работает в тестовом Junit. ниже приведен фрагмент моего кода:

интерфейс:

@Remote

public interface VlibTourTourManagement {   

String testInsert();

String verifyInsert();

Tour findCustomer(String name);
}

bean:

public String testInsert() {

Tour tour = new Tour();
tour.setId(1);
tour.setName("first tour");
// Persist the tour
em.persist(tour);

return "ok for tour";

}

@Override
public String verifyInsert() {
    Tour c = findCustomer("first tour");
    System.out.println(c.getName()+" "+ c.getId());
    return "inserted correctly";
}

@Override
public Tour findCustomer(final String name) {
    Query q = em.createQuery("select c from TOUR c where c.name = :name");
    q.setParameter("name", name);
    return (Tour) q.getSingleResult();
}

на стороне клиента:

@EJB public static VlibTourTourManagement sb;
private static EJBContainer ec;
private static Context ctx;

    Tour c;
    Map<String, Object> properties = new HashMap<String, Object>();
    properties.put(EJBContainer.MODULES, new File("target/classes"));
    ec = EJBContainer.createEJBContainer(properties);
    ctx = ec.getContext();
    try {
        sb = (VlibTourTourManagement) ctx.lookup("vlibtour.vlibtour_tour_management.api.VlibTourTourManagement");
        System.out.println("Inserting Tour... " + sb.testInsert());

        System.out.println("Verifying Tour... " + sb.verifyInsert());

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

Заранее спасибо.

...