2017-06-23 2 views
-1

Dans mon application, j'appelle des services Web. J'ai donc pensé à implémenter le mécanisme Spring Retry pour rendre le traitement plus robuste et moins sujet à l'échec. C'est la première fois que j'utilise Spring Retrytemplate.setRetryPolicy (policy) lance une erreur de syntaxe

J'ai créé une classe de service d'application dans laquelle je déclare RetryTemplate et définit RetryPolicy.

Mais il est jeter ci-dessous erreur de syntaxe

"Multiple markers at this line 
- Syntax error, insert "Identifier (" to complete MethodHeaderName 
- Syntax error on token ".", @ expected after this token 
- Syntax error, insert ")" to complete MethodDeclaration" 

Même si j'utilise ctrl + espace ce n'est pas montrer méthode setRetryPolicy().

Ci-dessous est ma classe:

import java.util.Collections; 

import org.springframework.retry.policy.SimpleRetryPolicy; 

import org.springframework.retry.support.RetryTemplate; 

public class ApplicationServiceRetry { 

    SimpleRetryPolicy policy = new SimpleRetryPolicy(5,Collections 
      .<Class<? extends Throwable>, Boolean> singletonMap(Exception.class, true)); 
    RetryTemplate template = new RetryTemplate(); 
    template.setRetryPolicy(policy); //it's throwing error here 

} 

Je me réfère http://docs.spring.io/spring-batch/reference/html/retry.html. Ici j'utilise Spring-retry 1.1.5.RELEASE.

+0

code Java qui n'est pas une déclaration sur le terrain (vos 2 premières lignes, peut-être involontairement) ne peuvent pas exister en dehors des méthodes (ou des initialiseurs). Vous devrez mettre 'template.setRetryPolicy (policy); 'Dans un endroit où c'est légal. – zapl

Répondre

0

??

template.setRetryPolicy(policy); 

Vous ne pouvez pas simplement mettre un code arbitraire là dans une classe - il doit être dans une méthode, ou un bloc d'initialisation ...

public class ApplicationServiceRetry { 

    SimpleRetryPolicy policy = new SimpleRetryPolicy(5, 
      Collections.<Class<? extends Throwable>, Boolean> singletonMap(Exception.class, true)); 

    RetryTemplate template = new RetryTemplate(); 

    { 
     template.setRetryPolicy(policy); 
    } 

} 
+0

Merci. Celui-ci a fonctionné. – jaswanth