|
Spec-Zone .ru
спецификации, руководства, описания, API
|
LDAP v3 (RFC 2251) определяет незапрашиваемое уведомление, сообщение, которое отправляется сервером LDAP клиенту без любой провокации от клиента. Незапрашиваемое уведомление представляется в JNDI интерфейсом .
Поскольку незапрашиваемые уведомления отправляются асинхронно сервером, можно использовать ту же самую , используемую для того, чтобы получить уведомления об изменениях пространства имен, и возразить изменениям контента. Вы регистрируете интерес к получению незапрашиваемых уведомлений, регистрируя в или .
Вот
public class UnsolListener implements UnsolicitedNotificationListener {
public void notificationReceived(UnsolicitedNotificationEvent evt) {
System.out.println("received: " + evt);
}
public void namingExceptionThrown(NamingExceptionEvent evt) {
System.out.println(">>> UnsolListener got an exception");
evt.getException().printStackTrace();
}
}
Следующее an example это регистрирует реализацию UnsolicitedNotificationListener с источником события. Отметьте, что только параметр слушателя EventContext.addNamingListener() релевантен. Имя и параметры контекста не относятся к незапрашиваемым уведомлениям.
// Get the event context for registering the listener
EventContext ctx = (EventContext)
(new InitialContext(env).lookup("ou=People"));
// Create the listener
NamingListener listener = new UnsolListener();
// Register the listener with the context (all targets equivalent)
ctx.addNamingListener("", EventContext.ONELEVEL_SCOPE, listener);
Выполняя эту программу, Вы должны указать на это на сервер LDAP, который может генерировать незапрашиваемые уведомления и подталкивать сервер, чтобы испустить уведомление. Иначе, после одной минуты программа выйдет тихо.
Слушатель, который реализует UnsolicitedNotificationListener, может также реализовать другие интерфейсы , такие как и .