nolu Spring bean'ı ayarlama JMS bağlantı fabrikasını Java uygulamamın içine enjekte etmek için Spring kullanıyorum. Bu fabrika sadece üretim ortamında gerekli olduğu için, ben geliştirirken değil, ben fasulye tanımı benim ana applicationContext.xml içine dahil ayrı bir XML koydu. Üretim ortamlarında bu ekstra dosya normal fasulye tanımını içerir. Yerel dev ortamımda bu fasulyenin boş olmasını isterim. Bean tanımını tamamen kaldırmaya çalışmak, Spring'in bilmediği bir referans kimliğine rastladığında açık bir şekilde bir hataya neden oldu.Kasıtlı olarak
Bu nedenle, yalnızca boş döndürecek bir fabrika çekirdeği oluşturmayı denedim. Bunu yaparsam, Spring (2.5.x), FactoryBean arabiriminin Spring API'sı belgesine dayanarak fabrikanın null değerini döndürdüğünü iddia ediyordu. Bunu çalışmak için bekledim (bkz. Spring API doc).
<bean id="jmsConnectionFactoryFactory" class="de.airlinesim.jms.NullJmsConnectionFactoryFactory" />
<bean id="jmsConnectionFactory" factory-bean="jmsConnectionFactoryFactory" factory-method="getObject"/>
Ne Bunu yapmanın "doğru" yolu olacaktır:
XML şuna benzer?
Bunun için bir açık özellik isteği var, ama 2 yıldır orada oturuyor ... oy verebileceği için yardım edebilir: http://jira.springframework.org/browse/SPR-5320 – skaffman
Eğer bu benim için işe yaramadı Çekirdeği bir '@ Autowired' bağlamında kullandı. –
Eğer null döndürürseniz BeanCreationException alıyorum. Neden: org.springframework.beans.factory.BeanCreationException: Sınıf yolu kaynağında [nex.xml] tanımlı 'nullObject' adı verilen fasulye yaratılırken hata oluştu: fabrikada 'NullFactoryBean' null döndürüldü – endless