Hallo zusammen,
ich musste gerade feststellen, dass die Spring-Leute offenbar ein sehr merkwürdiges Verständnis bezüglich Bugfixing haben. Ich testete mit Version 2.5.6 und verwendete die Klasse "DefaultMessageListenerContainer", um Nachrichten aus einer JMS Queue zu verarbeiten. Das funktioniert an sich auch, ich wollte aber wissen, wie sich die Klasse verhält, wenn die Verbindung zum JMS Broker abbricht. Laut Dokumentation ist die Klasse in der Lage das zu recovern. Ich musste allerdings feststellen, dass in einer der verwendeten Klassen zum Exception Handling, eine NPE auftreten kann, was dann ein Recovern verhindert:
Dieses Problem ist offenbar bekannt:
[#SPR-5470] Possible NPE in JmsUtils.buildExceptionMessage and JmsException.getMessage - Spring Projects Issue Tracker
[#SPR-5098] DefaultMessageListenerContainer should be able to auto-reconnect after an interval - Spring Projects Issue Tracker
Und wo wird der Fehler behoben? In Spring 3!
Schon Ende 2008 heisst es "We do intend to provide this feature in Spring 3.0. However, since the Spring 2.5.x branch is in maintenance mode already, I'm afraid it won't be backported there."
Was soll denn sowas? Von Spring 3 sind gerade mal RCs draussen, aber in der Stable Version werden so krasse Fehler nicht behoben?
Ich würd ja auch Spring 3 nehmen, da ich nur ein wenig damit spiele hängt da nix dran. Allerdings hab ich jetzt gerade mein Projekt auf Maven umgestellt, von Spring 3 gibts aber noch nix im Maven Repository. Alles was ich dazu bisher ergoogelt habe klappte nicht. Gibt irgendwelche Links zu Maven Repos wo Spring 3 drin sein soll, hab aber noch keines gefunden das funktioniert.
Grüsse,
Sven
ich musste gerade feststellen, dass die Spring-Leute offenbar ein sehr merkwürdiges Verständnis bezüglich Bugfixing haben. Ich testete mit Version 2.5.6 und verwendete die Klasse "DefaultMessageListenerContainer", um Nachrichten aus einer JMS Queue zu verarbeiten. Das funktioniert an sich auch, ich wollte aber wissen, wie sich die Klasse verhält, wenn die Verbindung zum JMS Broker abbricht. Laut Dokumentation ist die Klasse in der Lage das zu recovern. Ich musste allerdings feststellen, dass in einer der verwendeten Klassen zum Exception Handling, eine NPE auftreten kann, was dann ein Recovern verhindert:
Java:
Exception in thread "commandListener-3" java.lang.NullPointerException
at java.lang.String.indexOf(String.java:1733)
at java.lang.String.indexOf(String.java:1715)
at org.springframework.jms.support.JmsUtils.buildExceptionMessage(JmsUtils.java:255)
at org.springframework.jms.listener.DefaultMessageListenerContainer.handleListenerSetupFailure(DefaultMessageListenerContainer.java:745)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:897)
at java.lang.Thread.run(Thread.java:637)
Dieses Problem ist offenbar bekannt:
[#SPR-5470] Possible NPE in JmsUtils.buildExceptionMessage and JmsException.getMessage - Spring Projects Issue Tracker
[#SPR-5098] DefaultMessageListenerContainer should be able to auto-reconnect after an interval - Spring Projects Issue Tracker
Und wo wird der Fehler behoben? In Spring 3!
Schon Ende 2008 heisst es "We do intend to provide this feature in Spring 3.0. However, since the Spring 2.5.x branch is in maintenance mode already, I'm afraid it won't be backported there."
Was soll denn sowas? Von Spring 3 sind gerade mal RCs draussen, aber in der Stable Version werden so krasse Fehler nicht behoben?
Ich würd ja auch Spring 3 nehmen, da ich nur ein wenig damit spiele hängt da nix dran. Allerdings hab ich jetzt gerade mein Projekt auf Maven umgestellt, von Spring 3 gibts aber noch nix im Maven Repository. Alles was ich dazu bisher ergoogelt habe klappte nicht. Gibt irgendwelche Links zu Maven Repos wo Spring 3 drin sein soll, hab aber noch keines gefunden das funktioniert.
Grüsse,
Sven