Записываешь куда-нить в базу дату и время, когда проверять. Делаешь класс, который будет implements Runnable, и пишешь в нём проверку, прошло ли уже то время, что в БД (пиши просто unixtime, так проще всего) и если прошло - чекаешь что надо. По окончании проверки он должен установить в базу новые дату и время, а также зашедулить себя же через, скажем час, с помощью Future. При старте сервера просто создаёшь новый объект этого класса и дёргаешь его основную функцию. Если время уже прошло - он сразу всё проверяет и выставляет новую дату/время.
[team Їжачки - сумні падлюки]