Я использую Spring для ввода JMS-соединения factory в свое приложение Java. Поскольку этот factory требуется только в рабочей среде, но пока я не разрабатываю, я поместил определение bean в отдельный XML, который я включил в свой основной applicationContext.xml. В производственных средах этот дополнительный файл содержит регулярное определение bean. В моей локальной среде dev я бы хотел, чтобы этот bean был нулевым. Попытка просто удалить определение bean all-toghether явно вызвало ошибку, когда Spring столкнулся с идентификатором ссылки, который он не знал.
Поэтому я попытался создать factory bean, который просто вернул бы null. Если я это сделаю, Spring (2.5.x) жалуется на то, что factory возвратил нуль, хотя на основе API-интерфейса Spring API-интерфейса FactoryBean я ожидал, что это сработает (см. Spring API doc).
XML выглядит примерно так:
<bean id="jmsConnectionFactoryFactory" class="de.airlinesim.jms.NullJmsConnectionFactoryFactory" />
<bean id="jmsConnectionFactory" factory-bean="jmsConnectionFactoryFactory" factory-method="getObject"/>
Каким был бы "правильный" способ сделать это?