org.jboss.jms.message
Class MessageProxy
java.lang.Object
org.jboss.jms.message.MessageProxy
- All Implemented Interfaces:
- java.io.Serializable, javax.jms.Message
- Direct Known Subclasses:
- BytesMessageProxy, MapMessageProxy, ObjectMessageProxy, StreamMessageProxy, TextMessageProxy
public class MessageProxy
- extends java.lang.Object
- implements javax.jms.Message, java.io.Serializable
MessageProxy is a thin proxy for JBossMessage.
JMS Users actually handle MessageProxy instances rather than JBossMessage instances. The purpose
of this class and subclasses is to prevent unnecessary copying of a message. After a message is
sent, the message can be changed, but this should not affect the sent message. This class
accomplishes this by intercepting any methods which change the state of the message and copying
either the headers, jms properties or body as appropriate. This enables up to make the minimum
amount of copies while still preserving JMS semantics. Similarly on receive.
See JMS1.1 Spec 3.9, 3.10 for more details.
If nothing is changed, nothing is copied.
- Author:
- Tim Fox
MessageProxy.java,v 1.1 2006/03/08 08:00:34 timfox Exp
- See Also:
- Serialized Form
Fields inherited from interface javax.jms.Message |
DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE |
Method Summary |
void |
acknowledge()
|
void |
beforeSend()
|
protected void |
bodyChange()
|
void |
clearBody()
|
void |
clearProperties()
|
boolean |
getBooleanProperty(java.lang.String name)
|
byte |
getByteProperty(java.lang.String name)
|
int |
getDeliveryCount()
|
long |
getDeliveryId()
|
double |
getDoubleProperty(java.lang.String name)
|
float |
getFloatProperty(java.lang.String name)
|
int |
getIntProperty(java.lang.String name)
|
java.lang.String |
getJMSCorrelationID()
|
byte[] |
getJMSCorrelationIDAsBytes()
|
int |
getJMSDeliveryMode()
|
javax.jms.Destination |
getJMSDestination()
|
long |
getJMSExpiration()
|
java.lang.String |
getJMSMessageID()
|
int |
getJMSPriority()
|
boolean |
getJMSRedelivered()
|
javax.jms.Destination |
getJMSReplyTo()
|
long |
getJMSTimestamp()
|
java.lang.String |
getJMSType()
|
long |
getLongProperty(java.lang.String name)
|
JBossMessage |
getMessage()
|
java.lang.Object |
getObjectProperty(java.lang.String name)
|
java.util.Enumeration |
getPropertyNames()
|
SessionDelegate |
getSessionDelegate()
|
short |
getShortProperty(java.lang.String name)
|
java.lang.String |
getStringProperty(java.lang.String name)
|
protected void |
headerChange()
|
void |
incDeliveryCount()
|
boolean |
propertyExists(java.lang.String name)
|
void |
setBooleanProperty(java.lang.String name,
boolean value)
|
void |
setByteProperty(java.lang.String name,
byte value)
|
void |
setDoubleProperty(java.lang.String name,
double value)
|
void |
setFloatProperty(java.lang.String name,
float value)
|
void |
setIntProperty(java.lang.String name,
int value)
|
void |
setJMSCorrelationID(java.lang.String correlationID)
|
void |
setJMSCorrelationIDAsBytes(byte[] correlationID)
|
void |
setJMSDeliveryMode(int deliveryMode)
|
void |
setJMSDestination(javax.jms.Destination destination)
|
void |
setJMSExpiration(long expiration)
|
void |
setJMSMessageID(java.lang.String id)
|
void |
setJMSPriority(int priority)
|
void |
setJMSRedelivered(boolean redelivered)
|
void |
setJMSReplyTo(javax.jms.Destination replyTo)
|
void |
setJMSTimestamp(long timestamp)
|
void |
setJMSType(java.lang.String type)
|
void |
setLongProperty(java.lang.String name,
long value)
|
void |
setObjectProperty(java.lang.String name,
java.lang.Object value)
|
void |
setSessionDelegate(SessionDelegate sd,
boolean isConnectionConsumer)
|
void |
setShortProperty(java.lang.String name,
short value)
|
void |
setStringProperty(java.lang.String name,
java.lang.String value)
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
log
protected org.jboss.logging.Logger log
bodyReadOnly
protected transient boolean bodyReadOnly
message
protected JBossMessage message
MessageProxy
public MessageProxy()
MessageProxy
public MessageProxy(JBossMessage message)
MessageProxy
public MessageProxy(long deliveryId,
JBossMessage message,
int deliveryCount)
beforeSend
public void beforeSend()
getJMSMessageID
public java.lang.String getJMSMessageID()
throws javax.jms.JMSException
- Specified by:
getJMSMessageID
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setJMSMessageID
public void setJMSMessageID(java.lang.String id)
throws javax.jms.JMSException
- Specified by:
setJMSMessageID
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getJMSTimestamp
public long getJMSTimestamp()
throws javax.jms.JMSException
- Specified by:
getJMSTimestamp
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setJMSTimestamp
public void setJMSTimestamp(long timestamp)
throws javax.jms.JMSException
- Specified by:
setJMSTimestamp
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getJMSCorrelationIDAsBytes
public byte[] getJMSCorrelationIDAsBytes()
throws javax.jms.JMSException
- Specified by:
getJMSCorrelationIDAsBytes
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setJMSCorrelationIDAsBytes
public void setJMSCorrelationIDAsBytes(byte[] correlationID)
throws javax.jms.JMSException
- Specified by:
setJMSCorrelationIDAsBytes
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setJMSCorrelationID
public void setJMSCorrelationID(java.lang.String correlationID)
throws javax.jms.JMSException
- Specified by:
setJMSCorrelationID
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getJMSCorrelationID
public java.lang.String getJMSCorrelationID()
throws javax.jms.JMSException
- Specified by:
getJMSCorrelationID
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getJMSReplyTo
public javax.jms.Destination getJMSReplyTo()
throws javax.jms.JMSException
- Specified by:
getJMSReplyTo
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setJMSReplyTo
public void setJMSReplyTo(javax.jms.Destination replyTo)
throws javax.jms.JMSException
- Specified by:
setJMSReplyTo
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getJMSDestination
public javax.jms.Destination getJMSDestination()
throws javax.jms.JMSException
- Specified by:
getJMSDestination
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setJMSDestination
public void setJMSDestination(javax.jms.Destination destination)
throws javax.jms.JMSException
- Specified by:
setJMSDestination
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getJMSDeliveryMode
public int getJMSDeliveryMode()
throws javax.jms.JMSException
- Specified by:
getJMSDeliveryMode
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setJMSDeliveryMode
public void setJMSDeliveryMode(int deliveryMode)
throws javax.jms.JMSException
- Specified by:
setJMSDeliveryMode
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getJMSRedelivered
public boolean getJMSRedelivered()
throws javax.jms.JMSException
- Specified by:
getJMSRedelivered
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setJMSRedelivered
public void setJMSRedelivered(boolean redelivered)
throws javax.jms.JMSException
- Specified by:
setJMSRedelivered
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getJMSType
public java.lang.String getJMSType()
throws javax.jms.JMSException
- Specified by:
getJMSType
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setJMSType
public void setJMSType(java.lang.String type)
throws javax.jms.JMSException
- Specified by:
setJMSType
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getJMSExpiration
public long getJMSExpiration()
throws javax.jms.JMSException
- Specified by:
getJMSExpiration
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setJMSExpiration
public void setJMSExpiration(long expiration)
throws javax.jms.JMSException
- Specified by:
setJMSExpiration
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getJMSPriority
public int getJMSPriority()
throws javax.jms.JMSException
- Specified by:
getJMSPriority
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setJMSPriority
public void setJMSPriority(int priority)
throws javax.jms.JMSException
- Specified by:
setJMSPriority
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
clearProperties
public void clearProperties()
throws javax.jms.JMSException
- Specified by:
clearProperties
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
propertyExists
public boolean propertyExists(java.lang.String name)
throws javax.jms.JMSException
- Specified by:
propertyExists
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getBooleanProperty
public boolean getBooleanProperty(java.lang.String name)
throws javax.jms.JMSException
- Specified by:
getBooleanProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getByteProperty
public byte getByteProperty(java.lang.String name)
throws javax.jms.JMSException
- Specified by:
getByteProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getShortProperty
public short getShortProperty(java.lang.String name)
throws javax.jms.JMSException
- Specified by:
getShortProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getIntProperty
public int getIntProperty(java.lang.String name)
throws javax.jms.JMSException
- Specified by:
getIntProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getLongProperty
public long getLongProperty(java.lang.String name)
throws javax.jms.JMSException
- Specified by:
getLongProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getFloatProperty
public float getFloatProperty(java.lang.String name)
throws javax.jms.JMSException
- Specified by:
getFloatProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getDoubleProperty
public double getDoubleProperty(java.lang.String name)
throws javax.jms.JMSException
- Specified by:
getDoubleProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getStringProperty
public java.lang.String getStringProperty(java.lang.String name)
throws javax.jms.JMSException
- Specified by:
getStringProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getObjectProperty
public java.lang.Object getObjectProperty(java.lang.String name)
throws javax.jms.JMSException
- Specified by:
getObjectProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
getPropertyNames
public java.util.Enumeration getPropertyNames()
throws javax.jms.JMSException
- Specified by:
getPropertyNames
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setBooleanProperty
public void setBooleanProperty(java.lang.String name,
boolean value)
throws javax.jms.JMSException
- Specified by:
setBooleanProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setByteProperty
public void setByteProperty(java.lang.String name,
byte value)
throws javax.jms.JMSException
- Specified by:
setByteProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setShortProperty
public void setShortProperty(java.lang.String name,
short value)
throws javax.jms.JMSException
- Specified by:
setShortProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setIntProperty
public void setIntProperty(java.lang.String name,
int value)
throws javax.jms.JMSException
- Specified by:
setIntProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setLongProperty
public void setLongProperty(java.lang.String name,
long value)
throws javax.jms.JMSException
- Specified by:
setLongProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setFloatProperty
public void setFloatProperty(java.lang.String name,
float value)
throws javax.jms.JMSException
- Specified by:
setFloatProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setDoubleProperty
public void setDoubleProperty(java.lang.String name,
double value)
throws javax.jms.JMSException
- Specified by:
setDoubleProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setStringProperty
public void setStringProperty(java.lang.String name,
java.lang.String value)
throws javax.jms.JMSException
- Specified by:
setStringProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setObjectProperty
public void setObjectProperty(java.lang.String name,
java.lang.Object value)
throws javax.jms.JMSException
- Specified by:
setObjectProperty
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
acknowledge
public void acknowledge()
throws javax.jms.JMSException
- Specified by:
acknowledge
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
clearBody
public void clearBody()
throws javax.jms.JMSException
- Specified by:
clearBody
in interface javax.jms.Message
- Throws:
javax.jms.JMSException
setSessionDelegate
public void setSessionDelegate(SessionDelegate sd,
boolean isConnectionConsumer)
getSessionDelegate
public SessionDelegate getSessionDelegate()
getMessage
public JBossMessage getMessage()
getDeliveryCount
public int getDeliveryCount()
incDeliveryCount
public void incDeliveryCount()
getDeliveryId
public long getDeliveryId()
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
headerChange
protected void headerChange()
throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
bodyChange
protected void bodyChange()
throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
Copyright © 2006 JBoss Inc. All Rights Reserved.