2013-04-02 6 views
0

я пытаюсь осуществить длинный опрос с помощью пружины, вот пример кодвесна вызываемый не работает

Вот код для моего метода асинхронного:

@RequestMapping(value= "failed.html" ,method = RequestMethod.POST) 
protected Callable<String> callable(@ModelAttribute("user") Message user1, BindingResult bindingResult){ 
    return new Callable<String>() { 
     @Override 
     public String call() throws Exception { 
      System.out.println("call--------->"); 
      Thread.sleep(2000); 
      return "success"; 
     } 
    }; 
    } 

Вот callablecontroller-servlet.xml :

<beans 
    xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" 
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:mvc="http://www.springframework.org/schema/mvc" 
xsi:schemaLocation=" 
http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-3.2.xsd 
http://www.springframework.org/schema/mvc 
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"> 



<bean id= "viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix"><value></value></property> 
    <property name="suffix" value=".jsp"></property> 
</bean>  

<bean id="callable" class="spring.controller.CallableController"> 
</bean> 

Однако "вызов ------------" никогда не печатается в минусах ole и он показывает failed.jsp вместо success.jsp. Любая помощь будет оценена по достоинству.

+0

Если вы можете показать, где «failed.jsp» упоминается в источнике, что помогло бы. Это в каком-то обработчике исключения? – brainOverflow

+0

@vendhan спасибо за поддержку, я решил проблему, я пропустил установку асинхронной поддержки контроллера – Bhaskar

ответ

0

Мое первое подозрение касается аргументов вызываемого метода. Попробуйте добавить ExceptionHandler к классу контроллера следующим образом, чтобы знать, что происходит не так:

@ExceptionHandler 
@ResponseBody 
public String handleException(IllegalStateException ex) { 
    System.out.println("Exception --------->"); 
    return "Handled exception: " + ex.getMessage(); 
}