Функция Azure с RabbitMQ: вывода несколько сообщенийJAVA

Программисты JAVA общаются здесь
Anonymous
Функция Azure с RabbitMQ: вывода несколько сообщений

Сообщение Anonymous »

У меня есть функция Azure, выполненную в Java, которая запускается сообщением RabbitMQ в определенной очереди. Я видел, что outputBinding.setValue не сразу отправляет сообщение, а только устанавливает значение, которое будет использоваться в качестве вывода функции.import com.microsoft.azure.functions.ExecutionContext;
import com.microsoft.azure.functions.OutputBinding;
import com.microsoft.azure.functions.annotation.FunctionName;
import com.microsoft.azure.functions.rabbitmq.annotation.RabbitMQOutput;
import com.microsoft.azure.functions.rabbitmq.annotation.RabbitMQTrigger;

public class MyFunction {

@FunctionName("MyFunction")
public void run(
@RabbitMQTrigger(connectionStringSetting = "RABBIT_URL", queueName = "input-queue")
InputMessage message,
@RabbitMQOutput(connectionStringSetting = "RABBIT_URL", queueName = "output-queue")
OutputBinding output,
final ExecutionContext context) {

// some code...

output.setValue(new OutputMessage(OutputMessage.Status.PROCESSING, "some other info 1"));

// other code...

output.setValue(new OutputMessage(OutputMessage.Status.DONE, "some other info 2"));
}
}
< /code>
public record OutputMessage (Status status, String info) {

public enum Status {
PROCESSING,
DONE
}
}
< /code>
Сообщение со статусом «обработка» должна быть запущена до того, как функция сделает свое дело, но если я проверю функцию и перейду к интерфейсу управления Rabbitmq, я вижу, что в очереди вывода есть только 1 сообщение, а не 2, и это то, что со статусом «выполнено». Библиотека/ES? Или мне нужно импортировать библиотеку RabbitMQ, подключиться к очереди и вручную отправлять сообщение через это?


Подробнее здесь: https://stackoverflow.com/questions/796 ... e-messages

Вернуться в «JAVA»