@@ -67,34 +67,36 @@ public QueueBrowseServlet() {
6767 // -------------------------------------------------------------------------
6868 protected void doGet (HttpServletRequest request , HttpServletResponse response ) throws ServletException , IOException {
6969 try {
70- WebClient client = WebClient .getWebClient (request );
71- Session session = client .getSession ();
72- Queue queue = getQueue (request , session );
73- if (queue == null ) {
74- throw new ServletException ("No queue URI specified" );
75- }
76-
77- String msgId = request .getParameter ("msgId" );
78- if (msgId == null ) {
79- MessageRenderer renderer = getMessageRenderer (request );
80- configureRenderer (request , renderer );
81-
82- String selector = getSelector (request );
83- QueueBrowser browser = session .createBrowser (queue , selector );
84- renderer .renderMessages (request , response , browser );
85- }
86- else {
87- XmlMessageRenderer renderer = new XmlMessageRenderer ();
88- QueueBrowser browser = session .createBrowser (queue , "JMSMessageID='" + msgId + "'" );
89- if (!browser .getEnumeration ().hasMoreElements ()) {
90- response .sendError (HttpServletResponse .SC_NOT_FOUND );
91- return ;
70+ try (WebClient client = WebClient .getWebClient (request );
71+ Session session = client .getSession ()) {
72+ Queue queue = getQueue (request , session );
73+ if (queue == null ) {
74+ throw new ServletException ("No queue URI specified" );
9275 }
93- Message message = (Message ) browser .getEnumeration ().nextElement ();
9476
95- PrintWriter writer = response .getWriter ();
96- renderer .renderMessage (writer , request , response , browser , message );
97- writer .flush ();
77+ String msgId = request .getParameter ("msgId" );
78+ if (msgId == null ) {
79+ MessageRenderer renderer = getMessageRenderer (request );
80+ configureRenderer (request , renderer );
81+
82+ String selector = getSelector (request );
83+ try (QueueBrowser browser = session .createBrowser (queue , selector )) {
84+ renderer .renderMessages (request , response , browser );
85+ }
86+ } else {
87+ XmlMessageRenderer renderer = new XmlMessageRenderer ();
88+ try (QueueBrowser browser = session .createBrowser (queue , "JMSMessageID='" + msgId + "'" )) {
89+ if (!browser .getEnumeration ().hasMoreElements ()) {
90+ response .sendError (HttpServletResponse .SC_NOT_FOUND );
91+ return ;
92+ }
93+ Message message = (Message ) browser .getEnumeration ().nextElement ();
94+
95+ PrintWriter writer = response .getWriter ();
96+ renderer .renderMessage (writer , request , response , browser , message );
97+ writer .flush ();
98+ }
99+ }
98100 }
99101 }
100102 catch (JMSException e ) {
0 commit comments