我正在使用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;
}
}
spring抛出的所有消息,例如:BadCredentialsException,返回到flex。但是,如果我的服务抛出一些东西,例如:HibernateException,它不会返回到flex。
这是我的配置:
<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>
我错过了什么吗?谢谢。
我通过重新安装Flash Builder解决了这个问题。