|
OSGi™ Service Platform Release 4 Version 4.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
NotificationService enables sending aynchronous notifications to a management
server. The implementation of NotificationService
should
register itself in the OSGi service registry as a service.
Method Summary | |
void |
sendNotification(java.lang.String principal,
int code,
java.lang.String correlator,
AlertItem[] items)
Sends a notification to a named principal. |
Method Detail |
public void sendNotification(java.lang.String principal, int code, java.lang.String correlator, AlertItem[] items) throws DmtException
NotificationService
to route the notification to the
given principal using the registered
RemoteAlertSender
services.
In remotely initiated sessions the principal name identifies the remote
server that created the session, this can be obtained using the session's
getPrincipal
call.
The principal name may be omitted if the client does not know the principal name. Even in this case the routing might be possible if the Notification Service finds an appropriate default destination (for example if it is only connected to one protocol adapter, which is only connected to one management server).
Since sending the notification and receiving acknowledgment for it is potentially a very time-consuming operation, notifications are sent asynchronously. This method should attempt to ensure that the notification can be sent successfully, and should throw an exception if it detects any problems. If the method returns without error, the notification is accepted for sending and the implementation must make a best-effort attempt to deliver it.
In case the notification is an asynchronous response to a previous
execute
command, a
correlation identifier can be specified to provide the association
between the execute and the notification.
In order to send a notification using this method, the caller must have
an AlertPermission
with a target string matching the
specified principal name. If the principal
parameter is
null
(the principal name is not known), the target of the
AlertPermission
must be "*".
When this method is called with all its parameters null
or 0
(except principal
), it should send a protocol
specific default notification to initiate a management session. For
example, in case of OMA DM this is alert 1201 "Client Initiated Session".
The principal
parameter can be used to determine the
recipient of the session initiation request.
principal
- the principal name which is the recipient of this
notification, can be null
code
- the alert code, can be 0 if not neededcorrelator
- optional field that contains the correlation identifier
of an associated exec command, can be null
if not
neededitems
- the data of the alert items carried in this alert, can be
null
or empty if not needed
DmtException
- with the following possible error codes:
UNAUTHORIZED
when the remote server rejected
the request due to insufficient authorization
ALERT_NOT_ROUTED
when the alert can not be
routed to the given principal
REMOTE_ERROR
in case of communication
problems between the device and the destination
COMMAND_FAILED
for unspecified errors
encountered while attempting to complete the command
FEATURE_NOT_SUPPORTED
if the underlying
management protocol doesn't support asynchronous notifications
java.lang.SecurityException
- if the caller does not have the required
AlertPermission
with a target matching the
principal
parameter, as described above
|
OSGi™ Service Platform Release 4 Version 4.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |