public String insertMessage(MessageRequest messageRequest) throws Exception { MessageDTO messageDTO = new MessageDTO(); messageDTO.setMessageId(MessageUtil.generateUniqueKey()); messageDTO.setUsername(messageRequest.getUsername()); messageDTO.setText(messageRequest.getText()); messageDTO.setExpirationDate(MessageUtil.getExpirationDate(messageRequest.getTimeout())); timer = new Timer(); timer.schedule( new ExpireTask(messageDTO, timer), MessageUtil.getTimeout(messageRequest.getTimeout())); return messageDao.insertUnExpiredMessage(messageDTO); }