ExecutorService также предоставляет доступ к FutureTask, который будет возвращать вызывающему классу результаты фоновой задачи после завершения. В случае реализации Callable
public class TaskOne implements Callable<String> {
@Override
public String call() throws Exception {
String message = "Task One here. . .";
return message;
}
}
public class TaskTwo implements Callable<String> {
@Override
public String call() throws Exception {
String message = "Task Two here . . . ";
return message;
}
}
// from the calling class
ExecutorService service = Executors.newFixedThreadPool(2);
// set of Callable types
Set<Callable<String>>callables = new HashSet<Callable<String>>();
// add tasks to Set
callables.add(new TaskOne());
callables.add(new TaskTwo());
// list of Future<String> types stores the result of invokeAll()
List<Future<String>>futures = service.invokeAll(callables);
// iterate through the list and print results from get();
for(Future<String>future : futures) {
System.out.println(future.get());
}
I went straight to the source (to Eric Lawrence) and this is what he said:
Indeed, Fiddler shows your site is compressing properly.
Do you have an upstream proxy server in your environment? Did you try this test from your home network rather than your corporate network?
On Microsoft’s corporate network, we are all behind an ISA proxy server. It’s configured to remove the outbound Accept-Encoding header (which tells servers to use compression) and if a compressed response is received by the proxy, it’s decompressed by the ISA сервер. Это сделано для того, чтобы прокси ISA сервер может сканировать контент на предмет вредоносные данные. Обратной стороной является то, что Fiddler видит трафик только как он получен от вышестоящего прокси.
Обычно, когда нам нужно проверить сжатие и тому подобное, делаем так из дома или то, что называется «DTAP» —a прямая линия в Интернет, doesn’t go through the proxy.
Основываясь на различных ответах и комментариях, я собираюсь сделать вывод, что, возможно, сама страница ( text / html
) сжимается, но text / xml
вы доставляете как часть запроса AJAX (?), а другой контент, доставляемый для страницы, нет.
Как я уже упоминал в комментарии, вы обычно хотите сжать text / *
(например, text / html
, text / plain
, text / css
и т. д.) и application / javascript
& application / ecmascript
(согласно rfc4329 ). Если вы доставляете файлы .js
с использованием какого-либо другого типа MIME (например, application / x-javascript
или text / javascript
), вместо этого сжимайте его, или измените тип MIME, используемый для доставки файлов .js
в соответствии со стандартом RFC.
См. соответствующую ссылку ниже для обновления типов MIME, сжимаемых на вашем сервере:
И последнее, что я должен сделать, это некоторые веб-браузеры (в частности, определенные версии Netscape 4, но могут быть и другие) send Accept-Encoding: gzip, deflate
для запросов файлов CSS и JavaScript, но фактически не смог распаковать содержимое. Кроме того, в некоторых версиях Internet Explorer ( 5.5 и 6 ) были проблемы со сжатием.
Я знаю, что используемая мной конфигурация сжатия Apache по умолчанию решает эти проблемы, я '
На вкладке «Инспекторы» есть группа вложенных вкладок. Убедитесь, что у вас выбран Transformer. Затем для каждого запроса при загрузке страницы посмотрите, был ли он отправлен с помощью GZIP или без сжатия.
Fiddler довольно хорош и позволяет выбирать каждый отдельный запрос, сделанный при загрузке файла.
В моей версии скрипта есть кнопка AutoDecode, из-за которой все выглядит как без сжатия. После выключения мои ответы показали сжатие