1

我正在使用 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。但是,如果我的服务抛出一些 ex: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>

我错过了什么吗?谢谢。

4

1 回答 1

0

我通过重新安装 Flash Builder 解决了这个问题。

于 2013-02-04T11:39:49.560 回答