Witam, mam problem, moze ktos sie z tym spotkal i podpowie: aplikacja laczy sie z serwerem websphere gdziestam, sa dostepne 2 kolejki, wysylam wiadomosci do jednej, pobieram odpowiedz z drugiej. Wysylanie dziala ok, mam wglad do kolejki i widze moja wiadomosc. Odpowiedz tez jest wysylana poprawnie. Problem jest taki: gdy uruchamiam aplikacje (standalone), wiadomosc jest wysylana, ale nic nie jest odbierane, jakby moj listener zostal juz sprzatniety przez GC. Gdy uruchamiam znow, chwile pozniej, pierwsza rzecz ktora widze to wiadomosc pobrana z kolejki wychodzacej, pozniej idzie wysylanie. Chcialbym, zeby to dzialo sie w odwrotnej kolejnosci. Dodanie receive-timeout="-1" nie pomoglo. Ponizej kawalek springa, pomijam poprawna skladnie itd, kontekst springa laduje sie poprawnie:

bean id="listener" class="Receiver" // ta klasa implementuje MessageListener
jms:listener-container connectionFactory="CachedConnectionFactory"
	jms:listener destination="outbound.queue" ref="listener" method="onMessage"

bead id="sender" class="JmsTemplate" p:connectionFactory=CachedConnectionFactory p:defaultDestination-ref="inbound.queue"

class Sender {
	@Autowired
	JmsTemplate sender;	
}

Klasy chyba dosc typowe, onMessage() w listener, this.sender.send(new MessageCreator() {...} w sender. Nie znam jms za bardzo, wiec wszystko wyglada jak w dokumentacji spring jms.