Oracle Application Server Wireless Java API Reference
B14043-01


oracle.panama.messaging.push
Interface StatusListener


public interface StatusListener

The status listener interface. A status listener must implement this interface and register itself to a Push client to receive asynchronized sending statuses from messaging gateway.


Field Summary
static int FAILED
           
static int IGNORED
           
static int SUCCEEDED
           
static int UNKNOWN
          processing statuses

 

Method Summary
 int onStatus(Status status)
          Callback method to receive sending status updates.

 

Field Detail

FAILED

public static final int FAILED
See Also:
Constant Field Values

IGNORED

public static final int IGNORED
See Also:
Constant Field Values

SUCCEEDED

public static final int SUCCEEDED
See Also:
Constant Field Values

UNKNOWN

public static final int UNKNOWN
processing statuses
See Also:
Constant Field Values

Method Detail

onStatus

public int onStatus(Status status)
Callback method to receive sending status updates. This method must be implemented by push client users in order to get asynchronized status updates.
The sequence of the statuses of the same delivery channel or multiple channels of same recipient is NOT guaranteed due to network latencies and other factors. Client program must reorder statuses of same message ID and original message ID by their timestamps.
Example 1: Delivery statuses of same delivery channel
A page is sent to a two-way pager. Here is the sequence of events:
1. Msg is sent to paging company's gateway (Timestamp: 1000)
2. Msg is sent to the pager (Timestamp 1005)
3. User reads the message (Timestamp 1020)
4. User replies the message (Timestamp 1022)
That sequence could be broken when all these statuses reach this status listener
1. Msg is sent to paging company's gateway (Timestamp: 1000)
2. User replies the message (Timestamp 1022)
3. User reads the message (Timestamp 1020)
4. Msg is sent to the pager (Timestamp 1005)
Example 2: Multiple channels of the same recipient. Let's assume the recipient has SMS as primary channel and pager as failover channel. Push Server sents out following statuses to push client callback listener:
1. Msg is sent to SMS gateway. (Timestamp 1000)
2. Msg is sent to the SMS phone. (Timestamp 1001)
3. Primary channel timeout. (Timestamp 1060)
4. Msg is sent to pager. (Timestamp 1070)
5. Pager channel timeout. (Timestamp 1090)
6. Delivery to that recipient failed, because no replies are received. (Timestamp 1091)
7. Pager replies the message 3 minutes later. (Timestamp 1174)
8. The message has been delivered to the recipient successfully. (Timestamp 1180)
But, statuses are delivered to client in following order:
1. Msg is sent to SMS gateway. (Timestamp 1000)
2. Msg is sent to the SMS phone. (Timestamp 1001)
3. Pager replies the message 3 minutes later. (Timestamp 1174)
4. SMS channel timeout. (Timestamp 1060)
5. Msg is sent to pager. (Timestamp 1070)
6. The message has been delivered to the recipient successfully. (Timestamp 1180)
7. Pager channel timeout. (Timestamp 1090)
8. Delivery to that recipient failed, because no replies are received. (Timestamp 1091)
Parameters:
status - the status sent to the listener.
Returns:
the processing status. This

Oracle Application Server Wireless Java API Reference
B14043-01


Copyright © 2004 Oracle Corporation. All Rights Reserved.