8206424: Use locking for cleaning ProtectionDomainTable
Summary: ServiceThread is now in charge of cleaning ProtectionDomainTable entries
Reviewed-by: coleenp, iklam
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><html><head><!--Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.This code is free software; you can redistribute it and/or modify itunder the terms of the GNU General Public License version 2 only, aspublished by the Free Software Foundation. Oracle designates thisparticular file as subject to the "Classpath" exception as providedby Oracle in the LICENSE file that accompanied this code.This code is distributed in the hope that it will be useful, but WITHOUTANY WARRANTY; without even the implied warranty of MERCHANTABILITY orFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licenseversion 2 for more details (a copy is included in the LICENSE file thataccompanied this code).You should have received a copy of the GNU General Public License version2 along with this work; if not, write to the Free Software Foundation,Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USAor visit www.oracle.com if you need additional information or have anyquestions.--></head><body bgcolor="white">Provides the means for dynamically plugging in support for accessingnaming and directory services through the <code>javax.naming</code>and related packages.<p>This package defines the service provider interface (SPI) of the Java Namingand Directory Interface™ (JNDI). JNDI provides naming and directory functionality to applicationswritten in the Java programming language. It is designed to beindependent of any specific naming or directory serviceimplementation. Thus a variety of services--new, emerging, andalready deployed ones--can be accessed in a common way.<p>The JNDI SPI provides the means for creating JNDI service providers,through which JNDI applications access different naming anddirectory services.<h3>Plug-in Architecture</h3>The service provider package allows different implementations to be plugged indynamically.These different implementations include those for the<em>initial context</em>,and implementations for contexts that can be reached from the initial context.<h3>Java Object Support</h3>The service provider package provides supportfor implementors of the<code>javax.naming.Context.lookup()</code>method and related methods to return Java objects that are naturaland intuitive for the Java programmer.For example, when looking up a printer name from the directory,it is natural for you to expect to getback a printer object on which to operate.<h3>Multiple Naming Systems (Federation)</h3>JNDI operations allow applications to supply names that span multiplenaming systems. So in the process of completingan operation, one service provider might need to interactwith another service provider, for example, to pass onthe operation to be continued in the next naming system.The service provider package provides support fordifferent providers to cooperate to complete JNDI operations.<h2>Package Specification</h2>The JNDI SPI Specification and related documents can be found in the{@extLink jndi_overview JNDI documentation}.@since 1.3</body></html>