下面列出了怎么用javax.naming.event.NamingEvent的API类实例代码及写法,或者点击链接到github查看源代码。
/**
* Handler for new policy entries in the directory.
*
* @param namingEvent the new entry event that occurred
*/
public void objectAdded(NamingEvent namingEvent) {
if (logger.isDebugEnabled()) {
logger.debug("objectAdded:\n\told binding: " + namingEvent.getOldBinding() + "\n\tnew binding: " + namingEvent.getNewBinding());
}
Map<String, Set<Role>> newRoles = new HashMap<>();
try {
processSearchResult(newRoles, (SearchResult) namingEvent.getNewBinding());
for (Map.Entry<String, Set<Role>> entry : newRoles.entrySet()) {
Set<Role> existingRoles = securityRepository.getMatch(entry.getKey());
for (Role role : entry.getValue()) {
existingRoles.add(role);
}
}
} catch (NamingException e) {
ActiveMQServerLogger.LOGGER.failedToProcessEvent(e);
}
}
/**
* Invoked when the data source associated to {@code "jdbc/SpatialMetadata"} changed.
* This method clears the {@link Initializer#source}, unregisters this listener
* and notifies other SIS modules.
*
* @param event ignored. Can be null.
*/
@Override
public void objectChanged(NamingEvent event) {
try {
synchronized (Initializer.class) {
source = null;
connected = false;
Shutdown.unregister(this);
context.removeNamingListener(this);
}
} catch (NamingException e) {
/*
* Not a fatal error since the listener may be unregistered anyway, or may be unregistered
* automatically by other kinds of JNDI events. Even if the listener is not unregistered,
* it will hurt to badly: the DataSource would only be fetched more often than necessary.
*/
Logging.recoverableException(Logging.getLogger(Loggers.SYSTEM), Listener.class, "objectChanged", e);
}
for (Initializer init : DefaultFactories.createServiceLoader(Initializer.class)) {
init.dataSourceChanged();
}
}
@Override
public void objectRemoved(NamingEvent evt) {
final String jndiName = evt.getOldBinding().getName();
LOG.factoryUnboundFromName( jndiName );
final String uuid = nameUuidXref.remove( jndiName );
if ( uuid == null ) {
// serious problem... but not sure what to do yet
}
sessionFactoryMap.remove( uuid );
}
@Override
public void objectRenamed(NamingEvent evt) {
final String oldJndiName = evt.getOldBinding().getName();
final String newJndiName = evt.getNewBinding().getName();
LOG.factoryJndiRename( oldJndiName, newJndiName );
final String uuid = nameUuidXref.remove( oldJndiName );
nameUuidXref.put( newJndiName, uuid );
}
public void objectRemoved(NamingEvent evt) {
String name = evt.getOldBinding().getName();
log.info("A factory was unbound from name: " + name);
Object instance = NAMED_INSTANCES.remove(name);
Iterator iter = INSTANCES.values().iterator();
while ( iter.hasNext() ) {
if ( iter.next()==instance ) iter.remove();
}
}
/**
* Handler for changed policy entries in the directory.
*
* @param namingEvent the changed entry event that occurred
*/
public void objectChanged(NamingEvent namingEvent) {
if (logger.isDebugEnabled()) {
logger.debug("objectChanged:\n\told binding: " + namingEvent.getOldBinding() + "\n\tnew binding: " + namingEvent.getNewBinding());
}
objectRemoved(namingEvent);
objectAdded(namingEvent);
}
@Override
public void objectChanged(NamingEvent ne) {
//do nothing
}
@Override
public void objectChanged(NamingEvent ne) {
//do nothing
}
@Override
public void objectChanged(NamingEvent ne) {
//do nothing
}
public void objectChanged(NamingEvent evt) {
cnt++;
}
@Override
public void objectAdded(NamingEvent evt) {
LOG.debugf( "A factory was successfully bound to name: %s", evt.getNewBinding().getName() );
}
@Override
public void objectChanged(NamingEvent ne) {
//do nothing
}
public void objectAdded(NamingEvent evt) {
log.debug( "A factory was successfully bound to name: " + evt.getNewBinding().getName() );
}
public void objectRenamed(NamingEvent evt) {
String name = evt.getOldBinding().getName();
log.info("A factory was renamed from name: " + name);
NAMED_INSTANCES.put( evt.getNewBinding().getName(), NAMED_INSTANCES.remove(name) );
}
@Override
public void objectAdded(NamingEvent evt) {
LegacyLDAPSecuritySettingPlugin.this.objectAdded(evt);
}
@Override
public void objectRemoved(NamingEvent evt) {
LegacyLDAPSecuritySettingPlugin.this.objectRemoved(evt);
}
@Override
public void objectRenamed(NamingEvent evt) {
LegacyLDAPSecuritySettingPlugin.this.objectRenamed(evt);
}
@Override
public void objectChanged(NamingEvent evt) {
LegacyLDAPSecuritySettingPlugin.this.objectChanged(evt);
}
/**
* @param namingEvent the renaming entry event that occurred
*/
public void objectRenamed(NamingEvent namingEvent) {
}