132 PublicKeysEntry entry =
keys.get(modelKey);
134 PublicKey publicKey =
getPublicKey(entry.getCurrentKeys(), kid);
135 if (publicKey != null) {
140 int lastRequestTime = entry==null ? 0 : entry.getLastRequestTime();
141 int currentTime = Time.currentTime();
146 WrapperCallable wrapperCallable =
new WrapperCallable(modelKey, loader);
147 FutureTask<PublicKeysEntry> task =
new FutureTask<>(wrapperCallable);
148 FutureTask<PublicKeysEntry> existing =
tasksInProgress.putIfAbsent(modelKey, task);
150 if (existing == null) {
160 PublicKey publicKey =
getPublicKey(entry.getCurrentKeys(), kid);
161 if (publicKey != null) {
165 }
catch (ExecutionException ee) {
166 throw new RuntimeException(
"Error when loading public keys", ee);
167 }
catch (InterruptedException ie) {
168 throw new RuntimeException(
"Error. Interrupted when loading public keys", ie);
171 if (existing == null) {
176 log.warnf(
"Won't load the keys for model '%s' . Last request time was %d", modelKey, lastRequestTime);
179 Set<String> availableKids = entry==null ? Collections.emptySet() : entry.getCurrentKeys().keySet();
180 log.warnf(
"PublicKey wasn't found in the storage. Requested kid: '%s' . Available kids: '%s'", kid, availableKids);
final Map< String, FutureTask< PublicKeysEntry > > tasksInProgress
Definition: InfinispanPublicKeyStorageProvider.java:51
final int minTimeBetweenRequests
Definition: InfinispanPublicKeyStorageProvider.java:53
final Cache< String, PublicKeysEntry > keys
Definition: InfinispanPublicKeyStorageProvider.java:49
static final Logger log
Definition: InfinispanPublicKeyStorageProvider.java:45
PublicKey getPublicKey(String modelKey, String kid, PublicKeyLoader loader)
Definition: InfinispanPublicKeyStorageProvider.java:130