У меня есть приложение Spring 4.3.x, которое подключается к javax.jms.Queue
от приложения, настроенного на сервере с использованием ссылки JNDI, например:
@Resource(mappedName="jms/myQueue")
private Queue myQueue;
Однако имя JNDI изменилось в других средах(и, к сожалению, я не очень контролирую это), поэтому я хотел бы иметь возможность изменять ссылку JNDI для каждой среды, используя что-то вроде специфических для среды файлов props.В идеале это будет выглядеть примерно так:
env.properties
JMS.MYQUEUE=jms/myQueue
jms config
@Resource(mappedName="${JMS.MYQUEUE}")
private Queue myQueue;
К сожалению,что бы Spring ни использовал для вставки в аннотацию @Resource
, он не интерполирует переменные так же, как это делает что-то вроде @Value
.Мне интересно, есть ли способ сделать это, что мне не хватает, без необходимости вручную выкапывать объект JNDI программно.