public class SourceSequence extends Sequence<SourceMessageInfo,DestinationOfferSequence,DestinationSequence,DestinationSequenceManager> implements java.io.Serializable
Modifier and Type | Class and Description |
---|---|
static class |
SourceSequence.Gap |
Sequence.AddResult, Sequence.NotAddedReason
Modifier and Type | Field and Description |
---|---|
private com.sun.xml.ws.api.addressing.WSEndpointReference |
_acksToEpr
Endpoint reference describing where this sequence expects the Acks it
receives to be delivered.
|
private javax.xml.datatype.Duration |
_baseRetransmissionInterval
The starting time interval to wait between retries for sending a request
on this sequence.
|
private boolean |
_complete
Indicates that we've identified a 'final' message in the sequence, and
have sent that message, and received an ack for it and all prior messages.
|
private weblogic.wsee.jaxws.spi.ClientInstanceIdentity |
_creatingClientInstanceId
Identity of the client instance that caused the creation of this
sequence.
|
private java.lang.String |
_destinationId
Id as known on the RM destination side after getting a
CreateSequenceResponse
|
private com.sun.xml.ws.api.addressing.WSEndpointReference |
_endpointEpr
Endpoint reference describing where lifecycle, ack request, and fault
messages related to the Sequence are to be sent.
|
private boolean |
_exponentialBackoffEnabled
Flag to enable backing off the retry frequence (increasing the interval)
between retries for sending a request on this sequence.
|
private weblogic.wsee.jaxws.persistence.PersistentRequestContext |
_firstRequestContext
A snapshot of a RequestContext (map of properties) captured at the point
where this sequence was created.
|
private long |
_lastAllocatedMessageNum
The message number for the most recent message to be sent on this source
seq.
|
private java.lang.String |
_offerSequenceId
The offer sequence (if any) that we should be getting responses on.
|
private weblogic.wsee.reliability2.store.SenderDispatchFactory.Key |
_senderDispatchKey
Key needed to obtain a Dispatch instance for sending messages on this
sequence via client-side-retry (SAF).
|
private static java.util.logging.Logger |
LOGGER |
private static long |
serialVersionUID |
Constructor and Description |
---|
SourceSequence(java.lang.String sourceId,
java.lang.String logicalStoreName,
WsrmConstants.RMVersion rmVersion,
com.sun.xml.ws.api.addressing.AddressingVersion addrVersion,
com.sun.xml.ws.api.SOAPVersion soapVersion,
SecurityInfo securityInfo,
WsrmSecurityContext securityCtx,
boolean nonBuffered,
weblogic.wsee.jaxws.persistence.PersistentRequestContext firstRequestContext) |
Modifier and Type | Method and Description |
---|---|
SourceMessageInfo |
copyMessageInfo(SourceMessageInfo info) |
com.sun.xml.ws.api.addressing.WSEndpointReference |
getAcksToEpr() |
javax.xml.datatype.Duration |
getBaseRetransmissionInterval() |
weblogic.wsee.jaxws.spi.ClientInstanceIdentity |
getCreatingClientInstanceId() |
java.lang.String |
getDestinationId() |
com.sun.xml.ws.api.addressing.WSEndpointReference |
getEndpointEpr() |
weblogic.wsee.jaxws.persistence.PersistentRequestContext |
getFirstRequestContext() |
long |
getNextMessageNum()
Increments and gets (post-increment) the last allocated message num for
this sequence.
|
java.lang.String |
getOfferSequenceId()
Called by Sequence to manage offer.
|
com.sun.xml.ws.api.addressing.WSEndpointReference |
getPeerEpr()
The peer endpoint reference.
|
com.sun.xml.ws.api.addressing.WSEndpointReference |
getPiggybackEpr()
Find the EPR that represents the endpoint to which piggyback headers should
be sent for the given sequence (this means different things for different
subclasses).
|
com.sun.xml.ws.api.addressing.WSEndpointReference |
getPublicEpr()
The public endpoint reference for this sequence.
|
com.sun.xml.ws.api.addressing.WSEndpointReference |
getRmFaultEpr()
Find the EPR that represents the endpoint at which WS-RM faults will
be received.
|
weblogic.wsee.reliability2.store.SenderDispatchFactory.Key |
getSenderDispatchKey() |
java.lang.String |
getSourceId() |
java.lang.String |
getWireId()
The ID this sequence will be known by in protocol messages and headers on
the wire between source and destination.
|
private void |
initTransients()
Make sure we have sane values for all our transient fields.
|
protected void |
internalSetOfferSequenceId(java.lang.String offerSeqId)
Called by Sequence to manage offer.
|
boolean |
isAllRequestsAckedAndReplied()
Note: pls call the metod only under iscomplete = true.
|
boolean |
isComplete() |
boolean |
isExponentialBackoffEnabled() |
boolean |
markMessageAckd(SourceMessageInfo info,
boolean ack) |
private void |
readObject(java.io.ObjectInputStream in) |
void |
setAcksToEpr(com.sun.xml.ws.api.addressing.WSEndpointReference acksToEpr)
Should be called only during initialization of the sequence, and not
thereafter.
|
void |
setBaseRetransmissionInterval(javax.xml.datatype.Duration baseRetransmissionInterval)
Should be called during initialization of the sequence, and not thereafter
|
private void |
setComplete(boolean complete) |
void |
setCreatingClientInstanceId(weblogic.wsee.jaxws.spi.ClientInstanceIdentity creatingClientInstanceId)
Should be called during initialization of the sequence, and not thereafter
|
void |
setDestinationId(java.lang.String destinationId)
Should be called during initialization of the sequence, and not thereafter
|
void |
setEndpointEpr(com.sun.xml.ws.api.addressing.WSEndpointReference endpointEpr)
Should be called during initialization of the sequence, and not thereafter
|
void |
setExponentialBackoffEnabled(boolean exponentialBackoffEnabled)
Should be called during initialization of the sequence, and not thereafter
|
void |
setSenderDispatchKey(weblogic.wsee.reliability2.store.SenderDispatchFactory.Key senderDispatchKey) |
boolean |
syncUpWithAcks()
Makes the sequence state consistent with its internal set of ack'd ranges,
and makes any changes necessary to the state of the sequence to reflect
them.
|
boolean |
syncUpWithAcks(java.util.SortedSet<MessageRange> ranges)
Makes the sequence state consistent with an incoming set of ack'd ranges,
and makes any changes necessary to the state of the sequence to reflect
them.
|
boolean |
syncUpWithAcks(java.util.SortedSet<MessageRange> ranges,
java.util.List<SourceSequence.Gap> gaps)
Makes the sequence state consistent with an incoming set of ack'd ranges,
and makes any changes necessary to the state of the sequence to reflect
them, returning any gaps found in the acks received so far.
|
private void |
writeObject(java.io.ObjectOutputStream out) |
addFinalAckToMessage, addPiggybackAckHeader, addPiggybackHeader, addPiggybackHeaders, addRequest, addRequestInternal, createPiggybackAckHeader, createPiggybackAckRequestHeader, dump, equals, flagPiggybackAck, flagPiggybackAckRequest, getAckRanges, getAddressingVersion, getAndClearPiggybackHeaders, getCreateSequenceMsgId, getCreationTime, getDeliveryAssurance, getExpires, getFinalMessageNum, getId, getIdleTimeout, getIncompleteSequenceBehavior, getLastActivityTime, getLastUpdatedTime, getLogicalStoreName, getMaxMessageNum, getObjectId, getOffer, getPhysicalStoreName, getPreviousState, getRequest, getRequestByMessageId, getRequests, getRmVersion, getSecurityContext, getSecurityInfo, getSoapVersion, getState, getSubject, getTimestamp, getUnackdCount, hasExplicitExpiration, hasFinalMessageNum, hashCode, hasPiggybackHeaders, isBuffered, isChanged, isExpired, isNonBuffered, isUsingSsl, markChanged, putBackUnusedPiggybackHeaders, setAddressingVersion, setCreateSequenceMsgId, setDeliveryAssurance, setExpires, setFinalMessageNum, setId, setIdleTimeout, setIncompleteSequenceBehavior, setLogicalStoreName, setNonBuffered, setOffer, setOfferSequenceId, setPhysicalStoreName, setSecurityContext, setSecurityInfo, setSoapVersion, setState, setSubject, setUnackedCount, setUnackedCountInternal, setUsingSsl, toString, touch
private static final long serialVersionUID
private static final java.util.logging.Logger LOGGER
private java.lang.String _destinationId
private transient com.sun.xml.ws.api.addressing.WSEndpointReference _endpointEpr
private transient com.sun.xml.ws.api.addressing.WSEndpointReference _acksToEpr
private java.lang.String _offerSequenceId
private long _lastAllocatedMessageNum
private boolean _complete
private weblogic.wsee.reliability2.store.SenderDispatchFactory.Key _senderDispatchKey
private weblogic.wsee.jaxws.spi.ClientInstanceIdentity _creatingClientInstanceId
private javax.xml.datatype.Duration _baseRetransmissionInterval
private boolean _exponentialBackoffEnabled
private weblogic.wsee.jaxws.persistence.PersistentRequestContext _firstRequestContext
public SourceSequence(java.lang.String sourceId, java.lang.String logicalStoreName, WsrmConstants.RMVersion rmVersion, com.sun.xml.ws.api.addressing.AddressingVersion addrVersion, com.sun.xml.ws.api.SOAPVersion soapVersion, SecurityInfo securityInfo, WsrmSecurityContext securityCtx, boolean nonBuffered, weblogic.wsee.jaxws.persistence.PersistentRequestContext firstRequestContext)
private void initTransients()
private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException
java.io.IOException
private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
public SourceMessageInfo copyMessageInfo(SourceMessageInfo info)
copyMessageInfo
in class Sequence<SourceMessageInfo,DestinationOfferSequence,DestinationSequence,DestinationSequenceManager>
public boolean markMessageAckd(SourceMessageInfo info, boolean ack)
public java.lang.String getSourceId()
public java.lang.String getDestinationId()
public java.lang.String getWireId()
Sequence
getWireId
in class Sequence<SourceMessageInfo,DestinationOfferSequence,DestinationSequence,DestinationSequenceManager>
public com.sun.xml.ws.api.addressing.WSEndpointReference getPeerEpr()
Sequence
getPeerEpr
in class Sequence<SourceMessageInfo,DestinationOfferSequence,DestinationSequence,DestinationSequenceManager>
public com.sun.xml.ws.api.addressing.WSEndpointReference getPublicEpr()
Sequence
getPublicEpr
in class Sequence<SourceMessageInfo,DestinationOfferSequence,DestinationSequence,DestinationSequenceManager>
public com.sun.xml.ws.api.addressing.WSEndpointReference getEndpointEpr()
public com.sun.xml.ws.api.addressing.WSEndpointReference getAcksToEpr()
public com.sun.xml.ws.api.addressing.WSEndpointReference getPiggybackEpr()
Sequence
getPiggybackEpr
in class Sequence<SourceMessageInfo,DestinationOfferSequence,DestinationSequence,DestinationSequenceManager>
public com.sun.xml.ws.api.addressing.WSEndpointReference getRmFaultEpr()
Sequence
getRmFaultEpr
in class Sequence<SourceMessageInfo,DestinationOfferSequence,DestinationSequence,DestinationSequenceManager>
protected void internalSetOfferSequenceId(java.lang.String offerSeqId)
public java.lang.String getOfferSequenceId()
getOfferSequenceId
in class Sequence<SourceMessageInfo,DestinationOfferSequence,DestinationSequence,DestinationSequenceManager>
public long getNextMessageNum()
public void setDestinationId(java.lang.String destinationId)
public void setEndpointEpr(com.sun.xml.ws.api.addressing.WSEndpointReference endpointEpr)
public void setAcksToEpr(com.sun.xml.ws.api.addressing.WSEndpointReference acksToEpr)
public boolean syncUpWithAcks()
public boolean syncUpWithAcks(java.util.SortedSet<MessageRange> ranges)
public boolean syncUpWithAcks(java.util.SortedSet<MessageRange> ranges, java.util.List<SourceSequence.Gap> gaps)
ranges
- A set of ranges you want to check (generally either from
this sequence itself via getAckRanges, or from an incoming ack off
the wire.gaps
- An output param that allows the caller to see any gaps we found
in the supplied ack ranges.private void setComplete(boolean complete)
public boolean isComplete()
public boolean isAllRequestsAckedAndReplied()
public weblogic.wsee.jaxws.persistence.PersistentRequestContext getFirstRequestContext()
public weblogic.wsee.reliability2.store.SenderDispatchFactory.Key getSenderDispatchKey()
public void setSenderDispatchKey(weblogic.wsee.reliability2.store.SenderDispatchFactory.Key senderDispatchKey)
public weblogic.wsee.jaxws.spi.ClientInstanceIdentity getCreatingClientInstanceId()
public void setCreatingClientInstanceId(weblogic.wsee.jaxws.spi.ClientInstanceIdentity creatingClientInstanceId)
public javax.xml.datatype.Duration getBaseRetransmissionInterval()
public void setBaseRetransmissionInterval(javax.xml.datatype.Duration baseRetransmissionInterval)
public boolean isExponentialBackoffEnabled()
public void setExponentialBackoffEnabled(boolean exponentialBackoffEnabled)