I try to run several requests do different servers and debug program behaviour. Firstly I create and run several asynctasks which make several requests
public class MyTask extends AsyncTask<Object, Void, Void> {
int runnnigDownloadThreadsCount = 0;
@Override
protected Void doInBackground(Object... params) {
runnnigDownloadThreadsCount++;
try {
// TODO здесь необходимо исправить serverName на оригинальный урл с указанием параметра сервера
List<TravelTicket> ticketsList = TravelTicket.downloadTickets((TravelTicket.RequestServerParams) params[0], (String) params[1]);
if (ticketsList != null)
synchronized (TravelBookingApplication.travelTicketsList) {
TravelBookingApplication.travelTicketsList.addAll(ticketsList);
}
return null;
} catch (Exception e) {
throw new Error(e);
}
}
@Override
protected void onPostExecute(Void result) {
runnnigDownloadThreadsCount--;
if (runnnigDownloadThreadsCount == 0) {
Intent i = new Intent(getActivity().getApplicationContext(), HotelsAndTicketsResponseListActivity.class);
i.putExtra("requestType", "tickets");
getActivity().startActivity(i);
if (dialog != null)
dialog.dismiss();
}
}
}
String[] urls = new String[]{
"http://dl.dropbox.com/u/34053723/provider1.json"
,
"http://dl.dropbox.com/u/34053723/provider2.json",
"http://dl.dropbox.com/u/34053723/provider3.json",
"http://dl.dropbox.com/u/34053723/provider4.json"
};
for (final String serverName : urls) {
// TODO ЗАМЕНИТЬ!!!
// for (final String serverName : params.serverNames) {
new MyTask().execute(params, serverName);
}
Next in function TravelTicket.downloadTickets(...) I load data with RestTemplate
public static ArrayList<TravelTicket> downloadTickets(RequestServerParams requestServerParams, String serverName) throws Exception {
// Запрос к серверу с указанием конретного провайдера и идентификторов запроса
// Заголовки
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setUserAgent(TravelBookingApplication.USER_AGENT);
HttpEntity requestEntity = new HttpEntity(requestHeaders);
RestTemplate restTemplate = new RestTemplate();
Each the thread approaches with the last line HttpEntity requestEntity = new HttpEntity(requestHeaders);
But after the first runs here debugger freezes. It looks like it stops on a breakpoint but there are no one.