ca.uhn.hl7v2.app
Class Initiator

java.lang.Object
  extended by ca.uhn.hl7v2.app.Initiator

public class Initiator
extends java.lang.Object

Performs the initiation role of a message exchange (i.e sender of the first message; analagous to the client in a client-server interaction), according to HL7's original mode processing rules.

The sendAndReceive(...) method blocks until either a response is received with the matching message ID, or until a timeout period has passed. The timeout defaults to 10000 ms (10 sec) but can be configured by setting the system property "ca.uhn.hl7v2.app.initiator.timeout" to an integer value representing the number of ms after which to time out.

At the time of writing, enhanced mode, two-phase reply, continuation messages, and batch processing are unsupported.

Author:
Bryan Tripp

Constructor Summary
protected Initiator(Connection conn)
          Creates a new instance of Initiator.
 
Method Summary
static void main(java.lang.String[] args)
          Test harness
 Message sendAndReceive(Message out)
          Sends a message to a responder system, receives the reply, and returns the reply as a Message object.
 void setTimeoutMillis(int timeout)
          Sets the time (in milliseconds) that the initiator will wait for a response for a given message before timing out and throwing an exception (default is 10 seconds).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Initiator

protected Initiator(Connection conn)
             throws LLPException
Creates a new instance of Initiator.

Parameters:
conn - the Connection associated with this Initiator.
Throws:
LLPException
Method Detail

sendAndReceive

public Message sendAndReceive(Message out)
                       throws HL7Exception,
                              LLPException,
                              java.io.IOException
Sends a message to a responder system, receives the reply, and returns the reply as a Message object. This method is thread-safe - multiple threads can share an Initiator and call this method. Responses are returned to the calling thread on the basis of message ID.

Throws:
HL7Exception
LLPException
java.io.IOException

setTimeoutMillis

public void setTimeoutMillis(int timeout)
Sets the time (in milliseconds) that the initiator will wait for a response for a given message before timing out and throwing an exception (default is 10 seconds).


main

public static void main(java.lang.String[] args)
Test harness



Copyright © 2001-2011 University Health Network. All Rights Reserved.