在Spring 4.3.x中通过变量名注入@Resource

时间:2019-02-06 14:06:01

标签: spring jms spring-jms

我有一个Spring 4.3.x应用程序,该应用程序使用JNDI引用从服务器上配置的一个javax.jms.Queue接线,如下所示:

@Resource(mappedName="jms/myQueue")
private Queue myQueue;

但是,JNDI名称在其他环境中发生了更改(不幸的是,我对此没有太多控制权),因此我希望能够使用诸如特定于环境的props文件之类的内容来针对每个环境更改JNDI参考。理想的情况是:

env.properties

JMS.MYQUEUE=jms/myQueue

jms配置

@Resource(mappedName="${JMS.MYQUEUE}")
private Queue myQueue;

不幸的是,无论Spring使用什么注入到@Resource注释中,都不会像@Value这样插入变量。我想知道是否有一种方法可以使我丢失,而不必以编程方式手动挖掘JNDI对象。

0 个答案:

没有答案