org.keycloak.common.util.Time.toMillis()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(4.9k)|赞(0)|评价(0)|浏览(72)

本文整理了Java中org.keycloak.common.util.Time.toMillis()方法的一些代码示例,展示了Time.toMillis()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Time.toMillis()方法的具体详情如下:
包路径:org.keycloak.common.util.Time
类名称:Time
方法名:toMillis

Time.toMillis介绍

[英]Returns time in milliseconds for a time in seconds. No adjustment is made to the parameter.
[中]以毫秒为单位返回以秒为单位的时间。没有对参数进行任何调整。

代码示例

代码示例来源:origin: org.keycloak/keycloak-model-mongo

@Override
public void init(Config.Scope config) {
  int lockRecheckTime = config.getInt("lockRecheckTime", 2);
  int lockWaitTimeout = config.getInt("lockWaitTimeout", 900);
  this.lockRecheckTimeMillis = Time.toMillis(lockRecheckTime);
  this.lockWaitTimeoutMillis = Time.toMillis(lockWaitTimeout);
  logger.debugf("Mongo lock provider configured with lockWaitTime: %d seconds, lockRecheckTime: %d seconds", lockWaitTimeout, lockRecheckTime);
}

代码示例来源:origin: org.keycloak/keycloak-model-jpa

@Override
public void init(Config.Scope config) {
  int lockWaitTimeout = config.getInt("lockWaitTimeout", 900);
  this.lockWaitTimeoutMillis = Time.toMillis(lockWaitTimeout);
  logger.debugf("Liquibase lock provider configured with lockWaitTime: %d seconds", lockWaitTimeout);
}

代码示例来源:origin: org.keycloak/keycloak-model-jpa

@Override
public void waitForLock() {
  boolean locked = false;
  long startTime = Time.toMillis(Time.currentTime());
  long timeToGiveUp = startTime + (getChangeLogLockWaitTime());
  boolean nextAttempt = true;
  while (nextAttempt) {
    locked = acquireLock();
    if (!locked) {
      int remainingTime = ((int)(timeToGiveUp / 1000)) - Time.currentTime();
      if (remainingTime > 0) {
        log.debugf("Will try to acquire log another time. Remaining time: %d seconds", remainingTime);
      } else {
        nextAttempt = false;
      }
    } else {
      nextAttempt = false;
    }
  }
  if (!locked) {
    int timeout = ((int)(getChangeLogLockWaitTime() / 1000));
    throw new IllegalStateException("Could not acquire change log lock within specified timeout " + timeout + " seconds.  Currently locked by other transaction");
  }
}

代码示例来源:origin: org.keycloak/keycloak-model-mongo

@Override
public void waitForLock() {
  boolean locked = false;
  long startTime = Time.toMillis(Time.currentTime());
  long timeToGiveUp = startTime + (factory.getLockWaitTimeoutMillis());
  while (!locked && Time.toMillis(Time.currentTime()) < timeToGiveUp) {
    locked = acquireLock();
    if (!locked) {
      int remainingTime = ((int)(timeToGiveUp / 1000)) - Time.currentTime();
      logger.debugf("Waiting for changelog lock... Remaining time: %d seconds", remainingTime);
      try {
        Thread.sleep(factory.getLockRecheckTimeMillis());
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
  }
  if (!locked) {
    DBObject query = new BasicDBObject("_id", 1);
    DBCursor cursor = db.getCollection(DB_LOCK_COLLECTION).find(query);
    String lockedBy;
    if (cursor.hasNext()) {
      DBObject dbObj = cursor.next();
      lockedBy = dbObj.get("lockedBy") + " since " + Time.toDate(((int)((long) dbObj.get("lockedSince") / 1000)));
    } else {
      lockedBy = "UNKNOWN";
    }
    throw new IllegalStateException("Could not acquire change log lock.  Currently locked by " + lockedBy);
  }
}

代码示例来源:origin: org.keycloak/keycloak-events-api

private void send() {
  event.setTime(Time.toMillis(Time.currentTime()));
  if (store != null) {
    if (realm.getEnabledEventTypes() != null && !realm.getEnabledEventTypes().isEmpty() ? realm.getEnabledEventTypes().contains(event.getType().name()) : event.getType().isSaveByDefault()) {
      try {
        store.onEvent(event);
      } catch (Throwable t) {
        log.error("Failed to save event", t);
      }
    }
  }
  if (listeners != null) {
    for (EventListenerProvider l : listeners) {
      try {
        l.onEvent(event);
      } catch (Throwable t) {
        log.error("Failed to send type to " + l, t);
      }
    }
  }
}

代码示例来源:origin: org.keycloak/keycloak-model-mongo

private boolean acquireLock() {
  DBObject query = new BasicDBObject("locked", false);
  BasicDBObject update = new BasicDBObject("locked", true);
  update.append("_id", 1);
  update.append("lockedSince", Time.toMillis(Time.currentTime()));
  update.append("lockedBy", HostUtils.getHostName()); // Maybe replace with something better, but doesn't matter for now
  try {
    WriteResult wr = db.getCollection(DB_LOCK_COLLECTION).update(query, update, true, false);
    if (wr.getN() == 1) {
      logger.debugf("Successfully acquired DB lock");
      factory.setHasLock(true);
      return true;
    } else {
      return false;
    }
  } catch (DuplicateKeyException dke) {
    logger.debugf("Failed acquire lock. Reason: %s", dke.getMessage());
  }
  return false;
}

代码示例来源:origin: org.keycloak/keycloak-model-api

public static UserSessionRepresentation toRepresentation(UserSessionModel session) {
  UserSessionRepresentation rep = new UserSessionRepresentation();
  rep.setId(session.getId());
  rep.setStart(Time.toMillis(session.getStarted()));
  rep.setLastAccess(Time.toMillis(session.getLastSessionRefresh()));
  rep.setUsername(session.getUser().getUsername());
  rep.setUserId(session.getUser().getId());
  rep.setIpAddress(session.getIpAddress());
  for (ClientSessionModel clientSession : session.getClientSessions()) {
    ClientModel client = clientSession.getClient();
    rep.getClients().put(client.getId(), client.getClientId());
  }
  return rep;
}

相关文章

微信公众号

最新文章

更多