Class ScriptService

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

public class ScriptService
extends java.lang.Object
implements java.io.Closeable, ClusterStateApplier
  • 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
    • compile

      public <FactoryType> FactoryType compile​(Script script, ScriptContext<FactoryType> 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