Вызов локального метода EJB завершается неудачно с java.lang.ClassCastException

У меня есть класс Local Ejb, который реализует следующий интерфейс:

public interface LocalEjbService {
    public String saveOrders(String request);
    public SaveOrdersResponse saveOrders(Integer request);
}

когда я вызываю публичный метод String saveOrders(String request), все идет хорошо. и ответ возвращается без исключений, но когда я попытался вызвать второй метод, вызов проходит нормально, но когда возвращается метод EjbResponse, исключение возвращается клиенту ejb, как показано ниже

java.lang.ClassCastException: com.thegroup.common.beans.ejb.response.oms.SaveOrdersResponse cannot be cast to com.thegroup.common.beans.ejb.response.oms.SaveOrdersResponse

1 ответ

Решение

Это может произойти, если SaveOrdersResponse загружен двумя разными загрузчиками классов. Один раз клиент делает вызов, и один раз реализация возвращает ответ. Я хотел бы убедиться, что jar, который содержит объекты переноса и интерфейсы EJB, доступен для обеих библиотек. Не кладите это туда дважды. Например, в папке lib EAR есть отличное место для таких общих библиотек, как эта.

Другие вопросы по тегам