WMA - JSR120

Package javax.wireless.messaging

This package defines an API which allows applications to send and receive wireless messages.


Interface Summary
BinaryMessage An interface representing a binary message.
Message This is the base interface for derived interfaces that represent various types of messages.
MessageConnection The MessageConnection interface defines the basic functionality for sending and receiving messages.
MessageListener The MessageListener interface provides a mechanism for the application to be notified of incoming messages.
TextMessage An interface representing a text message.

Package javax.wireless.messaging Description

This package defines an API which allows applications to send and receive wireless messages. The API is generic and independent of the underlying messaging protocol. The underlying protocol can be, for example, GSM Short Message Service, CDMA SMS, and so on.


This package is designed to work with Message objects that may contain different elements depending on the underlying messaging protocol. This is different from Datagrams that are assumed always to be blocks of binary data.

An adapter specification for a given messaging protocol may define further interfaces derived from the Message interfaces included in this generic specification.

Unlike network layer datagrams, the wireless messaging protocols that are accessed by using this API are typically of store-and-forward nature. Messages will usually reach the recipient, even if the recipient is not connected at the time of sending. This may happen significantly later if the recipient is disconnected for a long period of time. Sending and possibly also receiving these wireless messages typically involves a financial cost to the end user that cannot be neglected. Therefore, applications should not send unnecessary messages.

The MessageConnection and Message Interfaces

The MessageConnection interface represents a Connection that can be used for sending and receiving messages. The application opens a MessageConnection with the Generic Connection Framework by providing a URL connection string.

The MessageConnection can be opened either in "server" or in "client" mode. A "server" mode connection is opened by providing a URL that specifies an identifier for an application on the local device for incoming messages. A port number is an example of an identifier. Messages received with this identifier will then be delivered to the application by using this connection. A "server" mode connection can be used both for sending and for receiving messages.

A "client" mode connection is opened by providing a URL that points to another device. A "client" mode connection can only be used for sending messages.

The messages are represented by the Message interface and interfaces derived from it. The Message interface has the very basic functions that are common to all messages. Derived interfaces represent messages of different types and provide methods for accessing type-specific features. The kinds of derived interfaces that are supported depends on the underlying messaging protocol. If necessary, interfaces derived from Message can be defined in the adapter definitions for mapping the API to an underlying protocol.

The mechanism to derive new interfaces from the Message is intended as an extensibility mechanism allowing new protocols to be supported in platforms. Applications are not expected to create their own classes that implement the Message interface. The only correct way for applications to create object instances implementing the Message interface is to use the MessageConnection.newMessage factory method.

WMA 1.0

WMA - JSR120

Submit a comment or suggestion Version 1.0 of WMA Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries. Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road,Palo Alto, California, 94303, U.S.A. All Rights Reserved.