@Component
public class TopicService
extends java.lang.Object
| Constructor and Description |
|---|
TopicService(MultiDCAwareService multiDCAwareService,
pl.allegro.tech.hermes.domain.topic.TopicRepository topicRepository,
GroupService groupService,
TopicProperties topicProperties,
SchemaService schemaService,
TopicMetricsRepository metricRepository,
TopicBlacklistService topicBlacklistService,
TopicValidator topicValidator,
TopicContentTypeMigrationService topicContentTypeMigrationService,
java.time.Clock clock,
Auditor auditor,
MultiDatacenterRepositoryCommandExecutor multiDcExecutor,
RepositoryManager repositoryManager,
TopicOwnerCache topicOwnerCache) |
| Modifier and Type | Method and Description |
|---|---|
void |
createTopicWithSchema(pl.allegro.tech.hermes.api.TopicWithSchema topicWithSchema,
TopicManipulatorUser createdBy,
CreatorRights isAllowedToManage) |
java.lang.String |
fetchSingleMessageFromPrimary(java.lang.String brokersClusterName,
pl.allegro.tech.hermes.api.TopicName topicName,
java.lang.Integer partition,
java.lang.Long offset) |
java.util.List<pl.allegro.tech.hermes.api.Topic> |
getAllTopics() |
pl.allegro.tech.hermes.api.Topic |
getTopicDetails(pl.allegro.tech.hermes.api.TopicName topicName) |
pl.allegro.tech.hermes.api.TopicMetrics |
getTopicMetrics(pl.allegro.tech.hermes.api.TopicName topicName) |
pl.allegro.tech.hermes.api.TopicWithSchema |
getTopicWithSchema(pl.allegro.tech.hermes.api.TopicName topicName) |
java.util.List<java.lang.String> |
listFilteredTopicNames(pl.allegro.tech.hermes.api.Query<pl.allegro.tech.hermes.api.Topic> query) |
java.util.List<java.lang.String> |
listFilteredTopicNames(java.lang.String groupName,
pl.allegro.tech.hermes.api.Query<pl.allegro.tech.hermes.api.Topic> query) |
java.util.List<pl.allegro.tech.hermes.api.Topic> |
listForOwnerId(pl.allegro.tech.hermes.api.OwnerId ownerId) |
java.util.List<java.lang.String> |
listQualifiedTopicNames() |
java.util.List<java.lang.String> |
listQualifiedTopicNames(java.lang.String groupName) |
java.util.List<pl.allegro.tech.hermes.api.Topic> |
listTopics(java.lang.String groupName) |
java.util.List<java.lang.String> |
listTrackedTopicNames() |
java.util.List<java.lang.String> |
listTrackedTopicNames(java.lang.String groupName) |
java.util.Optional<byte[]> |
preview(pl.allegro.tech.hermes.api.TopicName topicName,
int idx) |
java.util.List<pl.allegro.tech.hermes.api.MessageTextPreview> |
previewText(pl.allegro.tech.hermes.api.TopicName topicName) |
java.util.List<pl.allegro.tech.hermes.api.Topic> |
queryTopic(pl.allegro.tech.hermes.api.Query<pl.allegro.tech.hermes.api.Topic> query) |
java.util.List<pl.allegro.tech.hermes.api.TopicNameWithMetrics> |
queryTopicsMetrics(pl.allegro.tech.hermes.api.Query<pl.allegro.tech.hermes.api.TopicNameWithMetrics> query) |
void |
removeTopicWithSchema(pl.allegro.tech.hermes.api.Topic topic,
TopicManipulatorUser removedBy) |
void |
scheduleTouchTopic(pl.allegro.tech.hermes.api.TopicName topicName)
Topic is touched so other Hermes instances are notified to read latest topic schema from schema-registry.
|
void |
touchTopic(pl.allegro.tech.hermes.api.TopicName topicName) |
void |
updateTopic(pl.allegro.tech.hermes.api.TopicName topicName,
pl.allegro.tech.hermes.api.PatchData patch,
TopicManipulatorUser modifiedBy) |
void |
updateTopicWithSchema(pl.allegro.tech.hermes.api.TopicName topicName,
pl.allegro.tech.hermes.api.PatchData patch,
TopicManipulatorUser modifiedBy) |
@Autowired public TopicService(MultiDCAwareService multiDCAwareService, pl.allegro.tech.hermes.domain.topic.TopicRepository topicRepository, GroupService groupService, TopicProperties topicProperties, SchemaService schemaService, TopicMetricsRepository metricRepository, TopicBlacklistService topicBlacklistService, TopicValidator topicValidator, TopicContentTypeMigrationService topicContentTypeMigrationService, java.time.Clock clock, Auditor auditor, MultiDatacenterRepositoryCommandExecutor multiDcExecutor, RepositoryManager repositoryManager, TopicOwnerCache topicOwnerCache)
public void createTopicWithSchema(pl.allegro.tech.hermes.api.TopicWithSchema topicWithSchema,
TopicManipulatorUser createdBy,
CreatorRights isAllowedToManage)
public void removeTopicWithSchema(pl.allegro.tech.hermes.api.Topic topic,
TopicManipulatorUser removedBy)
public void updateTopicWithSchema(pl.allegro.tech.hermes.api.TopicName topicName,
pl.allegro.tech.hermes.api.PatchData patch,
TopicManipulatorUser modifiedBy)
public void updateTopic(pl.allegro.tech.hermes.api.TopicName topicName,
pl.allegro.tech.hermes.api.PatchData patch,
TopicManipulatorUser modifiedBy)
public void touchTopic(pl.allegro.tech.hermes.api.TopicName topicName)
public void scheduleTouchTopic(pl.allegro.tech.hermes.api.TopicName topicName)
public java.util.List<java.lang.String> listQualifiedTopicNames(java.lang.String groupName)
public java.util.List<pl.allegro.tech.hermes.api.Topic> listTopics(java.lang.String groupName)
public java.util.List<java.lang.String> listQualifiedTopicNames()
public pl.allegro.tech.hermes.api.Topic getTopicDetails(pl.allegro.tech.hermes.api.TopicName topicName)
public pl.allegro.tech.hermes.api.TopicWithSchema getTopicWithSchema(pl.allegro.tech.hermes.api.TopicName topicName)
public pl.allegro.tech.hermes.api.TopicMetrics getTopicMetrics(pl.allegro.tech.hermes.api.TopicName topicName)
public java.lang.String fetchSingleMessageFromPrimary(java.lang.String brokersClusterName,
pl.allegro.tech.hermes.api.TopicName topicName,
java.lang.Integer partition,
java.lang.Long offset)
public java.util.List<java.lang.String> listTrackedTopicNames()
public java.util.List<java.lang.String> listTrackedTopicNames(java.lang.String groupName)
public java.util.List<java.lang.String> listFilteredTopicNames(pl.allegro.tech.hermes.api.Query<pl.allegro.tech.hermes.api.Topic> query)
public java.util.List<java.lang.String> listFilteredTopicNames(java.lang.String groupName,
pl.allegro.tech.hermes.api.Query<pl.allegro.tech.hermes.api.Topic> query)
public java.util.List<pl.allegro.tech.hermes.api.Topic> queryTopic(pl.allegro.tech.hermes.api.Query<pl.allegro.tech.hermes.api.Topic> query)
public java.util.List<pl.allegro.tech.hermes.api.Topic> getAllTopics()
public java.util.Optional<byte[]> preview(pl.allegro.tech.hermes.api.TopicName topicName,
int idx)
public java.util.List<pl.allegro.tech.hermes.api.MessageTextPreview> previewText(pl.allegro.tech.hermes.api.TopicName topicName)
public java.util.List<pl.allegro.tech.hermes.api.TopicNameWithMetrics> queryTopicsMetrics(pl.allegro.tech.hermes.api.Query<pl.allegro.tech.hermes.api.TopicNameWithMetrics> query)
public java.util.List<pl.allegro.tech.hermes.api.Topic> listForOwnerId(pl.allegro.tech.hermes.api.OwnerId ownerId)