0
어떻게 든 원격 원격 EJB3 호출을 시도하면 ClassCastException이 발생합니다.EJB3 원격 호출이 ClassCastException을 던졌습니다
public interface CardManager extends Manager {
public CardCheckResponse check(CardCheckRequest request);
}
@Remote
public interface RMICardManagerRemote extends CardManager {
static String CARD_CHECK_RMI_REMOTE_JNDI = "CardCheckRMI/remote";
}
@Stateless
@RemoteBinding(jndiBinding = RMICardManagerRemote.CARD_CHECK_RMI_REMOTE_JNDI)
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public class RealRMICardManager implements RMICardManagerRemote {
private CardManager cardManager = injector.getInstance(CardManager.class);
@Override
public CardCheckResponse check(CardCheckRequest request) {
return cardManager.check(request);
}
}
클라이언트 :
InitialContext remoteContext = new InitialContext(PropertiesUtil.getCardCheckProp());
RMICardManagerRemote rmiCardManagerRemote = (RMICardManagerRemote) remoteContext.lookup(RMICardManagerRemote.CARD_CHECK_RMI_REMOTE_JNDI);
//throws ClassCastException
CardCheckResponse cardCheckResponse = rmiCardManagerRemote.check(cardCheckRequest);
스택 트레이스 : 그것은 중복 항아리가 있다면
java.lang.ClassCastException: com.cardcheck.dto.CardCheckResponse cannot be cast to com.cardcheck.dto.CardCheckResponse
at $Proxy307.check(Unknown Source)
at com.xxx.cardCheck(RechargeAdapter.java:267)
내가 확인했습니다, B 서버는
ut는 사실이 아닙니다. 누구든지이 문제를 해결할 생각이 있습니까?
미리 감사드립니다.