public class SessionOpProcessor extends AbstractEvalOpProcessor
OpProcessor implementation that handles
 ScriptEngine script evaluation in the context of a session. Note that this processor will
 also take a "close" op to kill the session and rollback any incomplete transactions.AbstractEvalOpProcessor.BindingSupplier| Modifier and Type | Field and Description | 
|---|---|
| static String | CONFIG_GLOBAL_FUNCTION_CACHE_ENABLEDConfiguration setting that behaves as an override to the global script engine setting of the same name that is
 provided to the  GroovyCompilerGremlinPlugin. | 
| static String | CONFIG_PER_GRAPH_CLOSE_TIMEOUTConfiguration setting for how long to wait in milliseconds for each configured graph to close any open
 transactions when the session is killed. | 
| static String | CONFIG_SESSION_TIMEOUTConfiguration setting for how long a session will be available before it times out. | 
| static long | DEFAULT_PER_GRAPH_CLOSE_TIMEOUTDefault amount of time to wait in milliseconds for each configured graph to close any open transactions when
 the session is killed. | 
| static long | DEFAULT_SESSION_TIMEOUTDefault timeout for a session is eight hours. | 
| static String | OP_PROCESSOR_NAME | 
| protected static ConcurrentHashMap<String,Session> | sessionsScript engines are evaluated in a per session context where imports/scripts are isolated per session. | 
CONFIG_MAX_PARAMETERS, DEFAULT_MAX_PARAMETERS, evalOpTimer, INVALID_BINDINGS_KEYS, maxParametersmanageTransactions| Constructor and Description | 
|---|
| SessionOpProcessor() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | close() | 
| protected void | evalOp(Context context) | 
| protected Function<Context,AbstractEvalOpProcessor.BindingSupplier> | getBindingMaker(Session session)A useful method for those extending this class, where the means for binding construction can be supplied
 to this class. | 
| ThrowingConsumer<Context> | getEvalOp()Provides an operation for evaluating a Gremlin script. | 
| String | getName()The name of the processor which requests must refer to "processor" field on a request. | 
| protected static Session | getSession(Context context,
          RequestMessage msg)Examines the  RequestMessageand extracts the session token. | 
| void | init(Settings settings)Initialize the  OpProcessorwith settings from the server. | 
| Optional<ThrowingConsumer<Context>> | selectOther(RequestMessage requestMessage)Session based requests accept a "close" operator in addition to "eval". | 
| protected Optional<ThrowingConsumer<Context>> | validateEvalMessage(RequestMessage message) | 
evalOpInternal, evalOpInternal, selectattemptCommit, attemptRollback, generateMetaData, generateResultMetaData, generateStatusAttributes, handleIterator, handleIterator, isForceFlushed, iterateComplete, makeFramepublic static final String OP_PROCESSOR_NAME
protected static ConcurrentHashMap<String,Session> sessions
public static final String CONFIG_SESSION_TIMEOUT
public static final String CONFIG_PER_GRAPH_CLOSE_TIMEOUT
public static final String CONFIG_GLOBAL_FUNCTION_CACHE_ENABLED
GroovyCompilerGremlinPlugin.public static final long DEFAULT_SESSION_TIMEOUT
public static final long DEFAULT_PER_GRAPH_CLOSE_TIMEOUT
public String getName()
OpProcessorpublic void init(Settings settings)
OpProcessorOpProcessor with settings from the server. This method should only be called once at
 server startup by a single thread.public Optional<ThrowingConsumer<Context>> selectOther(RequestMessage requestMessage) throws OpProcessorException
selectOther in class AbstractEvalOpProcessorOpProcessorExceptionpublic ThrowingConsumer<Context> getEvalOp()
AbstractEvalOpProcessorgetEvalOp in class AbstractEvalOpProcessorprotected Optional<ThrowingConsumer<Context>> validateEvalMessage(RequestMessage message) throws OpProcessorException
validateEvalMessage in class AbstractEvalOpProcessorOpProcessorExceptionprotected void evalOp(Context context) throws OpProcessorException
OpProcessorExceptionprotected static Session getSession(Context context, RequestMessage msg)
RequestMessage and extracts the session token. The session is then either found or a new
 one is created.protected Function<Context,AbstractEvalOpProcessor.BindingSupplier> getBindingMaker(Session session)
evalOp(Context) to create the final argument to
 AbstractEvalOpProcessor.evalOpInternal(Context, Supplier, org.apache.tinkerpop.gremlin.server.op.AbstractEvalOpProcessor.BindingSupplier).
 In this way an extending class can use the default AbstractEvalOpProcessor.BindingSupplier
 which carries a lot of re-usable functionality or provide a new one to override the existing approach.Copyright © 2013–2019 Apache Software Foundation. All rights reserved.