Oracle Application Server Wireless Java API Reference
B10400-01

oracle.panama.messaging.xms
Class XMSSenderImpl

java.lang.Object
  |
  +--oracle.panama.messaging.xms.XMSSenderBase
        |
        +--oracle.panama.messaging.xms.XMSPushSenderBase
              |
              +--oracle.panama.messaging.xms.XMSSimpleSenderImpl
                    |
                    +--oracle.panama.messaging.xms.XMSSenderImpl
All Implemented Interfaces:
XMSSender, XMSSimpleSender

public class XMSSenderImpl
extends XMSSimpleSenderImpl
implements XMSSender

testcase oracle.panama.messaging.xms.TestXMSSenderImpl


Field Summary

 

Fields inherited from interface oracle.panama.messaging.xms.XMSSimpleSender
VERSION_NUMBER

 

Constructor Summary
XMSSenderImpl(java.lang.String uri, java.lang.String username, java.lang.String password)
           

 

Method Summary
 oracle.panama.messaging.push.WorkOrder[] sendMsg(oracle.panama.messaging.push.Packet packet)
          This method is based on send() with supports of failover capability and username capability.

 

Methods inherited from class oracle.panama.messaging.xms.XMSSimpleSenderImpl
sendMsg, sendMsg

 

Methods inherited from class oracle.panama.messaging.xms.XMSPushSenderBase
getStatus, getStatus, getStatus, getStatus, getSupportedTransports, removeStatusListener, setProxy, setStatusListener

 

Methods inherited from class oracle.panama.messaging.xms.XMSSenderBase
addDeliveryType, addDeliveryType, getReturnAddress, getVersion, sendMsg, sendMsg

 

Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Methods inherited from interface oracle.panama.messaging.xms.XMSSender
getStatus, getStatus, getSupportedTransports, getVersion, removeStatusListener, setProxy, setStatusListener

 

Methods inherited from interface oracle.panama.messaging.xms.XMSSimpleSender
addDeliveryType, getStatus, getStatus, sendMsg, sendMsg, sendMsg

 

Constructor Detail

XMSSenderImpl

public XMSSenderImpl(java.lang.String uri,
                     java.lang.String username,
                     java.lang.String password)
              throws java.lang.Exception
Method Detail

sendMsg

public oracle.panama.messaging.push.WorkOrder[] sendMsg(oracle.panama.messaging.push.Packet packet)
                                                 throws XMSException
This method is based on send() with supports of failover capability and username capability.
User name capability means that the sender can specify a username (instead of physical address of a recipient) and preferred delivery types to send out a message. Sender and reply to addresses can be existing users too.
For example: send an email to user 'michael' from user 'richard'. That user name must be registered and the specified device must be available in that user's profile.
Failover means that each recipient may have an "address chain". Each node of the chain has one address (i.e. a user name, an email address, a phone number or a WAP push subscriber ID) and a list of preferred transport types (primary transport type and failover transport types) of that address. PushServer will try every address and every transport type of that address from the head of the chain until (1) message has been delivered to an address by a transport type of that address or (2) all addresses and their transport types have been tried.
If a physical address (i.e. phone number, email address or WAP push subscriber ID) is given, it will be used directly. If a username is given, PushServer will find physical addresses from user's profile.
Device failover example: Send a message to Michael's cell phone # 1-234-1234567 via SMS or voice, if both fail, send a voice message to his work number 1-222-3456789. If fails, send an email to his manager's email address paul@company.com
User failover example: contact Michael via SMS, Voice or email. If can't get him, Send a voice or email message to his manager, Paul.
Same address failover:
Failover could happen within same user or same physical device from a transport types (delivery types) to another different transport type in the transport type order specified.
For example: send a SMS to phone number 1-234-5551234, if failed, try voice.
It could happen to a user too. For example: send a voice msg to Sam's work phone, if failed, try his cell phone and pager.
Failover to another address:
If all transport types (delivery types) of an address have been tried and failed and another address is specified as its failover address, the second address is used in further attempts.
A user may fail to another user or a physical address. A physical address may fail to anther physical address or a user.
The maximum number of failover devices is limited to 4. A failover device means a physical address (user name will be converted to physical address by the server) and a transport type combination. If more failover address or transport types have been specified than maximum failover devices, only the first maximum devices are considered. Rest will not be used.
Please see Packet and AddressData classes for more details on how to define failover transport types and failover address.
Specified by:
sendMsg in interface XMSSender
Parameters:
packet - The message packet to be delivered.
Returns:
a set of WorkOrders will be returned after Push server accepts the request. One WorkOrder for each instance of recipient's address. The order of WorkOrders may be NOT the same as the order of recipients being added into the Packet by calling Packet.addRecipients().
XMSException

Oracle Application Server Wireless Java API Reference
B10400-01

Copyright © 2003 Oracle Corporation. All Rights Reserved.