Java ExceptionTranslator的异常不会返回到flex
我正在使用Flex+Blazeds+Spring Security。我的特例Translator发生了一些奇怪的事情Java ExceptionTranslator的异常不会返回到flex,java,spring,apache-flex,spring-security,blazeds,Java,Spring,Apache Flex,Spring Security,Blazeds,我正在使用Flex+Blazeds+Spring Security。我的特例Translator发生了一些奇怪的事情 public class ProjectExceptionTranslator implements ExceptionTranslator { @Override public boolean handles(Class<?> arg0) { return true; } @Override public Messa
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;
}
公共类ProjectExceptionTranslator实现ExceptionTranslator{
@凌驾
公共布尔句柄(类arg0){
返回true;
}
@凌驾
公共消息异常翻译(可丢弃可丢弃){
MessageException=newmessageexception();
if(BadCredentialsException的可丢弃实例){
例外情况。设置代码(“08”);
异常。setMessage(“登录错误”);
}
if(HibernateException的可丢弃实例){
例外情况。设置代码(“16”);
异常。setMessage(“数据库错误”);
}
返回异常;
}
}
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解决了这个问题。您是否使用Spring框架进行依赖项注入?如果这是真的,那么您的HibernateException可能会被包装到相应的Spring异常中。@MaksymDemidas您可能是对的,但我仍然可以用上面的代码捕获数据库错误。所有异常都由ProjectExceptionTranslator处理,我的问题是何时返回此异常。异常并没有返回到flex,它不知何故丢失了。