net.jxta.impl.endpoint.servlethttp
Class HttpServletMessenger
java.lang.Object
net.jxta.util.AbstractSimpleSelectable
net.jxta.endpoint.AbstractMessenger
net.jxta.impl.endpoint.BlockingMessenger
net.jxta.impl.endpoint.servlethttp.HttpServletMessenger
- All Implemented Interfaces:
- Messenger, SimpleSelectable
final class HttpServletMessenger
- extends BlockingMessenger
Simple messenger that waits for a message to give back to the requesting client
This messenger is not entirely thread-safe. You should not use any
of the sendMessage
methods from more than one thread.
Fields inherited from interface net.jxta.endpoint.Messenger |
ANYSTATE, BREAKING, BROKEN, CLOSED, CLOSING, CONNECTED, DISCONNECTED, DISCONNECTING, IDLE, RECONCLOSING, RECONNECTING, RECONSATURATED, RESOLCLOSING, RESOLPENDING, RESOLSATURATED, RESOLVED, RESOLVING, SATURATED, SENDING, SENDINGSATURATED, TERMINAL, UNRESOLVABLE, UNRESOLVED, UNRESOLVING, USABLE |
Methods inherited from class net.jxta.impl.endpoint.BlockingMessenger |
close, getChannelMessenger, getDestAddressToUse, getLogicalDestinationAddress, getState, isClosed, resolve, sendMessageB, sendMessageN, setOwner, shutdown |
Methods inherited from class net.jxta.endpoint.AbstractMessenger |
flush, getDestinationAddress, getDestinationAddressObject, getMTU, isIdle, isSynchronous, itemChanged, sendMessage, sendMessage, sendMessage, setStateLock, waitState |
HttpServletMessenger
HttpServletMessenger(PeerGroupID peerGroupID,
EndpointAddress srcAddress,
EndpointAddress logicalAddress,
long validFor)
- Standard constructor.
- Parameters:
peerGroupID
- the peer group idsrcAddress
- source addresslogicalAddress
- logical addressvalidFor
- validity in milliseconds
closeImpl
public void closeImpl()
- Close connection. May fail current send.
- Specified by:
closeImpl
in class BlockingMessenger
getLogicalDestinationImpl
public EndpointAddress getLogicalDestinationImpl()
- Obtain the logical destination address from the implementer (a transport for example).
- Specified by:
getLogicalDestinationImpl
in class BlockingMessenger
isIdleImpl
public boolean isIdleImpl()
- return true if this messenger has not been used for a long time. The definition of long time is: "sufficient such that closing it
is worth the cost of having to re-open". A messenger should self close if it thinks it meets the definition of
idle. BlockingMessenger leaves the evaluation to the transport but does the work automatically. Important: if
self destruction is used, this method must work; not just return false. See the constructor. In general, if closeImpl does
not need to do anything, then self destruction is not needed.
- Specified by:
isIdleImpl
in class BlockingMessenger
- Returns:
true
if theis messenger is, by it's own definition, idle.
sendMessageBImpl
public void sendMessageBImpl(Message message,
String service,
String serviceParam)
throws IOException
- Send messages. Messages are queued and processed by a thread
running HttpClientConnection.
- Specified by:
sendMessageBImpl
in class BlockingMessenger
- Parameters:
message
- The message to send.service
- The destination service.serviceParam
- The destination serivce param.
- Throws:
IOException
- Thrown for errors encountered while sending the message.
waitForMessage
protected Message waitForMessage(long timeout)
throws InterruptedException
- Retrieve a message from the "queue" of messages for the servlet.
- Parameters:
timeout
- Number of milliseconds to wait for a message. Per Java
convention 0 (zero) means wait forever.
- Returns:
- the message or
null
if no message was available
before the timeout was reached.
- Throws:
InterruptedException
- If the thread is interrupted while waiting.
messageSent
protected void messageSent(boolean wasSuccessful)
toString
public String toString()
-
A simple implementation for debugging. Do not depend upon the format.
An implementation for debugging. Do not depend on the format.
- Overrides:
toString
in class AbstractMessenger