public class RequestWorkItem extends AbstractWorkItem implements ThreadReuseExecutor.PrioritizedRunnable
Modifier and Type | Class and Description |
---|---|
static class |
RequestWorkItem.MoreWorkTask |
Modifier and Type | Field and Description |
---|---|
protected DQPCore |
dqpCore |
static String |
REQUEST_KEY |
protected boolean |
useCallingThread |
NO_WAIT_PRIORITY
Constructor and Description |
---|
RequestWorkItem(DQPCore dqpCore,
RequestMessage requestMsg,
Request request,
ResultsReceiver<ResultsMessage> receiver,
RequestID requestID,
DQPWorkContext workContext) |
Modifier and Type | Method and Description |
---|---|
void |
addConnectorRequest(AtomicRequestID atomicRequestId,
DataTierTupleSource connInfo) |
<T> FutureWork<T> |
addRequestWork(Callable<T> callable) |
protected void |
close()
Client close is currently implemented as asynch.
|
void |
closeAtomicRequest(AtomicRequestID atomicRequestId) |
ResultsMessage |
createResultsMessage(List<? extends List<?>> batch,
List<? extends Expression> columnSymbols) |
void |
doMoreWork()
Special call from request threads to allow resumption of processing by
the calling thread.
|
long |
getCreationTime() |
DQPWorkContext |
getDqpWorkContext() |
int |
getPriority() |
long |
getProcessingTimestamp() |
QueryProcessor |
getProcessor() |
RequestID |
getRequestID() |
SessionAwareCache<CachedResults> |
getRsCache() |
io.opentracing.Span |
getTracingSpan() |
boolean |
isCloseRequested() |
protected boolean |
isDoneProcessing() |
protected void |
process() |
void |
processLobChunkRequest(String id,
int streamRequestId,
ResultsReceiver<LobChunk> chunckReceiver) |
protected void |
processMore() |
protected void |
processNew() |
void |
release() |
void |
removeLobStream(int streamRequestId) |
boolean |
requestCancel(String reason) |
void |
requestClose() |
void |
requestMore(int batchFirst,
int batchLast,
ResultsReceiver<ResultsMessage> receiver) |
protected void |
resumeProcessing() |
void |
run() |
Future<Void> |
scheduleWork(long delay) |
protected boolean |
sendResultsIfNeeded(TupleBatch batch)
Send results if they have been requested.
|
void |
setCancelTask(EnhancedTimer.Task cancelTask) |
void |
setTracingSpan(io.opentracing.Span span) |
String |
toString() |
isProcessing, moreWork, moreWork, pauseProcessing, workAccepted, workCompleted, workRejected, workStarted
public static final String REQUEST_KEY
protected final DQPCore dqpCore
protected boolean useCallingThread
public RequestWorkItem(DQPCore dqpCore, RequestMessage requestMsg, Request request, ResultsReceiver<ResultsMessage> receiver, RequestID requestID, DQPWorkContext workContext)
protected boolean isDoneProcessing()
isDoneProcessing
in class AbstractWorkItem
public void run()
run
in interface Runnable
run
in class AbstractWorkItem
protected void resumeProcessing()
resumeProcessing
in class AbstractWorkItem
public void doMoreWork()
protected void process()
process
in class AbstractWorkItem
protected void processMore() throws BlockedException, TeiidException
BlockedException
TeiidException
protected void close()
protected void processNew() throws TeiidProcessingException, TeiidComponentException
public SessionAwareCache<CachedResults> getRsCache()
protected boolean sendResultsIfNeeded(TupleBatch batch) throws TeiidComponentException, TeiidProcessingException
public ResultsMessage createResultsMessage(List<? extends List<?>> batch, List<? extends Expression> columnSymbols)
public void processLobChunkRequest(String id, int streamRequestId, ResultsReceiver<LobChunk> chunckReceiver)
public void removeLobStream(int streamRequestId)
public boolean requestCancel(String reason) throws TeiidComponentException
TeiidComponentException
public void requestClose() throws TeiidComponentException
TeiidComponentException
public boolean isCloseRequested()
public void requestMore(int batchFirst, int batchLast, ResultsReceiver<ResultsMessage> receiver)
public void closeAtomicRequest(AtomicRequestID atomicRequestId)
public void addConnectorRequest(AtomicRequestID atomicRequestId, DataTierTupleSource connInfo)
public String toString()
toString
in class AbstractWorkItem
public DQPWorkContext getDqpWorkContext()
getDqpWorkContext
in interface ThreadReuseExecutor.PrioritizedRunnable
public long getProcessingTimestamp()
public void release()
release
in interface javax.resource.spi.work.Work
release
in class AbstractWorkItem
public int getPriority()
getPriority
in interface ThreadReuseExecutor.PrioritizedRunnable
public long getCreationTime()
getCreationTime
in interface ThreadReuseExecutor.PrioritizedRunnable
public <T> FutureWork<T> addRequestWork(Callable<T> callable)
public void setCancelTask(EnhancedTimer.Task cancelTask)
public QueryProcessor getProcessor()
public RequestID getRequestID()
public void setTracingSpan(io.opentracing.Span span)
public io.opentracing.Span getTracingSpan()
Copyright © 2018 JBoss by Red Hat. All rights reserved.