Flex + Blazeds + Spring Security を使用しています。ExceptionTranslator で奇妙なことが起こっています。
public class ProjectExceptionTranslator implements ExceptionTranslator {
@Override
public boolean handles(Class<?> arg0) {
return true;
}
@Override
public MessageException translate(Throwable throwable) {
MessageException exception = new MessageException();
if (throwable instanceof BadCredentialsException) {
exception.setCode("08");
exception.setMessage("Login error.");
}
if (throwable instanceof HibernateException) {
exception.setCode("16");
exception.setMessage("Data base error.");
}
return exception;
}
}
スプリングがスローするすべてのメッセージ (例: BadCredentialsException) は、flex に戻ります。しかし、私のサービスが HibernateException などの何かをスローした場合、それはフレックスに戻りません。
これは私の設定です:
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<flex:message-broker>
<flex:exception-translator ref="projectExceptionTranslator" />
<flex:secured />
</flex:message-broker>
何か不足していますか?ありがとう。