private static JobHeaders fromBrokerJobHeaders( io.zeebe.protocol.impl.record.value.job.JobHeaders headers) { return JobHeaders.newBuilder() .setWorkflowInstanceKey(headers.getWorkflowInstanceKey()) .setBpmnProcessId(bufferAsString(headers.getBpmnProcessId())) .setWorkflowDefinitionVersion(headers.getWorkflowDefinitionVersion()) .setWorkflowKey(headers.getWorkflowKey()) .setElementId(bufferAsString(headers.getElementId())) .setElementInstanceKey(headers.getElementInstanceKey()) .build(); }
private JobRecordValue ofJobRecord(JobRecord record) { final JobHeaders jobHeaders = record.getHeaders(); final HeadersImpl headers = new HeadersImpl( asString(jobHeaders.getBpmnProcessId()), asString(jobHeaders.getElementId()), jobHeaders.getElementInstanceKey(), jobHeaders.getWorkflowInstanceKey(), jobHeaders.getWorkflowKey(), jobHeaders.getWorkflowDefinitionVersion()); final Instant deadline; if (record.getDeadline() != Protocol.INSTANT_NULL_VALUE) { deadline = Instant.ofEpochMilli(record.getDeadline()); } else { deadline = null; } return new JobRecordValueImpl( objectMapper, asJson(record.getPayload()), asString(record.getType()), asString(record.getWorker()), deadline, headers, asMsgPackMap(record.getCustomHeaders()), record.getRetries(), asString(record.getErrorMessage())); }
private JobRecordValue ofJobRecord(JobRecord record) { final JobHeaders jobHeaders = record.getHeaders(); final HeadersImpl headers = new HeadersImpl( asString(jobHeaders.getBpmnProcessId()), asString(jobHeaders.getElementId()), jobHeaders.getElementInstanceKey(), jobHeaders.getWorkflowInstanceKey(), jobHeaders.getWorkflowKey(), jobHeaders.getWorkflowDefinitionVersion()); final Instant deadline; if (record.getDeadline() != Protocol.INSTANT_NULL_VALUE) { deadline = Instant.ofEpochMilli(record.getDeadline()); } else { deadline = null; } return new JobRecordValueImpl( objectMapper, asJson(record.getPayload()), asString(record.getType()), asString(record.getWorker()), deadline, headers, asMsgPackMap(record.getCustomHeaders()), record.getRetries(), asString(record.getErrorMessage())); }
@Override public void processRecord( TypedRecord<JobRecord> event, TypedResponseWriter responseWriter, TypedStreamWriter streamWriter) { final JobRecord value = event.getValue(); if (value.getRetries() <= 0) { final JobHeaders jobHeaders = value.getHeaders(); final DirectBuffer jobErrorMessage = value.getErrorMessage(); DirectBuffer incidentErrorMessage = DEFAULT_ERROR_MESSAGE; if (jobErrorMessage.capacity() > 0) { incidentErrorMessage = jobErrorMessage; } incidentEvent.reset(); incidentEvent .setErrorType(ErrorType.JOB_NO_RETRIES) .setErrorMessage(incidentErrorMessage) .setBpmnProcessId(jobHeaders.getBpmnProcessId()) .setWorkflowInstanceKey(jobHeaders.getWorkflowInstanceKey()) .setElementId(jobHeaders.getElementId()) .setElementInstanceKey(jobHeaders.getElementInstanceKey()) .setJobKey(event.getKey()); streamWriter.appendNewCommand(IncidentIntent.CREATE, incidentEvent); } } }
.setErrorMessage(incidentErrorMessage) .setBpmnProcessId(jobHeaders.getBpmnProcessId()) .setWorkflowInstanceKey(jobHeaders.getWorkflowInstanceKey()) .setElementId(jobHeaders.getElementId()) .setElementInstanceKey(jobHeaders.getElementInstanceKey())