@Override public synchronized Iterable<Subject> subjects() { isValid(); return subjectCache.values(); }
@Override public void isValid() { super.isValid(); if (zkClient.getState() != CuratorFrameworkState.STARTED) { throw new IllegalStateException("ZK Client is not connected"); } }
@Override public synchronized Iterable<Subject> subjects() { isValid(); return subjectCache.values(); }
@Override public synchronized Subject register(final String subjectName, final SubjectConfig config) { isValid(); Subject subject = subjectCache.lookup(subjectName); if (subject == null) { registerSubjectInBackend(subjectName, config); subject = getAndCacheSubject(subjectName); } else { logger.debug("Subject {} already exists, reusing", subjectName); } return subject; }
@Override public synchronized Subject register(final String subjectName, final SubjectConfig config) { isValid(); Subject subject = subjectCache.lookup(subjectName); if (subject == null) { registerSubjectInBackend(subjectName, config); subject = getAndCacheSubject(subjectName); } else { logger.debug("Subject {} already exists, reusing", subjectName); } return subject; }
@Override public synchronized Subject lookup(final String subjectName) { isValid(); Subject subject = subjectCache.lookup(subjectName); if (subject == null) { if (checkSubjectExistsInBackend(subjectName)) { subject = getAndCacheSubject(subjectName); } } return subject; }
@Override public synchronized Subject lookup(final String subjectName) { isValid(); Subject subject = subjectCache.lookup(subjectName); if (subject == null) { if (checkSubjectExistsInBackend(subjectName)) { subject = getAndCacheSubject(subjectName); } } return subject; }