| 1 21 package com.presumo.jms.client; 22 23 import com.presumo.jms.message.JmsMessage; 24 import com.presumo.jms.message.SystemMessageConstants; 25 26 import javax.jms.Destination ; 27 import javax.jms.DeliveryMode ; 28 import javax.jms.IllegalStateException ; 29 import javax.jms.JMSException ; 30 import javax.jms.Message ; 31 import javax.jms.MessageFormatException ; 32 import javax.jms.MessageProducer ; 33 34 35 44 public abstract class JmsMessageProducer implements MessageProducer  45 { 46 protected boolean disableMessageTimestamp; 47 48 protected int deliveryMode = DeliveryMode.NON_PERSISTENT; 50 protected int priority = Message.DEFAULT_PRIORITY; 51 protected long timeToLive = Message.DEFAULT_TIME_TO_LIVE; 52 53 protected final JmsSession mySession; 54 55 59 JmsMessageProducer(JmsSession session) 60 { 61 this.mySession = session; 62 session.addProducer(this); 63 } 64 65 69 73 public final void setDisableMessageID(boolean value) throws JMSException 74 { 75 } 76 77 81 public final boolean getDisableMessageID() throws JMSException 82 { 83 return false; 84 } 85 86 87 public final void setDisableMessageTimestamp(boolean value) throws JMSException 88 { 89 this.disableMessageTimestamp = value; 90 } 91 92 93 public final boolean getDisableMessageTimestamp() throws JMSException 94 { 95 return disableMessageTimestamp; 96 } 97 98 99 public final void setDeliveryMode(int deliveryMode) throws JMSException 100 { 101 this.deliveryMode = deliveryMode; 102 } 103 104 105 public final int getDeliveryMode() throws JMSException 106 { 107 return deliveryMode; 108 } 109 110 111 public final void setPriority(int priority) throws JMSException 112 { 113 this.priority = priority; 114 } 115 116 117 public final int getPriority() throws JMSException 118 { 119 return priority; 120 } 121 122 123 public final void setTimeToLive(long timeToLive) throws JMSException 124 { 125 this.timeToLive = timeToLive; 126 } 127 128 129 public final long getTimeToLive() throws JMSException 130 { 131 return timeToLive; 132 } 133 134 135 public void close() throws JMSException 136 { 137 mySession.removeProducer(this); 138 } 139 140 141 145 149 protected final void prepareAndSend(Destination destination, 150 Message message, 151 int _deliveryMode, 152 int _priority, 153 long _timeToLive) throws JMSException  154 { 155 if (message == null) 156 throw new MessageFormatException ("Attempted to send null message"); 157 158 if (! (message instanceof JmsMessage)) 160 throw new MessageFormatException  161 ("Message was not generated by this JMS implementation: " + message.toString()); 162 163 JmsMessage messageToSend = (JmsMessage) message; 165 messageToSend.setJMSDestination(destination); 166 167 messageToSend.setLocal(true); 170 171 messageToSend.setJMSDeliveryMode(_deliveryMode); 173 if (priority != Message.DEFAULT_PRIORITY) 174 messageToSend.setJMSPriority(_priority); 175 176 if (!this.disableMessageTimestamp) { 177 182 } 186 187 messageToSend.setJMSSystemMsgType(SystemMessageConstants.USER_MSG); 190 191 mySession.send(messageToSend); 192 } 193 194 } 195 196 197 198 199 | Popular Tags |