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);
 }