in client/src/main/java/org/apache/rocketmq/schema/registry/client/CachedSchemaRegistryClient.java [225:244]
public GetSchemaResponse getTargetSchema(String cluster, String tenant, String subject, String schema)
throws RestClientException, IOException {
SubjectAndSchema subjectAndSchema = new SubjectAndSchema(cluster, tenant, subject, schema);
GetSchemaResponse result = schemaCache.getIfPresent(subjectAndSchema);
if (result != null) {
return result;
}
String subjectFullName = String.format("%s/%s/%s", cluster, tenant, subject);
result = restService.getTargetSchema(cluster, tenant, subject, schema);
schemaCache.put(subjectAndSchema, result);
Set<String> schemas = subjectToSchema.get(subjectFullName);
if (schemas == null) {
schemas = new HashSet<>();
}
schemas.add(schema);
subjectToSchema.put(subjectFullName, schemas);
return result;
}