default Worker getWorker(WorkerTaskData workerTask) throws TaskRejectedException, InvalidTaskException { return getWorker(workerTask.getClassifier(), workerTask.getVersion(), workerTask.getStatus(), workerTask.getData(), workerTask.getContext(), workerTask.getTrackingInfo()); }
private TrackingInfo getTrackingInfoWithChanges(final String trackTo) { TrackingInfo trackingInfo = null; final TrackingInfo taskMessageTracking = taskMessage.getTracking(); if (taskMessageTracking != null) { trackingInfo = new TrackingInfo(taskMessageTracking); trackingInfo.setTrackTo(trackTo); } return trackingInfo; }
private String getWorkerVersion() { final com.hpe.caf.api.worker.WorkerConfiguration workerConfig = workerFactory.getWorkerConfiguration(); if (workerConfig != null) { final String workerVersion = workerConfig.getWorkerVersion(); if (workerVersion != null) { return workerVersion; } } return WORKER_VERSION_UNKNOWN; }
private void validateTaskMessage(TaskMessage tm) throws InvalidTaskException { // The task message must be present so that the framework can // callback with a valid message final String taskId = tm.getTaskId(); if (taskId == null) { throw new InvalidTaskException("Task identifier not specified"); } }
/** * Discard the supplied task message. * * @param tm the task message to be discarded * @param queueMessageId the reference to the message this task arrived on */ public void discardTask(final TaskMessage tm, final String queueMessageId) throws TaskRejectedException { LOG.warn("Discarding task {} (message id: {})", tm.getTaskId(), queueMessageId); callback.discard(queueMessageId); }
@Override public byte[] getData() { return taskMessage.getTaskData(); }
@Override public byte[] getData() { return workerTask.getData(); } }
@Override public TaskStatus getStatus() { return taskMessage.getTaskStatus(); }
/** * Decide whether the message is to be forwarded or discarded. * * @param tm the task message * @param queueMessageId the reference to the message this task arrived on * @param headers the map of key/value paired headers to be stamped on the message */ public void forwardTask(final TaskMessage tm, final String queueMessageId, Map<String, Object> headers) throws TaskRejectedException { //Check whether this worker application can evaluate messages for forwarding. if (factory instanceof TaskMessageForwardingEvaluator) { ((TaskMessageForwardingEvaluator) factory).determineForwardingAction(tm, queueMessageId, headers, callback); } else { //Messages are forwarded by default. callback.forward(queueMessageId, tm.getTo(), tm, headers); } }
private static String getTrackingPipe(final List<TaskMessage> taskMessages) { // Return the first tracking pipe. All task messages are expected to comprise the same // tracking pipe. return taskMessages.get(0).getTracking().getTrackingPipe(); }
private String getWorkerName(final String defaultName) { final com.hpe.caf.api.worker.WorkerConfiguration workerConfig = workerFactory.getWorkerConfiguration(); if (workerConfig != null) { final String workerName = workerConfig.getWorkerName(); if (workerName != null) { return workerName; } } return defaultName; }
@Override public TaskStatus getTaskStatus() { return workerTask.getStatus(); }
@Override public TrackingInfo getTrackingInfo() { return taskMessage.getTracking(); }
public Worker createWorker() throws InvalidTaskException, TaskRejectedException { return workerFactory.getWorker(this); }
/** * Begin accepting tasks to process. * * @throws QueueException if the queues cannot be started */ public void start() throws QueueException { workerQueue.start(callback); }
@Override public String getClassifier() { return taskMessage.getTaskClassifier(); }
@Override public int getVersion() { return taskMessage.getTaskApiVersion(); }
@Override public String getTo() { return taskMessage.getTo(); }
public TrackingInfo(final TrackingInfo trackingInfo) { this.jobTaskId = trackingInfo.jobTaskId; this.statusCheckTime = nullSafeCloneDate(trackingInfo.statusCheckTime); this.statusCheckUrl = trackingInfo.statusCheckUrl; this.trackingPipe = trackingInfo.trackingPipe; this.trackTo = trackingInfo.trackTo; }
@Override public TaskSourceInfo getSourceInfo() { return taskMessage.getSourceInfo(); }