Ich habe eine JEE5-Anwendung, die Dienste mit (lokalen) Session-Beans verfügbar macht.Wie können RuntimeException-Details vom EJB-Client ausgeblendet werden?
Wenn während der Ausführung des Diensts ein interner Fehler auftritt, wird eine RuntimeException von JBoss (5.0.1) in einer javax.ejb.EJBTransactionRolledbackException ausgelöst und gekapselt.
Das Problem besteht darin, dass Clientanwendungen, die diese EJBTransactionRolledbackException empfangen, auf detaillierte Informationen zur Cause-Laufzeitausnahme zugreifen können, wodurch die interne Architektur meiner Anwendung offengelegt wird. Und das will ich nicht.
Stattdessen möchte ich, dass JBoss RuntimeException, die von exposed Session-Beans ausgelöst wird, immer in eine einzige (und einfache) TechnicalException (ohne Ursache) kapselt.
Was ist der beste Weg, dies zu erreichen? (Verwenden von Interceptors? Verwenden der JBoss-Konfiguration?)