public JobRecord setType(DirectBuffer buf) { return setType(buf, 0, buf.capacity()); }
@Test public void shouldListActivatableJobsForTypeInOrder() { // given final DirectBuffer type = wrapString("test"); jobState.create(1, newJobRecord().setType("tes")); jobState.create(256L, newJobRecord().setType(type)); createAndActivateJobRecord(512, newJobRecord().setType(type)); jobState.create(65536L, newJobRecord().setType(type)); jobState.create(4294967296L, newJobRecord().setType("test-other")); // when final List<Long> jobKeys = getActivatableKeys(type); // then assertThat(jobKeys).hasSize(2); assertThat(jobKeys).containsExactly(256L, 65536L); }
@Test public void shouldNotDoAnythingIfNoActivatableJobs() { // given final DirectBuffer type = wrapString("test"); createAndActivateJobRecord(1, newJobRecord().setType(type)); jobState.create(256L, newJobRecord().setType("other")); // when final List<Long> jobKeys = getActivatableKeys(type); // then assertThat(jobKeys).isEmpty(); }
@Test public void shouldListActivatableJobsForTypeInOrder() { // given final DirectBuffer type = wrapString("test"); jobState.create(1, newJobRecord().setType("tes")); jobState.create(256L, newJobRecord().setType(type)); createAndActivateJobRecord(512, newJobRecord().setType(type)); jobState.create(65536L, newJobRecord().setType(type)); jobState.create(4294967296L, newJobRecord().setType("test-other")); // when final List<Long> jobKeys = getActivatableKeys(type); // then assertThat(jobKeys).hasSize(2); assertThat(jobKeys).containsExactly(256L, 65536L); }
@Test public void shouldNotDoAnythingIfNoActivatableJobs() { // given final DirectBuffer type = wrapString("test"); createAndActivateJobRecord(1, newJobRecord().setType(type)); jobState.create(256L, newJobRecord().setType("other")); // when final List<Long> jobKeys = getActivatableKeys(type); // then assertThat(jobKeys).isEmpty(); }
private JobRecord newJobRecord() { final JobRecord jobRecord = new JobRecord(); jobRecord.setRetries(2); jobRecord.setDeadline(256L); jobRecord.setType("test"); return jobRecord; }
private JobRecord newJobRecord() { final JobRecord jobRecord = new JobRecord(); jobRecord.setRetries(2); jobRecord.setDeadline(256L); jobRecord.setType("test"); return jobRecord; }
@Test public void shouldReturnCorrectJob() { // given final long key = 1L; final JobRecord jobRecord = newJobRecord().setType("test"); // when jobState.create(key, jobRecord); jobState.create(key + 1, newJobRecord().setType("other")); // then final JobRecord savedJob = jobState.getJob(key); assertJobRecordIsEqualTo(savedJob, jobRecord); assertThat(BufferUtil.bufferAsString(savedJob.getType())).isEqualTo("test"); }
@Test public void shouldReturnCorrectJob() { // given final long key = 1L; final JobRecord jobRecord = newJobRecord().setType("test"); // when jobState.create(key, jobRecord); jobState.create(key + 1, newJobRecord().setType("other")); // then final JobRecord savedJob = jobState.getJob(key); assertJobRecordIsEqualTo(savedJob, jobRecord); assertThat(BufferUtil.bufferAsString(savedJob.getType())).isEqualTo("test"); }
@Test public void shouldNotOverwritePreviousRecord() { // given final long key = 1L; final JobRecord writtenRecord = newJobRecord(); // when jobState.create(key, writtenRecord); writtenRecord.setType("foo"); // then final JobRecord readRecord = jobState.getJob(key); assertThat(readRecord.getType()).isNotEqualTo(writtenRecord.getType()); assertThat(readRecord.getType()).isEqualTo(BufferUtil.wrapString("test")); assertThat(writtenRecord.getType()).isEqualTo(BufferUtil.wrapString("foo")); }
@Test public void testInvariants() { final JobRecord jobWithoutType = newJobRecord().setType(new UnsafeBuffer(0, 0)); final JobRecord jobWithoutDeadline = newJobRecord().setDeadline(0L);
@Test public void testInvariants() { final JobRecord jobWithoutType = newJobRecord().setType(new UnsafeBuffer(0, 0)); final JobRecord jobWithoutDeadline = newJobRecord().setDeadline(0L);
@Test public void shouldNotOverwritePreviousRecord() { // given final long key = 1L; final JobRecord writtenRecord = newJobRecord(); // when jobState.create(key, writtenRecord); writtenRecord.setType("foo"); // then final JobRecord readRecord = jobState.getJob(key); assertThat(readRecord.getType()).isNotEqualTo(writtenRecord.getType()); assertThat(readRecord.getType()).isEqualTo(BufferUtil.wrapString("test")); assertThat(writtenRecord.getType()).isEqualTo(BufferUtil.wrapString("foo")); }
private void populateJobFromTask( BpmnStepContext<T> context, WorkflowInstanceRecord value, ExecutableServiceTask serviceTask) { final DirectBuffer headers = serviceTask.getEncodedHeaders(); jobCommand.reset(); jobCommand .setType(serviceTask.getType()) .setRetries(serviceTask.getRetries()) .setPayload(value.getPayload()) .setCustomHeaders(headers) .getHeaders() .setBpmnProcessId(value.getBpmnProcessId()) .setWorkflowDefinitionVersion(value.getVersion()) .setWorkflowKey(value.getWorkflowKey()) .setWorkflowInstanceKey(value.getWorkflowInstanceKey()) .setElementId(serviceTask.getId()) .setElementInstanceKey(context.getRecord().getKey()); } }
@Override public void handle(final BpmnStepContext<ExecutableServiceTask> context) { final WorkflowInstanceRecord value = context.getValue(); final ExecutableServiceTask serviceTask = context.getElement(); jobCommand.reset(); jobCommand .setType(serviceTask.getType()) .setRetries(serviceTask.getRetries()) .setPayload(value.getPayload()) .getHeaders() .setBpmnProcessId(value.getBpmnProcessId()) .setWorkflowDefinitionVersion(value.getVersion()) .setWorkflowKey(value.getWorkflowKey()) .setWorkflowInstanceKey(value.getWorkflowInstanceKey()) .setElementId(serviceTask.getId()) .setElementInstanceKey(context.getRecord().getKey()); final DirectBuffer headers = serviceTask.getEncodedHeaders(); jobCommand.setCustomHeaders(headers); context.getCommandWriter().appendNewCommand(JobIntent.CREATE, jobCommand); } }
.setType(wrapString(type)) .setPayload(PAYLOAD_MSGPACK) .setRetries(3)
.setType(wrapString(type)) .setPayload(PAYLOAD_MSGPACK) .setRetries(3)
new JobRecord() .setWorker(wrapString(worker)) .setType(wrapString(type)) .setPayload(PAYLOAD_MSGPACK) .setRetries(retries)
new JobRecord() .setWorker(wrapString(worker)) .setType(wrapString(type)) .setPayload(PAYLOAD_MSGPACK) .setRetries(retries)
jobRecord.setType(BufferUtil.wrapString("someTaskType"));