Делается в Java подобное посредством ScheduledExecutorService.
В библиотеке это реализовано
так и
так
Вообще советую разобраться с содержимым пакета java.util.concurrent.
Собственно советую глянуть Atmosphere - отлично интегрируется в Play2 / Grails, и поддержка в целом получше. С Socket.io там проблем нет.