in client/src/main/java/org/apache/rocketmq/schema/registry/client/CachedSchemaRegistryClient.java [182:201]
public GetSchemaResponse getSchemaBySubjectAndVersion(String cluster, String tenant, String subject,
long version) throws IOException, RestClientException {
SubjectAndVersion subjectAndVersion = new SubjectAndVersion(cluster, tenant, subject, version);
GetSchemaResponse result = schemaCacheBySubjectAndVersion.getIfPresent(subjectAndVersion);
if (result != null) {
return result;
}
String subjectFullName = String.format("%s/%s/%s", cluster, tenant, subject);
Set<Long> versions = subjectToId.get(subjectFullName);
if (versions == null) {
versions = new HashSet<>();
}
versions.add(version);
subjectToId.put(subjectFullName, versions);
result = restService.getSchemaBySubject(cluster, tenant, subject, version);
schemaCacheBySubjectAndVersion.put(subjectAndVersion, result);
return result;
}