Azure Function结合RabbitMQ(Java):实现多消息输出的问题咨询
Azure Function结合RabbitMQ(Java):实现多消息输出的问题咨询
嘿,我最近碰到个头疼的问题,想请教下大家!我用Java开发了一个Azure Function,它是通过RabbitMQ某个特定队列里的消息来触发执行的。现在我的需求是:在函数代码执行到中途的时候发一条消息,等整个函数逻辑跑完再发另一条不同的消息。但试了之后发现,OutputBinding.setValue根本不是立刻发送消息,只是把值设置成函数最终的输出内容——中途设的值会被后面的覆盖,最后只能发出最后那一条消息,完全达不到我要的效果。
下面是我的代码结构,大家可以看看:
import com.microsoft.azure.function.*; import com.microsoft.azure.function.annotation.*; public class RabbitMQFunction { @FunctionName("RabbitMQTriggerFunction") public void run( @RabbitMQTrigger( queueName = "input-queue", connectionStringSetting = "RabbitMQConnection" ) String inputMessage, @RabbitMQOutput( queueName = "output-queue", connectionStringSetting = "RabbitMQConnection" ) OutputBinding<String> outputBinding, final ExecutionContext context ) { // 原本想在这里发送第一条消息,但设置后会被后面的覆盖 // outputBinding.setValue("中途执行的消息"); // 中间的业务逻辑处理步骤... // 这里设置的是最终输出的消息,之前的设置会被替换 outputBinding.setValue("执行完成的消息"); } }
现在我就卡在这儿了,用Azure Function自带的OutputBinding只能实现单次输出,没法在函数执行过程中主动发送多条RabbitMQ消息。有没有过来人能给我支个招,告诉我该怎么实现这个需求呀?
内容来源于stack exchange
相关产品推荐
相关产品推荐

