Die Architektur meiner Anwendung ist wie folgt:Fangen Ausnahme von DAO in der ersten Klasse Rufmethode,
Haupt classe -> ServiceBean -> Manager -> DAO.
ich eine Ausnahme in meinem DAO bin werfen:
catch (HibernateException he) {
throw new RemuRuntimeLoggableException(he, RuntimeLoggableException.HIBERNATE_UNKNOWN);
}
Dann in Managern fange ich die, wie unten Ausnahme:
catch (RuntimeLoggableException e) {
log.info(e.getMessage());
e.printStackTrace();
throw new RuntimeLoggableException(e, RuntimeLoggableException.HIBERNATE_UNKNOWN);
Und in meinem ServiceBean, ich habe diese:
catch (RuntimeLoggableException e) {
log.info(e.getMessage());
e.printStackTrace();
throw new RemoteException();
In meiner Hauptklasse habe ich die Ausnahme wie gefangen dies:
catch (RemoteException e) {
log.info(prefixeLog + " Error");
log.info(e.getMessage());
Ich habe auch eine Schnittstelle Service.java. ServiceBean implementiert diese Schnittstelle und das Verfahren hier betroffen ist, wie unten in der Schnittstelle, Service.java erklärt:
public void calculate(boolean flag)
throws java.rmi.RemoteException;
Das Problem, das ich bekommen habe ist, dass die Ausnahme Remote vom ServiceBean, nicht in der Hauptklasse gefangen wird. Und ich kann die Schnittstelle Service.java nicht ändern, da sie automatisch von XDoclet generiert wird. Irgendeine Idee, wie man das bitte macht?
public void calculate(boolean flag)
throws java.rmi.RemoteException;
Und in meiner Klasse ist es, wie unten erklärt:
In meinem Service.java wird das Verfahren wie folgt erklärt
public static void main(String[] args) throws RuntimeLoggableException {
try {
log.info("Start" + prefixeLog);
serviceBean.calculate(true);
log.info("End" + prefixeLog);
} catch (RemoteException e) {
log.info(prefixeLog + " Error");
log.info(e.getMessage());
}
finally {
InitFramework.stopFramework(FrameworkFacade.BATCH);
System.exit(retour);
}
}
Und in meinem serviceBean:
public void calculate(boolean flagExclurePlansPerimes) throws RemoteException {
Ist es möglich, dass "RemoteException" mehrere Implementierungen in mehreren Bibliotheken hat? versuchen Sie im Wesentlichen zu haben: 'catch (java.rmi.RemoteException ex) {...}' –
@AvihooMamka: Ihre Lösung funktioniert auch nicht. Die Hauptklasse und die anderen Klassen befinden sich in verschiedenen Projekten. Ich habe einige weitere Erklärungen in meiner Frage hinzugefügt. Kannst du es bitte überprüfen? – tabby
Wenn dies immer noch ein Problem ist, können Sie bitte die Protokollmeldungen hinzufügen, die Sie erhalten? –