Итак, в приложении используется Vaadin 7. Во время логина идентификатор пользователя сохраняется в куки, откуда потом извлекается путем VaadinService.getCurrentRequest(). Если покопаться в исходниках ваадина (или применить логику, на выбор), становится ясно, что Request этот ThreadLocal.
А теперь ближе к сути: в EventBus постится ивент, после чего хендлер должен его обработать в каждом из потоков приложения. Как я понял из спек, в Guava EventBus для этого используется AsyncEventBus, а хендлер помимо @Subscribe аннотируется еще и @AllowConcurrentEvents. Итак, постится ивент, хендлер для каждого потока его обрабатывает и вроде бы все замечательно, но нет. Хендлер запускается в потоке, который не имеет доступа к Request'у и соответственно не может получить куки, которые ему нужны. Вся логика рушится, я агрессивно лысею в интимных местах и наступает полное уныние. Пока свой EventBus велосипедить не берусь, прошу совета.