Class ScriptService

java.lang.Object
org.elasticsearch.script.ScriptService
All Implemented Interfaces:
java.io.Closeable, java.lang.AutoCloseable, ClusterStateApplier, ScriptCompiler

public class ScriptService
extends java.lang.Object
implements java.io.Closeable, ClusterStateApplier, ScriptCompiler
  • Field Details

    • SCRIPT_GENERAL_CACHE_SIZE_SETTING

      public static final Setting<java.lang.Integer> SCRIPT_GENERAL_CACHE_SIZE_SETTING
    • SCRIPT_GENERAL_CACHE_EXPIRE_SETTING

      public static final Setting<org.elasticsearch.common.unit.TimeValue> SCRIPT_GENERAL_CACHE_EXPIRE_SETTING
    • SCRIPT_MAX_SIZE_IN_BYTES

      public static final Setting<java.lang.Integer> SCRIPT_MAX_SIZE_IN_BYTES
    • SCRIPT_GENERAL_MAX_COMPILATIONS_RATE_SETTING

      public static final Setting<ScriptCache.CompilationRate> SCRIPT_GENERAL_MAX_COMPILATIONS_RATE_SETTING
    • SCRIPT_CACHE_SIZE_SETTING

      public static final Setting.AffixSetting<java.lang.Integer> SCRIPT_CACHE_SIZE_SETTING
    • SCRIPT_CACHE_EXPIRE_SETTING

      public static final Setting.AffixSetting<org.elasticsearch.common.unit.TimeValue> SCRIPT_CACHE_EXPIRE_SETTING
    • SCRIPT_MAX_COMPILATIONS_RATE_SETTING

      public static final Setting.AffixSetting<ScriptCache.CompilationRate> SCRIPT_MAX_COMPILATIONS_RATE_SETTING
    • SCRIPT_DISABLE_MAX_COMPILATIONS_RATE_SETTING

      public static final Setting<java.lang.Boolean> SCRIPT_DISABLE_MAX_COMPILATIONS_RATE_SETTING
    • ALLOW_NONE

      public static final java.lang.String ALLOW_NONE
      See Also:
      Constant Field Values
    • TYPES_ALLOWED_SETTING

      public static final Setting<java.util.List<java.lang.String>> TYPES_ALLOWED_SETTING
    • CONTEXTS_ALLOWED_SETTING

      public static final Setting<java.util.List<java.lang.String>> CONTEXTS_ALLOWED_SETTING
  • Constructor Details

    • ScriptService

      public ScriptService​(Settings settings, java.util.Map<java.lang.String,​ScriptEngine> engines, java.util.Map<java.lang.String,​ScriptContext<?>> contexts)
  • Method Details

    • close

      public void close() throws java.io.IOException
      Specified by:
      close in interface java.lang.AutoCloseable
      Specified by:
      close in interface java.io.Closeable
      Throws:
      java.io.IOException
    • getScriptContexts

      public java.util.Map<java.lang.String,​ScriptContext<?>> getScriptContexts()
      Returns:
      an unmodifiable Map of available script context names to ScriptContexts
    • compile

      public <FactoryType> FactoryType compile​(Script script, ScriptContext<FactoryType> context)
      Compiles a script using the given context.
      Specified by:
      compile in interface ScriptCompiler
      Type Parameters:
      FactoryType - the class of the compiled Script factory
      Parameters:
      script - the Script to compile
      context - the ScriptContext defining how to compile the script
      Returns:
      a compiled script which may be used to construct instances of a script for the given context
    • isLangSupported

      public boolean isLangSupported​(java.lang.String lang)
    • isTypeEnabled

      public boolean isTypeEnabled​(ScriptType scriptType)
    • isContextEnabled

      public boolean isContextEnabled​(ScriptContext<?> scriptContext)
    • isAnyContextEnabled

      public boolean isAnyContextEnabled()
    • getScriptFromClusterState

      protected StoredScriptSource getScriptFromClusterState​(java.lang.String id)
    • putStoredScript

      public void putStoredScript​(ClusterService clusterService, PutStoredScriptRequest request, ActionListener<AcknowledgedResponse> listener)
    • deleteStoredScript

      public void deleteStoredScript​(ClusterService clusterService, DeleteStoredScriptRequest request, ActionListener<AcknowledgedResponse> listener)
    • getStoredScript

      public StoredScriptSource getStoredScript​(ClusterState state, GetStoredScriptRequest request)
    • getContextInfos

      public java.util.Set<ScriptContextInfo> getContextInfos()
    • getScriptLanguages

      public ScriptLanguagesInfo getScriptLanguages()
    • stats

      public ScriptStats stats()
    • cacheStats

      public ScriptCacheStats cacheStats()
    • applyClusterState

      public void applyClusterState​(ClusterChangedEvent event)
      Description copied from interface: ClusterStateApplier
      Called when a new cluster state (ClusterChangedEvent.state() needs to be applied. The cluster state to be applied is already committed when this method is called, so an applier must therefore be prepared to deal with any state it receives without throwing an exception. Throwing an exception from an applier is very bad because it will stop the application of this state before it has reached all the other appliers, and will likely result in another attempt to apply the same (or very similar) cluster state which might continue until this node is removed from the cluster.
      Specified by:
      applyClusterState in interface ClusterStateApplier