Class MavenArtifactRevisionResolver

  • All Implemented Interfaces:
    RevisionResolver

    public class MavenArtifactRevisionResolver
    extends Object
    implements RevisionResolver
    RevisionResolver that uses Maven meta data to retrieve the application version. This application version is used as event revision. By default, Maven stores the meta-data in a file called 'pom.properties' in the JAR files under 'META-INF/maven/<groupId>/<artifactId>/'.
    Since:
    2.1
    Author:
    Allard Buijze
    • Constructor Detail

      • MavenArtifactRevisionResolver

        public MavenArtifactRevisionResolver​(String groupId,
                                             String artifactId)
                                      throws IOException
        Initialize the RevisionResolver to look for the version in the Meta Data of the artifact with given groupId and artifactId. The class loader that loaded the MavenArtifactRevisionResolver class is used to load the artifact configuration.
        Parameters:
        groupId - The groupId as defined in the pom.xml file of the module
        artifactId - The artifactId as defined in the pom.xml file of the module
        Throws:
        IOException - When an exception occurs reading from the maven configuration file
      • MavenArtifactRevisionResolver

        public MavenArtifactRevisionResolver​(String groupId,
                                             String artifactId,
                                             ClassLoader classLoader)
                                      throws IOException
        Initialize the RevisionResolver to look for the version in the Meta Data of the artifact with given groupId and artifactId.
        Parameters:
        groupId - The groupId as defined in the pom.xml file of the module
        artifactId - The artifactId as defined in the pom.xml file of the module
        classLoader - The class loader to load the artifact configuration with
        Throws:
        IOException - When an exception occurs reading from the maven configuration file
    • Method Detail

      • revisionOf

        public String revisionOf​(Class<?> payloadType)
        Description copied from interface: RevisionResolver
        Returns the revision for the given payloadType. The revision is used by upcasters to decide whether they need to process a certain serialized event. Generally, the revision needs to be modified each time the structure of an event has been changed in an incompatible manner.
        Specified by:
        revisionOf in interface RevisionResolver
        Parameters:
        payloadType - The type for which to return the revision
        Returns:
        the revision for the given payloadType