Dies ist mein erstes Mal mit Spring JMS (und mit JMS im Allgemeinen) und ich habe einige Zweifel im Zusammenhang mit dem Konzept der JmsTemplate Rückruf.Was ist ein JmsTemplate-Callback in Spring JMS?
Ich weiß, dass die JmsTemplate eine Klasse von Frühling bis vorgesehen ist:
- Reduziert Standardcode.
- Ressourcen transparent verwalten.
- Konvertiert geprüfte Ausnahmen in Laufzeitäquivalente.
- Bietet bequeme Methoden und Rückrufe.
und dass es für die Nachrichtenproduktion und den synchronen Nachrichtenempfang verwendet wird. Es vereinfacht die Verwendung von JMS, da es die Erstellung und Freigabe von Ressourcen beim Senden oder synchronen Empfangen von Nachrichten übernimmt.
den Frühling offizielle Dokumentation lesen (hier: http://docs.spring.io/spring/docs/current/spring-framework-reference/html/jms.html) Ich fand:
Code, der die JmsTemplate verwendet nur Rückruf implementieren muss Schnittstellen ihnen einen klar definierte hohen Vertrag zu geben. Die MessageCreator-Callback-Schnittstelle erstellt eine Nachricht mit einer Sitzung , die vom aufrufenden Code in JmsTemplate bereitgestellt wird.
Das ist nicht klar für mich. Was genau sind diese Rückruf?
Am Anfang dachte ich, dass ein Callback eine Methode ist, die von der JmsTemplate zur Verfügung gestellt wird, aber hier zu lesen, es scheint etwas ähnlicher zu einer Schnittstelle, die ich implementieren muss. Wie es funktioniert?
Ich fand auch dieses Beispiel:
A POJO Throught JMS Senden (die JmsTemplate verwenden):
public class JmsOrderManager implements OrderManager {
@Autowired JmsTemplate jmsTemplate;
@Autowired Destination orderQueue;
public void placeOrder(Order order) {
String stringMessage = "New order " + order.getNumber();
jmsTemplate.convertAndSend("messageQueue", stringMessage);
// use destination resolver and message converter
jmsTemplate.convertAndSend(orderQueue, order); // use message converter
jmsTemplate.convertAndSend(order); // use converter and default destination
}
}
dachte ich, dass die convertAndSend() Methode ist ein JmsTemplate Rückruf aber wahrscheinlich ist diese Behauptung nicht korrekt.
Können Sie mir erklären, was genau ein JmsTemplate-Rückruf ist?
mmm es bleibt immer noch etwas unklar für mich. Also, was sind diese Callback (zusätzlich zu SessionCallback), so werde ich versuchen, ein Beispiel zu suchen – AndreaNobili
Sie können Operationen ausführen, zum Beispiel direkt auf der 'Session' - lesen Sie die JMS Spec. und Javadocs für weitere Informationen. –