Class RemoteAgentBootstrap

java.lang.Object
com.atlassian.bamboo.agent.bootstrap.RemoteAgentBootstrap
Direct Known Subclasses:
ElasticAgentBootstrap

public class RemoteAgentBootstrap extends Object

An entry point for a Java process that loads its classes and resources from a server.

The intent of this class is to allow an architecture of distributed agents that can be upgraded, in most cases, by upgrading the server only.

  • Field Details

    • agentType

      protected final AgentType agentType
    • declaredEndpointForAgents

      protected URL declaredEndpointForAgents
    • securityToken

      @Nullable protected final @Nullable String securityToken
  • Constructor Details

    • RemoteAgentBootstrap

      protected RemoteAgentBootstrap(URL serverEndpointForAgents, @Nullable @Nullable String securityToken)
    • RemoteAgentBootstrap

      protected RemoteAgentBootstrap(URL serverEndpointForAgents, @Nullable @Nullable String securityToken, AgentType agentType)
  • Method Details

    • main

      public static void main(String[] arguments) throws Exception
      Throws:
      Exception
    • configureLogging

      protected static void configureLogging()
    • createAgentContext

      protected AgentContext createAgentContext(AgentType type, URL endpointForAgents) throws MalformedURLException
      Throws:
      MalformedURLException
    • run

      protected void run(AgentType type)
    • newHttpClientFactory

      public RemoteAgentHttpClientFactory newHttpClientFactory()
    • setHttpClientFactoryParamaters

      protected void setHttpClientFactoryParamaters(RemoteAgentHttpClientFactory remoteAgentHttpClientFactory)
    • isHttpsBaseURL

      protected boolean isHttpsBaseURL()
    • getDeclaredEndpointForAgents

      protected final URL getDeclaredEndpointForAgents()
    • getReachableEndpointForAgents

      protected URL getReachableEndpointForAgents()
    • getSchemeRegistryDataFactory

      protected SchemeRegistryFactory getSchemeRegistryDataFactory(SchemeRegistryFactory remoteAgentSchemeRegistryFactory)
    • getFingerprintRequestSuffix

      protected String getFingerprintRequestSuffix()
    • isUsingProxy

      public static boolean isUsingProxy(URI currentUri)