我有一个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对象。