У меня есть метод в классе, в котором я использовал механизм String Retry. И мой код:
@Override
@Retryable(
value={RuntimeException.class,IOException.class},
maxAttempts=3,
backoff=@Backoff(delay=5000)
)
public void sampleService(String payLoad, String type) throws HttpException, IOException
{
StringRequestEntity requestEntity = null;
PostMethod postMethod = new PostMethod();
HttpClient httpclient = new HttpClient();
InputStream inputStream = null;
int statusCode;
BufferedReader br = null;
String line;
StringBuffer eventResponse = new StringBuffer();
String jsonReceive = null;
try{
requestEntity = new StringRequestEntity(payLoad, MEDIA_TYPE, FORMAT);
if (type.equalsIgnoreCase("item")) {
postMethod = new PostMethod(baseServiceUrl + apiItemServiceUrl);
} else if (type.equalsIgnoreCase("itemGroup")) {
postMethod = new PostMethod(baseServiceUrl
+ apiItemGroupServiceUrl);
}
postMethod.setRequestEntity(requestEntity);
statusCode = httpclient.executeMethod(postMethod);
log.info("Status code from item service call: " + statusCode);
if (statusCode != 200) {
throw new Exception("Error in service call");
}
inputStream = postMethod.getResponseBodyAsStream();
if (null != inputStream) {
br = new BufferedReader(new InputStreamReader(inputStream,
FORMAT));
for (line = br.readLine(); line != null; line = br.readLine()) {
eventResponse = eventResponse.append(line);
}
}
}
catch(Exception e){
log.info("Exception occurs " + e);
throw new RuntimeException(
"Exception occurs " + e);
}
jsonReceive = eventResponse.toString();
log.info("JsonReceive from the Service" + jsonReceive);
}
Я хочу написать тестовый пример Junit для вышеуказанного метода и должен быть повторите попытку более одного раза, когда возникает исключение. Может ли кто-нибудь помочь мне написать тестовый пример ??