ano*_*ous 1 java annotations spring-annotations spring-jms spring-boot
我正在研究一个从Azure服务总线读取消息的应用程序。该应用程序是使用Spring Boot,Spring jms和Qpid jms客户端创建的。我能够从Queue正确读取消息,而没有任何问题。PFB我用来阅读消息的代码。
@Service
public class QueueReceiver {
@JmsListener(destination = "testing")
public void onMessage(String message) {
if (null != message) {
System.out.println("Received message from Queue: " + message);
}
}}
Run Code Online (Sandbox Code Playgroud)
问题是,对于不同的环境,我们有不同的目的地,例如testingfor dev,testing-qafor qa和testing-prodfor production,所有这些值都分别azure.queueName在不同的application-(ENV).properpties中提供。我想将这些目标动态传递给JmsListener注释中的目标。当我尝试使用
@Value("${azure.queueName}")
private String dest;
Run Code Online (Sandbox Code Playgroud)
并将dest传递给注释 @JmsListener(destination = dest)
我收到The value for annotation attribute JmsListener.destination must be a constant expression错误消息。仔细检查了此错误后,我发现我们无法将动态值传递给注释。请帮助我如何解决此问题或任何其他解决方案。
| 归档时间: |
|
| 查看次数: |
2971 次 |
| 最近记录: |