Class MavenVersionManager

java.lang.Object
org.apache.camel.catalog.maven.MavenVersionManager
All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.camel.catalog.VersionManager

public class MavenVersionManager extends Object implements org.apache.camel.catalog.VersionManager, Closeable
A VersionManager that can load the resources using Maven to download needed artifacts from a local or remote Maven repository.

This implementation uses Maven Resolver to download the Maven JARs.

  • Constructor Details

    • MavenVersionManager

      public MavenVersionManager()
  • Method Details

    • setClassLoader

      public void setClassLoader(ClassLoader classLoader)
      Specified by:
      setClassLoader in interface org.apache.camel.catalog.VersionManager
    • getClassLoader

      public ClassLoader getClassLoader()
      Specified by:
      getClassLoader in interface org.apache.camel.catalog.VersionManager
    • setCacheDirectory

      public void setCacheDirectory(String directory)
      Configures the directory for the download cache.

      The default folder is USER_HOME/.m2/repository

      Parameters:
      directory - the directory.
    • setLog

      public void setLog(boolean log)
      Sets whether to log errors and warnings to System.out. By default nothing is logged.
    • setHttpClientTimeout

      public void setHttpClientTimeout(int timeout)
      Sets the connection timeout in millis when downloading via http/https protocols.

      The default value is 10000

    • setHttpClientRequestTimeout

      public void setHttpClientRequestTimeout(int timeout)
      Sets the read timeout in millis when downloading via http/https protocols.

      The default value is 1800000

    • addMavenRepository

      public void addMavenRepository(String name, String url)
      To add a 3rd party Maven repository.
      Parameters:
      name - the repository name
      url - the repository url
    • getLoadedVersion

      public String getLoadedVersion()
      Specified by:
      getLoadedVersion in interface org.apache.camel.catalog.VersionManager
    • loadVersion

      public boolean loadVersion(String version)
      Specified by:
      loadVersion in interface org.apache.camel.catalog.VersionManager
    • getRuntimeProviderLoadedVersion

      public String getRuntimeProviderLoadedVersion()
      Specified by:
      getRuntimeProviderLoadedVersion in interface org.apache.camel.catalog.VersionManager
    • loadRuntimeProviderVersion

      public boolean loadRuntimeProviderVersion(String groupId, String artifactId, String version)
      Specified by:
      loadRuntimeProviderVersion in interface org.apache.camel.catalog.VersionManager
    • getResourceAsStream

      public InputStream getResourceAsStream(String name)
      Specified by:
      getResourceAsStream in interface org.apache.camel.catalog.VersionManager
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable