मैं इस का उपयोग मामला है के बीच लेन-देन के साथ कठिनाई।वसंत एकीकरण: 2 activators
प्रथम श्रृंखला:
@Override
@Transactional(propagation = Propagation.REQUIRES_NEW)
public EventMessage<ModificaOperativitaRapporto> activate(EventMessage<InserimentoCanale> eventMessage) {
...
// some Database changes
dao.save(myObject);
}
सभी महान काम कर रहा है:
<int:chain input-channel="inserimentoCanaleActivate" output-channel="inserimentoCanalePreRouting">
<int:service-activator ref="inserimentoCanaleActivator" method="activate" />
</int:chain>
यह सापेक्ष कोड है।
<int:chain id="onlineCensimentoClienteChain" input-channel="ONLINE_CENSIMENTO_CLIENTE" output-channel="inserimentoCanaleActivate">
<int:service-activator ref="onlineCensimentoClienteActivator" method="activate" />
<int:splitter expression="payload.getPayload().getCanali()" />
</int:chain>
और रिश्तेदार उत्प्रेरक:
तो मैं एक और श्रृंखला है
@Override
public EventMessage<CensimentoCliente> activate(EventMessage<CensimentoCliente> eventMessage) {
...
// some Database changes
dao.save(myObject);
}
CensimentoCliente
पेलोड के रूप में नीचे वर्णित पहले श्रृंखला के पेलोड के एक List
है, एक विभाजक मैं के साथ ऐसा सूची में विभाजित करें और पहली श्रृंखला के कोड का पुन: उपयोग करें।
public interface CensimentoCliente extends Serializable {
Collection<? extends InserimentoCanale> getCanali();
void setCanali(Collection<? extends InserimentoCanale> canali);
...
}
लेकिन हर एक्टिवेटर (के बाद से पहले एक दूसरे के बिना रह सकते हैं) अपने लेन-देन परिभाषा हो जाता है के बाद से मैं एक प्रयोग मामले में जहां लेनदेन अलग होती है।
लक्ष्य एक ही लेन-देन का हिस्सा रहा दो श्रृंखलाओं के डाटाबेस को संशोधित करने के लिए है।
कोई मदद?
तरह का संबंध मास्सिमो
क्या तुमने कभी एक समाधान मिला के बारे में थोड़ा स्पष्ट करने के लिए? – dMcNavish
नहीं ........... –