docs: public void create(final Channel channel) {
          Assert.assertNotNull(channel);
  
          transactionTemplate.execute(new TransactionCallbackWithoutResult() {
  
              @Override
              protected void doInTransactionWithoutResult(TransactionStatus status) {
                  try {
  
                      ChannelDO channelDo = modelToDo(channel);
                      channelDo.setId(0L);
  
                      if (!channelDao.checkUnique(channelDo)) {
                          String exceptionCause = "exist the same name channel in the database.";
                          logger.warn("WARN ## " + exceptionCause);
                          throw new RepeatConfigureException(exceptionCause);
                      }
                      channelDao.insert(channelDo);
                      arbitrateManageService.channelEvent().init(channelDo.getId());
  
                  } catch (RepeatConfigureException rce) {
                      throw rce;
                  } catch (Exception e) {
                      logger.error("ERROR ## create channel has an exception ", e);
                      throw new ManagerException(e);
                  }
              }
          });
      }