@Path(value="topics/{topicName}/subscriptions")
public class SubscriptionsEndpoint
extends java.lang.Object
| Constructor and Description |
|---|
SubscriptionsEndpoint(SubscriptionService subscriptionService,
TopicService topicService,
MultiDCAwareService multiDCAwareService,
TimeFormatter timeFormatter,
ManagementRights managementRights) |
| Modifier and Type | Method and Description |
|---|---|
javax.ws.rs.core.Response |
create(java.lang.String qualifiedTopicName,
pl.allegro.tech.hermes.api.Subscription subscription,
javax.ws.rs.container.ContainerRequestContext requestContext) |
java.util.List<pl.allegro.tech.hermes.api.ConsumerGroup> |
describeConsumerGroups(java.lang.String qualifiedTopicName,
java.lang.String subscriptionName) |
pl.allegro.tech.hermes.api.Subscription |
get(java.lang.String qualifiedTopicName,
java.lang.String subscriptionName) |
pl.allegro.tech.hermes.api.SubscriptionHealth |
getHealth(java.lang.String qualifiedTopicName,
java.lang.String subscriptionName) |
javax.ws.rs.core.Response |
getLatestUndeliveredMessage(java.lang.String qualifiedTopicName,
java.lang.String subscriptionName) |
javax.ws.rs.core.Response |
getLatestUndeliveredMessages(java.lang.String qualifiedTopicName,
java.lang.String subscriptionName) |
javax.ws.rs.core.Response |
getMessageTrace(java.lang.String qualifiedTopicName,
java.lang.String subscriptionName,
java.lang.String messageId) |
pl.allegro.tech.hermes.api.SubscriptionMetrics |
getMetrics(java.lang.String qualifiedTopicName,
java.lang.String subscriptionName) |
pl.allegro.tech.hermes.api.Subscription.State |
getState(java.lang.String qualifiedTopicName,
java.lang.String subscriptionName) |
java.util.List<java.lang.String> |
list(java.lang.String qualifiedTopicName,
boolean tracked) |
java.util.List<java.lang.String> |
queryList(java.lang.String qualifiedTopicName,
pl.allegro.tech.hermes.api.Query<pl.allegro.tech.hermes.api.Subscription> query) |
javax.ws.rs.core.Response |
remove(java.lang.String qualifiedTopicName,
java.lang.String subscriptionId,
javax.ws.rs.core.SecurityContext securityContext) |
javax.ws.rs.core.Response |
retransmit(java.lang.String qualifiedTopicName,
java.lang.String subscriptionName,
boolean dryRun,
java.lang.String formattedTime) |
javax.ws.rs.core.Response |
update(java.lang.String qualifiedTopicName,
java.lang.String subscriptionName,
pl.allegro.tech.hermes.api.PatchData patch,
javax.ws.rs.core.SecurityContext securityContext) |
javax.ws.rs.core.Response |
updateState(java.lang.String qualifiedTopicName,
java.lang.String subscriptionName,
pl.allegro.tech.hermes.api.Subscription.State state,
javax.ws.rs.core.SecurityContext securityContext) |
@Autowired public SubscriptionsEndpoint(SubscriptionService subscriptionService, TopicService topicService, MultiDCAwareService multiDCAwareService, TimeFormatter timeFormatter, ManagementRights managementRights)
@GET
@Produces(value="application/json")
public java.util.List<java.lang.String> list(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@DefaultValue(value="false") @QueryParam(value="tracked")
boolean tracked)
@POST
@Consumes(value="application/json")
@Produces(value="application/json")
@Path(value="/query")
public java.util.List<java.lang.String> queryList(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
pl.allegro.tech.hermes.api.Query<pl.allegro.tech.hermes.api.Subscription> query)
@POST
@Consumes(value="application/json")
@RolesAllowed(value="any")
public javax.ws.rs.core.Response create(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
pl.allegro.tech.hermes.api.Subscription subscription,
@Context
javax.ws.rs.container.ContainerRequestContext requestContext)
@GET
@Produces(value="application/json")
@Path(value="/{subscriptionName}")
public pl.allegro.tech.hermes.api.Subscription get(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@PathParam(value="subscriptionName")
java.lang.String subscriptionName)
@GET
@Produces(value="application/json")
@Path(value="/{subscriptionName}/state")
public pl.allegro.tech.hermes.api.Subscription.State getState(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@PathParam(value="subscriptionName")
java.lang.String subscriptionName)
@GET
@Produces(value="application/json")
@Path(value="/{subscriptionName}/undelivered/last")
public javax.ws.rs.core.Response getLatestUndeliveredMessage(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@PathParam(value="subscriptionName")
java.lang.String subscriptionName)
@GET
@Produces(value="application/json")
@Path(value="/{subscriptionName}/undelivered")
public javax.ws.rs.core.Response getLatestUndeliveredMessages(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@PathParam(value="subscriptionName")
java.lang.String subscriptionName)
@GET
@Produces(value="application/json")
@Path(value="/{subscriptionName}/metrics")
public pl.allegro.tech.hermes.api.SubscriptionMetrics getMetrics(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@PathParam(value="subscriptionName")
java.lang.String subscriptionName)
@GET
@Produces(value="application/json")
@Path(value="/{subscriptionName}/health")
public pl.allegro.tech.hermes.api.SubscriptionHealth getHealth(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@PathParam(value="subscriptionName")
java.lang.String subscriptionName)
@PUT
@Consumes(value="application/json")
@Path(value="/{subscriptionName}/state")
@RolesAllowed(value={"admin","topicOwner","subscriptionOwner"})
public javax.ws.rs.core.Response updateState(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@PathParam(value="subscriptionName")
java.lang.String subscriptionName,
pl.allegro.tech.hermes.api.Subscription.State state,
@Context
javax.ws.rs.core.SecurityContext securityContext)
@DELETE
@Path(value="/{subscriptionName}")
@RolesAllowed(value={"admin","topicOwner","subscriptionOwner"})
public javax.ws.rs.core.Response remove(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@PathParam(value="subscriptionName")
java.lang.String subscriptionId,
@Context
javax.ws.rs.core.SecurityContext securityContext)
@PUT
@Consumes(value="application/json")
@Path(value="/{subscriptionName}")
@RolesAllowed(value={"admin","topicOwner","subscriptionOwner"})
public javax.ws.rs.core.Response update(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@PathParam(value="subscriptionName")
java.lang.String subscriptionName,
pl.allegro.tech.hermes.api.PatchData patch,
@Context
javax.ws.rs.core.SecurityContext securityContext)
@PUT
@Consumes(value="application/json")
@Produces(value="application/json")
@Path(value="/{subscriptionName}/retransmission")
@RolesAllowed(value={"admin","topicOwner","subscriptionOwner"})
public javax.ws.rs.core.Response retransmit(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@PathParam(value="subscriptionName")
java.lang.String subscriptionName,
@DefaultValue(value="false") @QueryParam(value="dryRun")
boolean dryRun,
@NotEmpty
java.lang.String formattedTime)
@GET
@Produces(value="application/json")
@Path(value="/{subscriptionName}/events/{messageId}/trace")
public javax.ws.rs.core.Response getMessageTrace(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@PathParam(value="subscriptionName")
java.lang.String subscriptionName,
@PathParam(value="messageId")
java.lang.String messageId)
@GET
@Produces(value="application/json")
@Path(value="/{subscriptionName}/consumer-groups")
public java.util.List<pl.allegro.tech.hermes.api.ConsumerGroup> describeConsumerGroups(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@PathParam(value="subscriptionName")
java.lang.String subscriptionName)