Еще одно предложение: как насчет разделения вашей весенней конфигурации на две части: общий файл, который отправляется всем, и файл, специфичный для развертывания, который содержит определения различных бинов. Таким образом, вы могли бы иметь:
applicationCommon.xml
deploymentJMS.xml
deploymentOtherMessaging.xml
deploymentDifferentAgainMessaging.xml
Затем, когда ваши системные администраторы развертывают, они выбирают один файлов развертывания ???. Xml, в зависимости от сценария, и помещают его в каталог конфигурации
Ваше приложение будет настроено на использование подстановочного выражения для загрузки файла applicationCommon.xml и любого другого xml-файла в каталоге config, используя их вместе для построения контекста приложения (без особой заботы о том, какими именно файлами они были).
Различные XML-файлы развертывания будут жить в системе контроля версий, и администраторам sys не понадобятся никакие подробные знания, кроме знания того, что они всегда развертывают именованный файл XML-развертывания ???., Соответствующий сценарию.
(Если это веб-приложение, может потребоваться, чтобы каталог «config» был отделен от самого веб-приложения, чтобы повторное развертывание приложения не переписывало конфигурацию, специфичную для развертывания)
И, конечно, все это развертывание можно было записать в сценарий, чтобы правильный параметр был выбран параметром командной строки, например ...