Do you check that tenantIdentifier in SchemaResolver is thread safe? Maybe ThreadLocal<String> tenantIdentifier is better solution.