ChannelDeploymentDescriptor cdd = new ChannelDeploymentDescriptor(senderId, receiverId);
TaskDeploymentDescriptor tdd1 = new TaskDeploymentDescriptor(jid, vid1, eid1, "Sender", 0, 1,
new Configuration(), new Configuration(), Sender.class.getName(),
Collections.singletonList(new GateDeploymentDescriptor(Collections.singletonList(cdd))),
Collections.<GateDeploymentDescriptor>emptyList(),
new ArrayList<BlobKey>(), 0);
TaskDeploymentDescriptor tdd2 = new TaskDeploymentDescriptor(jid, vid2, eid2, "Receiver", 2, 7,
new Configuration(), new Configuration(), ReceiverBlocking.class.getName(),
Collections.<GateDeploymentDescriptor>emptyList(),
Collections.singletonList(new GateDeploymentDescriptor(Collections.singletonList(cdd))),
new ArrayList<BlobKey>(), 0);
// deploy sender before receiver, so the target is online when the sender requests the connection info
TaskOperationResult result2 = tm.submitTask(tdd2);
TaskOperationResult result1 = tm.submitTask(tdd1);