jrun.jms.core.messagemgr
Class PersistentMessageHandle

java.lang.Object
  |
  +--jrun.jms.core.messagemgr.AbstractMessageHandle
        |
        +--jrun.jms.core.messagemgr.PersistentMessageHandle
All Implemented Interfaces:
java.lang.Cloneable, java.io.Externalizable, MessageHandle, java.io.Serializable

public final class PersistentMessageHandle
extends AbstractMessageHandle
implements MessageHandle, java.lang.Cloneable

A persistent message handle extends MessageHandle and references a persistent message. These messages can be discarded from the cache and later faulted in through the 'resolve' method.

Version:
$Revision: 1.4 $ $Date: 2001/06/21 20:53:05 $
Author:
Jim Alateras
See Also:
Serialized Form

Constructor Summary
PersistentMessageHandle()
          Default constructor
PersistentMessageHandle(MessageImpl message)
          Create a persistent handle from a message
 
Method Summary
 void clear()
          Override the behaviour of the base class.
 java.lang.Object clone()
          Clone the persistent message handle object
 void destroy()
          Destroy this handle
 boolean equals(java.lang.Object object)
           
 java.lang.String getConsumerName()
          Return durable consumer name
 int hashCode()
           
 void readExternal(java.io.ObjectInput stream)
           
 void setConsumerName(java.lang.String name)
          Set the consumer name associated with this handle
 void setDelivered()
          This is used to set the message as delivered.
 java.lang.String toString()
          Return a stringified version of the handle
 void writeExternal(java.io.ObjectOutput stream)
           
 
Methods inherited from class jrun.jms.core.messagemgr.AbstractMessageHandle
getAcceptedTime, getClientId, getDelivered, getDestination, getExpiryTime, getMessage, getMessageId, getPriority, getSequenceNumber, setAcceptedTime, setClientId, setDelivered, setDestination, setExpiryTime, setMessageId, setPriority, setSequenceNumber
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jrun.jms.core.message.MessageHandle
getAcceptedTime, getClientId, getDelivered, getDestination, getExpiryTime, getMessage, getMessageId, getPriority, getSequenceNumber, setAcceptedTime, setClientId, setDestination, setExpiryTime, setPriority, setSequenceNumber
 

Constructor Detail

PersistentMessageHandle

public PersistentMessageHandle()
Default constructor

PersistentMessageHandle

public PersistentMessageHandle(MessageImpl message)
                        throws javax.jms.JMSException,
                               FailedToCreateHandleException
Create a persistent handle from a message
Parameters:
message - - persistent message
Throws:
JMSException - - if the object cannot be constructed
Method Detail

setConsumerName

public void setConsumerName(java.lang.String name)
Set the consumer name associated with this handle
Parameters:
name - - consumer name

getConsumerName

public java.lang.String getConsumerName()
Return durable consumer name
Returns:
String

clear

public void clear()
Override the behaviour of the base class. I don't think we want to clear the handle unless there are definitely no more references.
Specified by:
clear in interface MessageHandle
Overrides:
clear in class AbstractMessageHandle

destroy

public void destroy()
Destroy this handle
Specified by:
destroy in interface MessageHandle
Overrides:
destroy in class AbstractMessageHandle

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Clone the persistent message handle object
Overrides:
clone in class java.lang.Object
Returns:
Object - new copy of a PersistentMessageHandle
Throws:
java.lang.CloneNotSupportedException -  

equals

public boolean equals(java.lang.Object object)
Overrides:
equals in class AbstractMessageHandle

toString

public java.lang.String toString()
Description copied from class: AbstractMessageHandle
Return a stringified version of the handle
Overrides:
toString in class AbstractMessageHandle
Following copied from class: jrun.jms.core.messagemgr.AbstractMessageHandle
Returns:
String

hashCode

public int hashCode()
Overrides:
hashCode in class AbstractMessageHandle

setDelivered

public void setDelivered()
This is used to set the message as delivered. This can only be called by the delivery engine and should not be used anywhere else. This will mark the message as being delivered and also update the database
Specified by:
setDelivered in interface MessageHandle
Overrides:
setDelivered in class AbstractMessageHandle

writeExternal

public void writeExternal(java.io.ObjectOutput stream)
                   throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Overrides:
writeExternal in class AbstractMessageHandle

readExternal

public void readExternal(java.io.ObjectInput stream)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Overrides:
readExternal in class AbstractMessageHandle


Copyright � 2002 Macromedia Corporation. All Rights Reserved.