1 21 package com.presumo.jms.client; 22 23 import com.presumo.jms.selector.JmsOperand; 24 import com.presumo.jms.selector.Parser; 25 26 import javax.jms.QueueReceiver ; 27 import javax.jms.JMSException ; 28 import javax.jms.Queue ; 29 30 public final class JmsQueueReceiver extends JmsMessageConsumer 31 implements QueueReceiver 32 { 33 private final JmsQueue queue; 37 private final JmsOperand filter; 38 39 40 JmsQueueReceiver(JmsQueueSession session, 44 String selector, 45 JmsQueue queue, 46 boolean forBrowser) 47 throws JMSException 48 { 49 super(session, selector); 50 this.queue = queue; 51 52 String uniqueID = createUniqueID(); 53 54 String userSelector = this.selector; 56 this.selector = generateSystemFilter(queue.getQueueName(), uniqueID); 57 58 this.filter = Parser.getInstance().parseFilter(this.selector); 59 mySession.addConsumer(this); 60 61 int type = (forBrowser) ? JmsSession.QUEUE_BROWSER_CRT : 62 JmsSession.QUEUE_RECEIVER_CRT; 63 session.sendQueueRequest(queue.getQueueName(), uniqueID, userSelector, type); 68 } 69 70 74 public Queue getQueue() throws JMSException 75 { 76 return queue; 77 } 78 79 83 final JmsOperand getFilter() 84 { 85 return this.filter; 86 } 87 88 } 89 | Popular Tags |