Class Message

  • All Implemented Interfaces:
    pl.allegro.tech.hermes.domain.filtering.FilterableMessage

    public class Message
    extends java.lang.Object
    implements pl.allegro.tech.hermes.domain.filtering.FilterableMessage
    • Constructor Detail

      • Message

        public Message​(java.lang.String id,
                       java.lang.String topic,
                       byte[] content,
                       pl.allegro.tech.hermes.api.ContentType contentType,
                       java.util.Optional<pl.allegro.tech.hermes.schema.CompiledSchema<org.apache.avro.Schema>> schema,
                       long publishingTimestamp,
                       long readingTimestamp,
                       pl.allegro.tech.hermes.common.kafka.offset.PartitionOffset partitionOffset,
                       long partitionAssignmentTerm,
                       java.util.Map<java.lang.String,​java.lang.String> externalMetadata,
                       java.util.List<pl.allegro.tech.hermes.api.Header> additionalHeaders,
                       java.lang.String subscription,
                       boolean hasSubscriptionIdentityHeaders)
    • Method Detail

      • getPublishingTimestamp

        public long getPublishingTimestamp()
      • getReadingTimestamp

        public long getReadingTimestamp()
      • getOffset

        public long getOffset()
      • getPartitionAssignmentTerm

        public long getPartitionAssignmentTerm()
      • getData

        public byte[] getData()
        Specified by:
        getData in interface pl.allegro.tech.hermes.domain.filtering.FilterableMessage
      • getContentType

        public pl.allegro.tech.hermes.api.ContentType getContentType()
        Specified by:
        getContentType in interface pl.allegro.tech.hermes.domain.filtering.FilterableMessage
      • getPartition

        public int getPartition()
      • getTopic

        public java.lang.String getTopic()
      • isTtlExceeded

        public boolean isTtlExceeded​(long ttlMillis)
      • incrementRetryCounter

        public void incrementRetryCounter​(java.util.Collection<java.net.URI> succeededUris)
      • getRetryCounter

        public int getRetryCounter()
      • getSchema

        public java.util.Optional<pl.allegro.tech.hermes.schema.CompiledSchema<org.apache.avro.Schema>> getSchema()
        Specified by:
        getSchema in interface pl.allegro.tech.hermes.domain.filtering.FilterableMessage
      • getId

        public java.lang.String getId()
      • getExternalMetadata

        public java.util.Map<java.lang.String,​java.lang.String> getExternalMetadata()
        Specified by:
        getExternalMetadata in interface pl.allegro.tech.hermes.domain.filtering.FilterableMessage
      • getAdditionalHeaders

        public java.util.List<pl.allegro.tech.hermes.api.Header> getAdditionalHeaders()
      • updateAndGetCurrentMessageBackoff

        public long updateAndGetCurrentMessageBackoff​(pl.allegro.tech.hermes.api.SubscriptionPolicy subscriptionPolicy)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • getKafkaTopic

        public pl.allegro.tech.hermes.common.kafka.KafkaTopicName getKafkaTopic()
      • getPartitionOffset

        public pl.allegro.tech.hermes.common.kafka.offset.PartitionOffset getPartitionOffset()
      • hasNotBeenSentTo

        public boolean hasNotBeenSentTo​(java.lang.String uri)
      • getSize

        public long getSize()
      • hasSubscriptionIdentityHeaders

        public boolean hasSubscriptionIdentityHeaders()
      • getSubscription

        public java.lang.String getSubscription()