Chvalov: что-то тут совсем все плохо. Запись mWaitingForResponse = true происходит вне synchronized блока, то есть эту запись другие потоки могут и не увидеть. Далее, cancel() может сработать ДО запуска задачи. У вас может быть так, что задача уже запустилась, когда вы пытаетесь сделать cancel. Я бы переписал все на non-blocking IO.
Если используете Spring, то запустить поток очень просто: вы должны поместить экземпляр ExecutorService в контекст спринга и инъектировать его в ваш сервлет.
Если нет, то можно просто сделать статическое поле в вашем сервлете, куда поместить ExecutorService. Это не очень правильно с точки зрения J2EE, но в Tomcat проблем не будет.
Не думаю, что в Windows можно напрямую получить доступ к USB. Если нужно решение без драйверов и без рута на телефоне, то лучше всего использовать файлы. Во всех современных ОС можно следить за директорией на диске, при изменениях будет оповещение. Телефон пишет в файл, программа получает оповещение и читает файл. И наоборот.
https://android.stackexchange.com/questions/2298/h...
Если вы на винде, то, как я понял, вам как раз bridge делать не надо. Должно быть просто локальный сетевой интерфейс. Маршруты можно проверить через route print
Вы только первый ответ прочли? :) Там как раз написано "Don't stop reading... much more complete answer below"
Да, я был не совсем прав, вы зря сделали git clone, оно как раз и создает совершенно отдельную папку.
Нужно использовать варианты из моей ссылки.
Нужно правильно настроить роутинг. Выделите для этой "сети" адреса, которые вы не используете. Если, допустим, домашняя сеть на 192.168.1.*, то для этой "сети" сделайте 192.168.100.*
Похоже, там проблема куда глубже. Интерфейс eth0 почему-то дергает down/up во время работы dhclient, и последний тупо подвисает. В итоге я откатился на upstart, в котором этой проблемы нет.
Попробовал RestEasy, как-то плохо он дружит со Spring Boot, там проблемы с BeanPostProcessor, у них баг открыт, но пока его пофиксят... Http Invoker - это вообще из Spring 2, там нет механизма, который я хочу.
Вы оказались правы. Дело было в репозитории security, который поставил новые версии glibc. Сделал yum downgrade glibc glibc-common и еще парочки, и все заработало.