diff --git a/jdk/make/copy/Copy-java.management.gmk b/jdk/make/copy/Copy-jdk.management.agent.gmk similarity index 96% rename from jdk/make/copy/Copy-java.management.gmk rename to jdk/make/copy/Copy-jdk.management.agent.gmk index 32348570198..6910ca2caa1 100644 --- a/jdk/make/copy/Copy-java.management.gmk +++ b/jdk/make/copy/Copy-jdk.management.agent.gmk @@ -28,7 +28,7 @@ include CopyCommon.gmk ################################################################################ MGMT_CONF_DIR := $(CONF_DST_DIR)/management -MGMT_CONF_SRC := $(JDK_TOPDIR)/src/java.management/share/conf +MGMT_CONF_SRC := $(JDK_TOPDIR)/src/jdk.management.agent/share/conf MGMT_SRC_FILES := $(wildcard $(MGMT_CONF_SRC)/*) MGMT_TARGET_FILES := $(subst $(MGMT_CONF_SRC),$(MGMT_CONF_DIR),$(MGMT_SRC_FILES)) diff --git a/jdk/make/gensrc/Gensrc-java.management.gmk b/jdk/make/gensrc/Gensrc-jdk.management.agent.gmk similarity index 87% rename from jdk/make/gensrc/Gensrc-java.management.gmk rename to jdk/make/gensrc/Gensrc-jdk.management.agent.gmk index 771392466fd..726a6f3cb57 100644 --- a/jdk/make/gensrc/Gensrc-java.management.gmk +++ b/jdk/make/gensrc/Gensrc-jdk.management.agent.gmk @@ -25,15 +25,12 @@ include GensrcCommon.gmk -# Hook to include the corresponding custom file, if present. -$(eval $(call IncludeCustomExtension, jdk, gensrc/Gensrc-java.management.gmk)) - ################################################################################ include GensrcProperties.gmk $(eval $(call SetupCompileProperties, COMPILE_PROPERTIES, \ - SRC_DIRS := $(JDK_TOPDIR)/src/java.management/share/classes/sun/management/resources, \ + SRC_DIRS := $(JDK_TOPDIR)/src/jdk.management.agent/share/classes/jdk/internal/agent/resources, \ CLASS := ListResourceBundle, \ )) diff --git a/jdk/make/lib/Lib-java.management.gmk b/jdk/make/lib/Lib-java.management.gmk index 2533f786ec3..1847e2eb681 100644 --- a/jdk/make/lib/Lib-java.management.gmk +++ b/jdk/make/lib/Lib-java.management.gmk @@ -30,8 +30,7 @@ $(eval $(call IncludeCustomExtension, jdk, lib/Lib-java.management.gmk)) ################################################################################ -LIBMANAGEMENT_SRC += $(JDK_TOPDIR)/src/java.management/share/native/libmanagement \ - $(JDK_TOPDIR)/src/java.management/$(OPENJDK_TARGET_OS_TYPE)/native/libmanagement +LIBMANAGEMENT_SRC += $(JDK_TOPDIR)/src/java.management/share/native/libmanagement LIBMANAGEMENT_CFLAGS := -I$(JDK_TOPDIR)/src/java.management/share/native/include \ $(addprefix -I,$(LIBMANAGEMENT_SRC)) \ -I$(SUPPORT_OUTPUTDIR)/headers/java.management \ diff --git a/jdk/make/lib/Lib-jdk.management.agent.gmk b/jdk/make/lib/Lib-jdk.management.agent.gmk new file mode 100644 index 00000000000..41feded7a17 --- /dev/null +++ b/jdk/make/lib/Lib-jdk.management.agent.gmk @@ -0,0 +1,59 @@ +# +# Copyright (c) 2017, 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 it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 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 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +include LibCommon.gmk + +################################################################################ + +LIBMANAGEMENT_RMI_SRC += $(JDK_TOPDIR)/src/jdk.management.agent/$(OPENJDK_TARGET_OS_TYPE)/native/libmanagement_rmi +LIBMANAGEMENT_RMI_CFLAGS := $(addprefix -I,$(LIBMANAGEMENT_RMI_SRC)) \ + -I$(SUPPORT_OUTPUTDIR)/headers/jdk.management.agent \ + $(LIBJAVA_HEADER_FLAGS) \ + # + +$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT_RMI, \ + LIBRARY := management_rmi, \ + OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ + SRC := $(LIBMANAGEMENT_RMI_SRC), \ + OPTIMIZATION := LOW, \ + CFLAGS := $(CFLAGS_JDKLIB) $(LIBMANAGEMENT_RMI_CFLAGS), \ + MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libmanagement_rmi/mapfile-vers, \ + LDFLAGS := $(LDFLAGS_JDKLIB) \ + $(call SET_SHARED_LIBRARY_ORIGIN), \ + LIBS := $(JDKLIB_LIBS), \ + LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib, \ + VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \ + RC_FLAGS := $(RC_FLAGS) \ + -D "JDK_FNAME=management_rmi.dll" \ + -D "JDK_INTERNAL_NAME=management_rmi" \ + -D "JDK_FTYPE=0x2L", \ + OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libmanagement_rmi, \ +)) + +$(BUILD_LIBMANAGEMENT_RMI): $(call FindLib, java.base, java) + +TARGETS += $(BUILD_LIBMANAGEMENT_RMI) + +################################################################################ diff --git a/jdk/make/mapfiles/libmanagement/mapfile-vers b/jdk/make/mapfiles/libmanagement/mapfile-vers index 228ef93abb6..2b3a81302ba 100644 --- a/jdk/make/mapfiles/libmanagement/mapfile-vers +++ b/jdk/make/mapfiles/libmanagement/mapfile-vers @@ -28,7 +28,6 @@ SUNWprivate_1.1 { global: Java_sun_management_ClassLoadingImpl_setVerboseClass; - Java_sun_management_FileSystemImpl_isAccessUserOnly0; Java_sun_management_GarbageCollectorImpl_getCollectionCount; Java_sun_management_GarbageCollectorImpl_getCollectionTime; Java_sun_management_HotspotThread_getInternalThreadCount; diff --git a/jdk/make/mapfiles/libmanagement_rmi/mapfile-vers b/jdk/make/mapfiles/libmanagement_rmi/mapfile-vers new file mode 100644 index 00000000000..935690c3b64 --- /dev/null +++ b/jdk/make/mapfiles/libmanagement_rmi/mapfile-vers @@ -0,0 +1,34 @@ +# +# Copyright (c) 2017, 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 it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 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 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# Define library interface. + +SUNWprivate_1.1 { + global: + Java_jdk_internal_agent_FileSystemImpl_isAccessUserOnly0; + JNI_OnLoad; + local: + *; +}; diff --git a/jdk/src/java.base/share/classes/module-info.java b/jdk/src/java.base/share/classes/module-info.java index d94ee0ad41d..21d8507d14d 100644 --- a/jdk/src/java.base/share/classes/module-info.java +++ b/jdk/src/java.base/share/classes/module-info.java @@ -177,6 +177,7 @@ module java.base { exports jdk.internal.perf to java.desktop, java.management, + jdk.management.agent, jdk.jvmstat; exports jdk.internal.ref to java.desktop, @@ -197,6 +198,7 @@ module java.base { jdk.jlink; exports jdk.internal.vm to java.management, + jdk.management.agent, jdk.jvmstat; exports sun.net to jdk.incubator.httpclient; diff --git a/jdk/src/java.management/share/classes/com/sun/jmx/remote/security/FileLoginModule.java b/jdk/src/java.management/share/classes/com/sun/jmx/remote/security/FileLoginModule.java index 93ce806cf1c..9c5ebb6ec85 100644 --- a/jdk/src/java.management/share/classes/com/sun/jmx/remote/security/FileLoginModule.java +++ b/jdk/src/java.management/share/classes/com/sun/jmx/remote/security/FileLoginModule.java @@ -47,7 +47,6 @@ import javax.management.remote.JMXPrincipal; import com.sun.jmx.remote.util.ClassLogger; import com.sun.jmx.remote.util.EnvHelp; -import sun.management.jmxremote.ConnectorBootstrap; /** * This {@link LoginModule} performs file-based authentication. @@ -110,12 +109,14 @@ import sun.management.jmxremote.ConnectorBootstrap; */ public class FileLoginModule implements LoginModule { + private static final String PASSWORD_FILE_NAME = "jmxremote.password"; + // Location of the default password file private static final String DEFAULT_PASSWORD_FILE_NAME = AccessController.doPrivileged(new GetPropertyAction("java.home")) + File.separatorChar + "conf" + File.separatorChar + "management" + File.separatorChar + - ConnectorBootstrap.DefaultValues.PASSWORD_FILE_NAME; + PASSWORD_FILE_NAME; // Key to retrieve the stored username private static final String USERNAME_KEY = @@ -200,8 +201,7 @@ public class FileLoginModule implements LoginModule { passwordFileDisplayName = passwordFile; } catch (SecurityException e) { hasJavaHomePermission = false; - passwordFileDisplayName = - ConnectorBootstrap.DefaultValues.PASSWORD_FILE_NAME; + passwordFileDisplayName = PASSWORD_FILE_NAME; } } } diff --git a/jdk/src/java.management/share/classes/module-info.java b/jdk/src/java.management/share/classes/module-info.java index c130350387a..b9c13902773 100644 --- a/jdk/src/java.management/share/classes/module-info.java +++ b/jdk/src/java.management/share/classes/module-info.java @@ -43,13 +43,19 @@ module java.management { exports javax.management.remote; exports javax.management.remote.rmi; exports javax.management.timer; - exports sun.management to jdk.jconsole, jdk.management; + exports com.sun.jmx.remote.internal to jdk.management.agent; + exports com.sun.jmx.remote.security to jdk.management.agent; + exports sun.management to + jdk.jconsole, + jdk.management, + jdk.management.agent; + exports sun.management.counter to jdk.management.agent; + exports sun.management.counter.perf to jdk.management.agent; exports sun.management.spi to jdk.management; uses javax.management.remote.JMXConnectorProvider; uses javax.management.remote.JMXConnectorServerProvider; uses sun.management.spi.PlatformMBeanProvider; - uses sun.management.spi.AgentProvider; provides javax.security.auth.spi.LoginModule with com.sun.jmx.remote.security.FileLoginModule; diff --git a/jdk/src/java.management/share/conf/snmp.acl.template b/jdk/src/java.management/share/conf/snmp.acl.template deleted file mode 100644 index cb9547bdcc9..00000000000 --- a/jdk/src/java.management/share/conf/snmp.acl.template +++ /dev/null @@ -1,110 +0,0 @@ -# ---------------------------------------------------------------------- -# Template for SNMP Access Control List File -# -# o Copy this template to snmp.acl -# o Set access control for SNMP support -# o Change the permission of snmp.acl to be read-only -# by the owner. -# -# See below for the location of snmp.acl file. -# ---------------------------------------------------------------------- - -############################################################ -# SNMP Access Control List File -############################################################ -# -# Default location of this file is $JRE/conf/management/snmp.acl. -# You can specify an alternate location by specifying a property in -# the management config file $JRE/conf/management/management.properties -# or by specifying a system property (See that file for details). -# - - -############################################################## -# File permissions of the snmp.acl file -############################################################## -# -# Since there are cleartext community strings stored in this file, -# this ACL file must be readable by ONLY the owner, -# otherwise the program will exit with an error. -# -############################################################## -# Format of the acl group -############################################################## -# -# communities: a list of SNMP community strings to which the -# access control applies separated by commas. -# -# access: either "read-only" or "read-write". -# -# managers: a list of hosts to be granted the access rights. -# Each can be expressed as any one of the following: -# - hostname: hubble -# - ip v4 and v6 addresses: 123.456.789.12 , fe80::a00:20ff:fe9b:ea82 -# - ip v4 and v6 netmask prefix notation: 123.456.789.0/24, -# fe80::a00:20ff:fe9b:ea82/64 -# see RFC 2373 (http://www.ietf.org/rfc/rfc2373.txt) -# -# An example of two community groups for multiple hosts: -# acl = { -# { -# communities = public, private -# access = read-only -# managers = hubble, snowbell, nanak -# } -# { -# communities = jerry -# access = read-write -# managers = hubble, telescope -# } -# } -# -############################################################## -# Format of the trap group -############################################################## -# -# trap-community: a single SNMP community string that will be included -# in the traps sent to the hosts. -# -# hosts: a list of hosts to which the SNMP agent will send traps. -# -# An example of two trap community definitions for multiple hosts: -# trap = { -# { -# trap-community = public -# hosts = hubble, snowbell -# } -# { -# trap-community = private -# hosts = telescope -# } -# } -# -############################################################ -# -# Update the community strings (public and private) below -# before copying this template file -# -# Common SNMP ACL Example -# ------------------------ -# -# o Only localhost can connect, and access rights -# are limited to read-only -# o Traps are sent to localhost only -# -# -# acl = { -# { -# communities = public, private -# access = read-only -# managers = localhost -# } -# } -# -# -# trap = { -# { -# trap-community = public -# hosts = localhost -# } -# } diff --git a/jdk/src/java.rmi/share/classes/module-info.java b/jdk/src/java.rmi/share/classes/module-info.java index 76195b6ec81..750d8a4b487 100644 --- a/jdk/src/java.rmi/share/classes/module-info.java +++ b/jdk/src/java.rmi/share/classes/module-info.java @@ -39,12 +39,14 @@ module java.rmi { // accessible to the security manager at initialization time exports com.sun.rmi.rmid to java.base; exports sun.rmi.registry to - java.management; + jdk.management.agent; exports sun.rmi.server to java.management, + jdk.management.agent, jdk.jconsole; exports sun.rmi.transport to java.management, + jdk.management.agent, jdk.jconsole; uses java.rmi.server.RMIClassLoaderSpi; } diff --git a/jdk/src/jdk.jconsole/share/classes/module-info.java b/jdk/src/jdk.jconsole/share/classes/module-info.java index bd10ffb739d..e3a1b348998 100644 --- a/jdk/src/jdk.jconsole/share/classes/module-info.java +++ b/jdk/src/jdk.jconsole/share/classes/module-info.java @@ -31,6 +31,7 @@ module jdk.jconsole { requires jdk.attach; requires jdk.jvmstat; requires jdk.management; + requires jdk.management.agent; exports com.sun.tools.jconsole; uses com.sun.tools.jconsole.JConsolePlugin; } diff --git a/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/LocalVirtualMachine.java b/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/LocalVirtualMachine.java index e6c827b70ce..ff5c63813e3 100644 --- a/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/LocalVirtualMachine.java +++ b/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/LocalVirtualMachine.java @@ -29,13 +29,11 @@ import java.util.*; import java.io.IOException; import java.io.File; -// Sun specific import com.sun.tools.attach.VirtualMachine; import com.sun.tools.attach.VirtualMachineDescriptor; import com.sun.tools.attach.AttachNotSupportedException; -// Sun private -import sun.management.ConnectorAddressLink; +import jdk.internal.agent.ConnectorAddressLink; import sun.jvmstat.monitor.HostIdentifier; import sun.jvmstat.monitor.MonitoredHost; import sun.jvmstat.monitor.MonitoredVm; diff --git a/jdk/src/java.management/share/classes/sun/management/Agent.java b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/Agent.java similarity index 98% rename from jdk/src/java.management/share/classes/sun/management/Agent.java rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/Agent.java index fbc80433793..3d07fbaf23b 100644 --- a/jdk/src/java.management/share/classes/sun/management/Agent.java +++ b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/Agent.java @@ -22,7 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package sun.management; +package jdk.internal.agent; import java.io.BufferedInputStream; import java.io.File; @@ -50,12 +50,12 @@ import java.util.function.Predicate; import javax.management.remote.JMXConnectorServer; import javax.management.remote.JMXServiceURL; -import static sun.management.AgentConfigurationError.*; -import sun.management.jmxremote.ConnectorBootstrap; +import static jdk.internal.agent.AgentConfigurationError.*; +import jdk.internal.agent.spi.AgentProvider; +import jdk.internal.vm.VMSupport; import sun.management.jdp.JdpController; import sun.management.jdp.JdpException; -import jdk.internal.vm.VMSupport; -import sun.management.spi.AgentProvider; +import sun.management.jmxremote.ConnectorBootstrap; /** * This Agent is started by the VM when -Dcom.sun.management.snmp or @@ -563,8 +563,8 @@ public class Agent { */ AgentProvider provider = AccessController.doPrivileged( (PrivilegedAction) () -> { - for(AgentProvider aProvider : ServiceLoader.loadInstalled(AgentProvider.class)) { - if(aProvider.getName().equals(SNMP_AGENT_NAME)) + for (AgentProvider aProvider : ServiceLoader.loadInstalled(AgentProvider.class)) { + if (aProvider.getName().equals(SNMP_AGENT_NAME)) return aProvider; } return null; @@ -708,7 +708,7 @@ public class Agent { private static void initResource() { try { messageRB = - ResourceBundle.getBundle("sun.management.resources.agent"); + ResourceBundle.getBundle("jdk.internal.agent.resources.agent"); } catch (MissingResourceException e) { throw new Error("Fatal: Resource for management agent is missing"); } diff --git a/jdk/src/java.management/share/classes/sun/management/AgentConfigurationError.java b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/AgentConfigurationError.java similarity index 99% rename from jdk/src/java.management/share/classes/sun/management/AgentConfigurationError.java rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/AgentConfigurationError.java index 846f920d814..fb00b9f793a 100644 --- a/jdk/src/java.management/share/classes/sun/management/AgentConfigurationError.java +++ b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/AgentConfigurationError.java @@ -23,7 +23,7 @@ * questions. */ -package sun.management; +package jdk.internal.agent; /** * Configuration Error thrown by a management agent. diff --git a/jdk/src/java.management/share/classes/sun/management/ConnectorAddressLink.java b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/ConnectorAddressLink.java similarity index 99% rename from jdk/src/java.management/share/classes/sun/management/ConnectorAddressLink.java rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/ConnectorAddressLink.java index b1bd0f311d1..c0345d46389 100644 --- a/jdk/src/java.management/share/classes/sun/management/ConnectorAddressLink.java +++ b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/ConnectorAddressLink.java @@ -23,7 +23,7 @@ * questions. */ -package sun.management; +package jdk.internal.agent; import java.io.IOException; import java.nio.ByteBuffer; diff --git a/jdk/src/java.management/share/classes/sun/management/FileSystem.java b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/FileSystem.java similarity index 98% rename from jdk/src/java.management/share/classes/sun/management/FileSystem.java rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/FileSystem.java index a30a2debb86..2b55795c2d4 100644 --- a/jdk/src/java.management/share/classes/sun/management/FileSystem.java +++ b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/FileSystem.java @@ -23,7 +23,7 @@ * questions. */ -package sun.management; +package jdk.internal.agent; import java.io.File; import java.io.IOException; diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent.properties b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent.properties similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/resources/agent.properties rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent.properties diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_de.properties b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_de.properties similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/resources/agent_de.properties rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_de.properties diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_es.properties b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_es.properties similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/resources/agent_es.properties rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_es.properties diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_fr.properties b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_fr.properties similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/resources/agent_fr.properties rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_fr.properties diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_it.properties b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_it.properties similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/resources/agent_it.properties rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_it.properties diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_ja.properties b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_ja.properties similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/resources/agent_ja.properties rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_ja.properties diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_ko.properties b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_ko.properties similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/resources/agent_ko.properties rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_ko.properties diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_pt_BR.properties b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_pt_BR.properties similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/resources/agent_pt_BR.properties rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_pt_BR.properties diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_sv.properties b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_sv.properties similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/resources/agent_sv.properties rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_sv.properties diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_zh_CN.properties b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_zh_CN.properties similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/resources/agent_zh_CN.properties rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_zh_CN.properties diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_zh_TW.properties b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_zh_TW.properties similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/resources/agent_zh_TW.properties rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_zh_TW.properties diff --git a/jdk/src/java.management/share/classes/sun/management/spi/AgentProvider.java b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/spi/AgentProvider.java similarity index 98% rename from jdk/src/java.management/share/classes/sun/management/spi/AgentProvider.java rename to jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/spi/AgentProvider.java index f68343acacb..27f80801174 100644 --- a/jdk/src/java.management/share/classes/sun/management/spi/AgentProvider.java +++ b/jdk/src/jdk.management.agent/share/classes/jdk/internal/agent/spi/AgentProvider.java @@ -22,7 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package sun.management.spi; +package jdk.internal.agent.spi; import java.util.Properties; diff --git a/jdk/src/jdk.management.agent/share/classes/module-info.java b/jdk/src/jdk.management.agent/share/classes/module-info.java new file mode 100644 index 00000000000..0d19d599c4c --- /dev/null +++ b/jdk/src/jdk.management.agent/share/classes/module-info.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2017, 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 it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 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 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +module jdk.management.agent { + requires java.management; + + exports jdk.internal.agent to jdk.jconsole; + + uses jdk.internal.agent.spi.AgentProvider; +} + diff --git a/jdk/src/java.management/share/classes/sun/management/jdp/JdpBroadcaster.java b/jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpBroadcaster.java similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/jdp/JdpBroadcaster.java rename to jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpBroadcaster.java diff --git a/jdk/src/java.management/share/classes/sun/management/jdp/JdpController.java b/jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpController.java similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/jdp/JdpController.java rename to jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpController.java diff --git a/jdk/src/java.management/share/classes/sun/management/jdp/JdpException.java b/jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpException.java similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/jdp/JdpException.java rename to jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpException.java diff --git a/jdk/src/java.management/share/classes/sun/management/jdp/JdpGenericPacket.java b/jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpGenericPacket.java similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/jdp/JdpGenericPacket.java rename to jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpGenericPacket.java diff --git a/jdk/src/java.management/share/classes/sun/management/jdp/JdpJmxPacket.java b/jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpJmxPacket.java similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/jdp/JdpJmxPacket.java rename to jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpJmxPacket.java diff --git a/jdk/src/java.management/share/classes/sun/management/jdp/JdpPacket.java b/jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpPacket.java similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/jdp/JdpPacket.java rename to jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpPacket.java diff --git a/jdk/src/java.management/share/classes/sun/management/jdp/JdpPacketReader.java b/jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpPacketReader.java similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/jdp/JdpPacketReader.java rename to jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpPacketReader.java diff --git a/jdk/src/java.management/share/classes/sun/management/jdp/JdpPacketWriter.java b/jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpPacketWriter.java similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/jdp/JdpPacketWriter.java rename to jdk/src/jdk.management.agent/share/classes/sun/management/jdp/JdpPacketWriter.java diff --git a/jdk/src/java.management/share/classes/sun/management/jdp/package-info.java b/jdk/src/jdk.management.agent/share/classes/sun/management/jdp/package-info.java similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/jdp/package-info.java rename to jdk/src/jdk.management.agent/share/classes/sun/management/jdp/package-info.java diff --git a/jdk/src/java.management/share/classes/sun/management/jmxremote/ConnectorBootstrap.java b/jdk/src/jdk.management.agent/share/classes/sun/management/jmxremote/ConnectorBootstrap.java similarity index 97% rename from jdk/src/java.management/share/classes/sun/management/jmxremote/ConnectorBootstrap.java rename to jdk/src/jdk.management.agent/share/classes/sun/management/jmxremote/ConnectorBootstrap.java index 477b7786421..0c3e9653124 100644 --- a/jdk/src/java.management/share/classes/sun/management/jmxremote/ConnectorBootstrap.java +++ b/jdk/src/jdk.management.agent/share/classes/sun/management/jmxremote/ConnectorBootstrap.java @@ -25,6 +25,8 @@ package sun.management.jmxremote; +import java.lang.System.Logger; +import java.lang.System.Logger.Level; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; @@ -73,13 +75,12 @@ import javax.security.auth.Subject; import com.sun.jmx.remote.internal.RMIExporter; import com.sun.jmx.remote.security.JMXPluggableAuthenticator; -import com.sun.jmx.remote.util.ClassLogger; -import sun.management.Agent; -import sun.management.AgentConfigurationError; -import static sun.management.AgentConfigurationError.*; -import sun.management.ConnectorAddressLink; -import sun.management.FileSystem; +import jdk.internal.agent.Agent; +import jdk.internal.agent.AgentConfigurationError; +import static jdk.internal.agent.AgentConfigurationError.*; +import jdk.internal.agent.ConnectorAddressLink; +import jdk.internal.agent.FileSystem; import sun.rmi.server.UnicastRef; import sun.rmi.server.UnicastServerRef; import sun.rmi.server.UnicastServerRef2; @@ -435,8 +436,8 @@ public final class ConnectorBootstrap { final String bindAddress = props.getProperty(PropertyNames.HOST); - if (log.debugOn()) { - log.debug("startRemoteConnectorServer", + if (logger.isLoggable(Level.DEBUG)) { + logger.log(Level.DEBUG, "startRemoteConnectorServer", Agent.getText("jmxremote.ConnectorBootstrap.starting") + "\n\t" + PropertyNames.PORT + "=" + port + (bindAddress == null ? "" : "\n\t" + PropertyNames.HOST + "=" + bindAddress) + @@ -473,9 +474,9 @@ public final class ConnectorBootstrap { passwordFileName, accessFileName, bindAddress); cs = data.jmxConnectorServer; url = data.jmxRemoteURL; - log.config("startRemoteConnectorServer", - Agent.getText("jmxremote.ConnectorBootstrap.ready", - url.toString())); + config("startRemoteConnectorServer", + Agent.getText("jmxremote.ConnectorBootstrap.ready", + url.toString())); } catch (Exception e) { throw new AgentConfigurationError(AGENT_EXCEPTION, e, e.toString()); } @@ -493,7 +494,7 @@ public final class ConnectorBootstrap { // Remote connector server started but unable to export remote // connector address and associated configuration properties to // the instrumentation buffer - non-fatal error. - log.debug("startRemoteConnectorServer", e); + config("startRemoteConnectorServer", e); } return cs; } @@ -573,7 +574,7 @@ public final class ConnectorBootstrap { if (!fs.isAccessUserOnly(file)) { final String msg = Agent.getText("jmxremote.ConnectorBootstrap.password.readonly", passwordFileName); - log.config("startRemoteConnectorServer", msg); + config("startRemoteConnectorServer", msg); throw new AgentConfigurationError(PASSWORD_FILE_ACCESS_NOT_RESTRICTED, passwordFileName); } @@ -616,7 +617,7 @@ public final class ConnectorBootstrap { final String msg = Agent.getText( "jmxremote.ConnectorBootstrap.file.readonly", restrictedFileName); - log.config("startRemoteConnectorServer", msg); + config("startRemoteConnectorServer", msg); throw new AgentConfigurationError( FILE_ACCESS_NOT_RESTRICTED, restrictedFileName); } @@ -842,9 +843,19 @@ public final class ConnectorBootstrap { private ConnectorBootstrap() { } - private static final ClassLogger log = - new ClassLogger(ConnectorBootstrap.class.getPackage().getName(), - "ConnectorBootstrap"); + private static final Logger logger = + System.getLogger(ConnectorBootstrap.class.getPackageName()); + private static void config(String func, String msg) { + logger.log(Level.DEBUG, msg); + } + + private static void config(String func, Throwable t) { + logger.log(Level.DEBUG, "ConnectorBootstrap::" + func, t); + } + + private static void config(String func, String msg, Throwable t) { + logger.log(Level.DEBUG, msg, t); + } private static class HostAwareSocketFactory implements RMIServerSocketFactory { diff --git a/jdk/src/java.management/share/classes/sun/management/jmxremote/LocalRMIServerSocketFactory.java b/jdk/src/jdk.management.agent/share/classes/sun/management/jmxremote/LocalRMIServerSocketFactory.java similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/jmxremote/LocalRMIServerSocketFactory.java rename to jdk/src/jdk.management.agent/share/classes/sun/management/jmxremote/LocalRMIServerSocketFactory.java diff --git a/jdk/src/java.management/share/classes/sun/management/jmxremote/SingleEntryRegistry.java b/jdk/src/jdk.management.agent/share/classes/sun/management/jmxremote/SingleEntryRegistry.java similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/jmxremote/SingleEntryRegistry.java rename to jdk/src/jdk.management.agent/share/classes/sun/management/jmxremote/SingleEntryRegistry.java diff --git a/jdk/src/java.management/share/classes/sun/management/jmxremote/package.html b/jdk/src/jdk.management.agent/share/classes/sun/management/jmxremote/package.html similarity index 100% rename from jdk/src/java.management/share/classes/sun/management/jmxremote/package.html rename to jdk/src/jdk.management.agent/share/classes/sun/management/jmxremote/package.html diff --git a/jdk/src/java.management/share/conf/jmxremote.access b/jdk/src/jdk.management.agent/share/conf/jmxremote.access similarity index 100% rename from jdk/src/java.management/share/conf/jmxremote.access rename to jdk/src/jdk.management.agent/share/conf/jmxremote.access diff --git a/jdk/src/java.management/share/conf/jmxremote.password.template b/jdk/src/jdk.management.agent/share/conf/jmxremote.password.template similarity index 100% rename from jdk/src/java.management/share/conf/jmxremote.password.template rename to jdk/src/jdk.management.agent/share/conf/jmxremote.password.template diff --git a/jdk/src/java.management/share/conf/management.properties b/jdk/src/jdk.management.agent/share/conf/management.properties similarity index 100% rename from jdk/src/java.management/share/conf/management.properties rename to jdk/src/jdk.management.agent/share/conf/management.properties diff --git a/jdk/src/java.management/unix/classes/sun/management/FileSystemImpl.java b/jdk/src/jdk.management.agent/unix/classes/jdk/internal/agent/FileSystemImpl.java similarity index 92% rename from jdk/src/java.management/unix/classes/sun/management/FileSystemImpl.java rename to jdk/src/jdk.management.agent/unix/classes/jdk/internal/agent/FileSystemImpl.java index 190d8c20723..b5090fa0567 100644 --- a/jdk/src/java.management/unix/classes/sun/management/FileSystemImpl.java +++ b/jdk/src/jdk.management.agent/unix/classes/jdk/internal/agent/FileSystemImpl.java @@ -23,13 +23,13 @@ * questions. */ -package sun.management; +package jdk.internal.agent; import java.io.File; import java.io.IOException; /* - * Solaris/Linux implementation of sun.management.FileSystem + * Solaris/Linux implementation of jdk.internal.agent.FileSystem */ public class FileSystemImpl extends FileSystem { @@ -51,7 +51,7 @@ public class FileSystemImpl extends FileSystem { java.security.AccessController.doPrivileged( new java.security.PrivilegedAction() { public Void run() { - System.loadLibrary("management"); + System.loadLibrary("management_rmi"); return null; } }); diff --git a/jdk/src/java.management/unix/native/libmanagement/FileSystemImpl.c b/jdk/src/jdk.management.agent/unix/native/libmanagement_rmi/FileSystemImpl.c similarity index 81% rename from jdk/src/java.management/unix/native/libmanagement/FileSystemImpl.c rename to jdk/src/jdk.management.agent/unix/native/libmanagement_rmi/FileSystemImpl.c index 4eafc9a8c4e..ba780592811 100644 --- a/jdk/src/java.management/unix/native/libmanagement/FileSystemImpl.c +++ b/jdk/src/jdk.management.agent/unix/native/libmanagement_rmi/FileSystemImpl.c @@ -28,18 +28,32 @@ #include "jni.h" #include "jni_util.h" -#include "sun_management_FileSystemImpl.h" +#include "jdk_internal_agent_FileSystemImpl.h" #ifdef _ALLBSD_SOURCE #define stat64 stat #endif /* - * Class: sun_management_FileSystemImpl + * JNI_OnLoad + */ +JNIEXPORT jint JNICALL DEF_JNI_OnLoad(JavaVM *vm, void *reserved) +{ + JNIEnv* env; + + if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_2) != JNI_OK) { + return JNI_EVERSION; /* JNI version not supported */ + } + + return JNI_VERSION_9; +} + +/* + * Class: jdk_internal_agent_FileSystemImpl * Method: isAccessUserOnly0 * Signature: (Ljava/lang/String;)Z */ -JNIEXPORT jboolean JNICALL Java_sun_management_FileSystemImpl_isAccessUserOnly0 +JNIEXPORT jboolean JNICALL Java_jdk_internal_agent_FileSystemImpl_isAccessUserOnly0 (JNIEnv *env, jclass ignored, jstring str) { jboolean res = JNI_FALSE; diff --git a/jdk/src/java.management/windows/classes/sun/management/FileSystemImpl.java b/jdk/src/jdk.management.agent/windows/classes/jdk/internal/agent/FileSystemImpl.java similarity index 96% rename from jdk/src/java.management/windows/classes/sun/management/FileSystemImpl.java rename to jdk/src/jdk.management.agent/windows/classes/jdk/internal/agent/FileSystemImpl.java index 9bcd99de21d..c30737ae769 100644 --- a/jdk/src/java.management/windows/classes/sun/management/FileSystemImpl.java +++ b/jdk/src/jdk.management.agent/windows/classes/jdk/internal/agent/FileSystemImpl.java @@ -23,7 +23,7 @@ * questions. */ -package sun.management; +package jdk.internal.agent; import java.io.File; import java.io.IOException; @@ -59,7 +59,7 @@ public class FileSystemImpl extends FileSystem { java.security.AccessController.doPrivileged( new java.security.PrivilegedAction() { public Void run() { - System.loadLibrary("management"); + System.loadLibrary("management_rmi"); return null; } }); diff --git a/jdk/src/java.management/windows/native/libmanagement/FileSystemImpl.c b/jdk/src/jdk.management.agent/windows/native/libmanagement_rmi/FileSystemImpl.c similarity index 92% rename from jdk/src/java.management/windows/native/libmanagement/FileSystemImpl.c rename to jdk/src/jdk.management.agent/windows/native/libmanagement_rmi/FileSystemImpl.c index 6253a927bcb..62ad33c78b8 100644 --- a/jdk/src/java.management/windows/native/libmanagement/FileSystemImpl.c +++ b/jdk/src/jdk.management.agent/windows/native/libmanagement_rmi/FileSystemImpl.c @@ -29,7 +29,19 @@ #include "jni.h" #include "jni_util.h" -#include "sun_management_FileSystemImpl.h" +#include "jdk_internal_agent_FileSystemImpl.h" + +JNIEXPORT jint JNICALL DEF_JNI_OnLoad(JavaVM *vm, void *reserved) +{ + JNIEnv* env; + + if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_2) != JNI_OK) { + return JNI_EVERSION; /* JNI version not supported */ + } + + return JNI_VERSION_9; +} + /* * Access mask to represent any file access @@ -234,22 +246,22 @@ static jboolean isAccessUserOnly(JNIEnv* env, SID* owner, ACL* acl) { /* - * Class: sun_management_FileSystemImpl + * Class: jdk_internal_agent_FileSystemImpl * Method: init0 * Signature: ()V */ -JNIEXPORT void JNICALL Java_sun_management_FileSystemImpl_init0 +JNIEXPORT void JNICALL Java_jdk_internal_agent_FileSystemImpl_init0 (JNIEnv *env, jclass ignored) { /* nothing to do */ } /* - * Class: sun_management_FileSystemImpl + * Class: jdk_internal_agent_FileSystemImpl * Method: isSecuritySupported0 * Signature: (Ljava/lang/String;)Z */ -JNIEXPORT jboolean JNICALL Java_sun_management_FileSystemImpl_isSecuritySupported0 +JNIEXPORT jboolean JNICALL Java_jdk_internal_agent_FileSystemImpl_isSecuritySupported0 (JNIEnv *env, jclass ignored, jstring str) { jboolean res; @@ -271,11 +283,11 @@ JNIEXPORT jboolean JNICALL Java_sun_management_FileSystemImpl_isSecuritySupporte /* - * Class: sun_management_FileSystemImpl + * Class: jdk_internal_agent_FileSystemImpl * Method: isAccessUserOnly0 * Signature: (Ljava/lang/String;)Z */ -JNIEXPORT jboolean JNICALL Java_sun_management_FileSystemImpl_isAccessUserOnly0 +JNIEXPORT jboolean JNICALL Java_jdk_internal_agent_FileSystemImpl_isAccessUserOnly0 (JNIEnv *env, jclass ignored, jstring str) { jboolean res = JNI_FALSE; diff --git a/jdk/test/com/sun/tools/attach/StartManagementAgent.java b/jdk/test/com/sun/tools/attach/StartManagementAgent.java index 7d3f13d1b55..85256fb68c2 100644 --- a/jdk/test/com/sun/tools/attach/StartManagementAgent.java +++ b/jdk/test/com/sun/tools/attach/StartManagementAgent.java @@ -41,7 +41,7 @@ import jdk.testlibrary.Utils; * @summary Test for VirtualMachine.startManagementAgent and VirtualMachine.startLocalManagementAgent * @modules jdk.jartool/sun.tools.jar * @library /lib/testlibrary - * @modules java.management + * @modules jdk.management.agent * jdk.attach * jdk.jartool/sun.tools.jar * @run build Application SimpleProvider jdk.testlibrary.* diff --git a/jdk/test/sun/management/AgentCMETest.java b/jdk/test/jdk/internal/agent/AgentCMETest.java similarity index 93% rename from jdk/test/sun/management/AgentCMETest.java rename to jdk/test/jdk/internal/agent/AgentCMETest.java index ff83b30001b..c6c7c0f2632 100644 --- a/jdk/test/sun/management/AgentCMETest.java +++ b/jdk/test/jdk/internal/agent/AgentCMETest.java @@ -29,18 +29,18 @@ * @test * @bug 7164191 * @summary properties.putAll API may fail with ConcurrentModifcationException on multi-thread scenario - * @modules java.management/sun.management + * @modules jdk.management.agent/jdk.internal.agent * @author Deven You */ import java.util.Properties; -import sun.management.Agent; +import jdk.internal.agent.Agent; public class AgentCMETest { static Class agentClass; /** - * In sun.management.Agent.loadManagementProperties(), call + * In jdk.internal.agent.Agent.loadManagementProperties(), call * properties.putAll API may fail with ConcurrentModifcationException if the * system properties are modified simultaneously by another thread * diff --git a/jdk/test/sun/management/AgentCheckTest.java b/jdk/test/jdk/internal/agent/AgentCheckTest.java similarity index 96% rename from jdk/test/sun/management/AgentCheckTest.java rename to jdk/test/jdk/internal/agent/AgentCheckTest.java index b7f1c668739..3c34b9b6bb9 100644 --- a/jdk/test/sun/management/AgentCheckTest.java +++ b/jdk/test/jdk/internal/agent/AgentCheckTest.java @@ -25,11 +25,11 @@ * @test * @bug 5013605 * @summary Localize log messages from the management agents - * @modules java.management/sun.management + * @modules jdk.management.agent/jdk.internal.agent * * @author Tim Bell */ -import sun.management.Agent; +import jdk.internal.agent.Agent; public class AgentCheckTest { diff --git a/jdk/test/sun/management/jdp/JdpDefaultsTest.java b/jdk/test/sun/management/jdp/JdpDefaultsTest.java index 029316988a4..8236e5e1e25 100644 --- a/jdk/test/sun/management/jdp/JdpDefaultsTest.java +++ b/jdk/test/sun/management/jdp/JdpDefaultsTest.java @@ -31,7 +31,7 @@ * @test JdpDefaultsTest * @summary Assert that we can read JDP packets from a multicast socket connection, on default IP and port. * @library /lib/testlibrary - * @modules java.management/sun.management.jdp + * @modules jdk.management.agent/sun.management.jdp * @build jdk.testlibrary.* ClientConnection JdpTestUtil JdpTestCase JdpOnTestCase DynamicLauncher * @run main JdpDefaultsTest */ diff --git a/jdk/test/sun/management/jdp/JdpOffTest.java b/jdk/test/sun/management/jdp/JdpOffTest.java index 405ed69caf8..a1aa6189c5f 100644 --- a/jdk/test/sun/management/jdp/JdpOffTest.java +++ b/jdk/test/sun/management/jdp/JdpOffTest.java @@ -32,7 +32,7 @@ * @test JdpOffTest.java * @summary Assert that no JDP packets are sent to the default address and port. * @library /lib/testlibrary - * @modules java.management/sun.management.jdp + * @modules jdk.management.agent/sun.management.jdp * @build jdk.testlibrary.* ClientConnection JdpTestUtil JdpTestCase JdpOffTestCase DynamicLauncher * @run main JdpOffTest */ diff --git a/jdk/test/sun/management/jdp/JdpSpecificAddressTest.java b/jdk/test/sun/management/jdp/JdpSpecificAddressTest.java index c266c95d69c..f98216427c1 100644 --- a/jdk/test/sun/management/jdp/JdpSpecificAddressTest.java +++ b/jdk/test/sun/management/jdp/JdpSpecificAddressTest.java @@ -31,7 +31,7 @@ * @test JdpSpecificAddressTest * @summary Assert that we can read JDP packets from a multicast socket connection, on specific IP and port. * @library /lib/testlibrary - * @modules java.management/sun.management.jdp + * @modules jdk.management.agent/sun.management.jdp * @build jdk.testlibrary.* ClientConnection JdpTestUtil JdpTestCase JdpOnTestCase DynamicLauncher * @run main JdpSpecificAddressTest */ diff --git a/jdk/test/sun/management/jmxremote/LocalRMIServerSocketFactoryTest.java b/jdk/test/sun/management/jmxremote/LocalRMIServerSocketFactoryTest.java index 7e5f973d068..6179a33dc3b 100644 --- a/jdk/test/sun/management/jmxremote/LocalRMIServerSocketFactoryTest.java +++ b/jdk/test/sun/management/jmxremote/LocalRMIServerSocketFactoryTest.java @@ -28,7 +28,7 @@ * * @author Daniel Fuchs * - * @modules java.management/sun.management.jmxremote + * @modules jdk.management.agent/sun.management.jmxremote * @run compile -XDignore.symbol.file=true -g LocalRMIServerSocketFactoryTest.java * @run main LocalRMIServerSocketFactoryTest */ diff --git a/jdk/test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java b/jdk/test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java index 0a27bf70482..0e1ebcf5319 100644 --- a/jdk/test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java +++ b/jdk/test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java @@ -41,8 +41,7 @@ import jdk.testlibrary.ProcessTools; * @test * @bug 6434402 8004926 * @library /lib/testlibrary - * @modules java.management/sun.management - * java.management + * @modules jdk.management.agent/jdk.internal.agent * @build jdk.testlibrary.* * @build TestManager TestApplication CustomLauncherTest * @run main/othervm CustomLauncherTest @@ -147,7 +146,7 @@ public class CustomLauncherTest { ProcessBuilder client = ProcessTools.createJavaProcessBuilder( "-cp", TEST_CLASSPATH, - "--add-exports", "java.management/sun.management=ALL-UNNAMED", + "--add-exports", "jdk.management.agent/jdk.internal.agent=ALL-UNNAMED", "TestManager", String.valueOf(serverPrc.getPid()), port.get(), diff --git a/jdk/test/sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java b/jdk/test/sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java index d3b5f13d3a6..a7ed6e4fdfc 100644 --- a/jdk/test/sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java +++ b/jdk/test/sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java @@ -48,8 +48,8 @@ import jdk.testlibrary.ProcessTools; * @summary Test JMX agent host address binding. Same ports but different * interfaces to bind to (using plain sockets and SSL sockets). * - * @modules java.management/sun.management - * java.management/sun.management.jmxremote + * @modules jdk.management.agent/jdk.internal.agent + * jdk.management.agent/sun.management.jmxremote * @library /lib/testlibrary * @build jdk.testlibrary.* JMXAgentInterfaceBinding * @run main/timeout=5 JMXInterfaceBindingTest diff --git a/jdk/test/sun/management/jmxremote/bootstrap/JvmstatCountersTest.java b/jdk/test/sun/management/jmxremote/bootstrap/JvmstatCountersTest.java index 80f74b37ce3..f731c07245e 100644 --- a/jdk/test/sun/management/jmxremote/bootstrap/JvmstatCountersTest.java +++ b/jdk/test/sun/management/jmxremote/bootstrap/JvmstatCountersTest.java @@ -27,7 +27,7 @@ * @summary Tests that the jvmstat counters published by the out-of-the-box * management agent for the JMX connection details are correct. * @author Luis-Miguel Alventosa - * @modules java.management/sun.management + * @modules jdk.management.agent/jdk.internal.agent * @run clean JvmstatCountersTest * @run build JvmstatCountersTest * @run main/othervm/timeout=600 -XX:+UsePerfData JvmstatCountersTest 1 @@ -42,7 +42,7 @@ import java.util.*; import javax.management.*; import javax.management.remote.*; import com.sun.tools.attach.*; -import sun.management.ConnectorAddressLink; +import jdk.internal.agent.ConnectorAddressLink; public class JvmstatCountersTest { diff --git a/jdk/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java b/jdk/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java index 28f5cb34661..ae935f3edea 100644 --- a/jdk/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java +++ b/jdk/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java @@ -38,7 +38,7 @@ import jdk.testlibrary.Utils; * without connection or username/password details. * TestManager will attempt a connection to the address obtained from * both agent properties and jvmstat buffer. - * @modules java.management/sun.management + * @modules jdk.management.agent/jdk.internal.agent * @build jdk.testlibrary.* TestManager TestApplication * @run main/othervm/timeout=300 LocalManagementTest */ @@ -131,7 +131,7 @@ public class LocalManagementTest { ProcessBuilder client = ProcessTools.createJavaProcessBuilder( "-cp", TEST_CLASSPATH, - "--add-exports", "java.management/sun.management=ALL-UNNAMED", + "--add-exports", "jdk.management.agent/jdk.internal.agent=ALL-UNNAMED", "TestManager", String.valueOf(serverPrc.getPid()), port.get(), diff --git a/jdk/test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.java b/jdk/test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.java index 1f653e371ba..22f18a48da5 100644 --- a/jdk/test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.java +++ b/jdk/test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.java @@ -28,7 +28,7 @@ import java.io.IOException; * @library /lib/testlibrary * @bug 6557093 * @summary Check SSL config file permission for out-of-the-box management - * @modules java.management + * @modules jdk.management.agent * @build jdk.testlibrary.* AbstractFilePermissionTest Dummy * @run main/timeout=300 PasswordFilePermissionTest * diff --git a/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.java b/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.java index abd1d8f0cb2..d8ff35256e3 100644 --- a/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.java +++ b/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.java @@ -40,7 +40,7 @@ import java.util.Enumeration; import javax.management.remote.*; import javax.management.*; -import sun.management.AgentConfigurationError; +import jdk.internal.agent.AgentConfigurationError; import java.security.Security; diff --git a/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh b/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh index 5b564809d08..d4da383d52b 100644 --- a/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh +++ b/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh @@ -28,9 +28,8 @@ # # @key intermittent # @library /lib/testlibrary -# @modules java.management/sun.management -# java.management/sun.management.jmxremote -# java.management +# @modules jdk.management.agent/jdk.internal.agent +# jdk.management.agent/sun.management.jmxremote # @build jdk.testlibrary.* TestLogger Utils RmiBootstrapTest # @run shell/timeout=300 RmiBootstrapTest.sh @@ -51,8 +50,8 @@ chmod -R 777 ${TESTCLASSES}/ssl DEBUGOPTIONS="" export DEBUGOPTIONS -EXTRAOPTIONS="--add-exports java.management/sun.management=ALL-UNNAMED \ - --add-exports java.management/sun.management.jmxremote=ALL-UNNAMED" +EXTRAOPTIONS="--add-exports jdk.management.agent/jdk.internal.agent=ALL-UNNAMED \ + --add-exports jdk.management.agent/sun.management.jmxremote=ALL-UNNAMED" export EXTRAOPTIONS # Call the common generic test diff --git a/jdk/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java b/jdk/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java index 6d27334cd07..f1110063c34 100644 --- a/jdk/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java +++ b/jdk/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java @@ -42,7 +42,7 @@ import java.util.regex.Pattern; * @library /lib/testlibrary * @bug 6228231 * @summary Test that RMI registry uses SSL. - * @modules java.management + * @modules jdk.management.agent * @build jdk.testlibrary.* RmiRegistrySslTestApp * @run main/timeout=300 RmiRegistrySslTest * @author Luis-Miguel Alventosa, Taras Ledkov diff --git a/jdk/test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh b/jdk/test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh index 539328e659a..cd1fde0a39a 100644 --- a/jdk/test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh +++ b/jdk/test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh @@ -27,8 +27,8 @@ # @summary Test RMI Bootstrap with SSL # # @library /lib/testlibrary -# @modules java.management/sun.management -# java.management/sun.management.jmxremote +# @modules jdk.management.agent/jdk.internal.agent +# jdk.management.agent/sun.management.jmxremote # @build jdk.testlibrary.* TestLogger Utils RmiBootstrapTest # @run shell/timeout=300 RmiSslBootstrapTest.sh @@ -49,8 +49,8 @@ chmod -R 777 ${TESTCLASSES}/ssl DEBUGOPTIONS="" export DEBUGOPTIONS -EXTRAOPTIONS="--add-exports java.management/sun.management=ALL-UNNAMED \ - --add-exports java.management/sun.management.jmxremote=ALL-UNNAMED" +EXTRAOPTIONS="--add-exports jdk.management.agent/jdk.internal.agent=ALL-UNNAMED \ + --add-exports jdk.management.agent/sun.management.jmxremote=ALL-UNNAMED" export EXTRAOPTIONS # Call the common generic test diff --git a/jdk/test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.java b/jdk/test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.java index d551a1d6ed0..2642ef9e267 100644 --- a/jdk/test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.java +++ b/jdk/test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.java @@ -43,7 +43,7 @@ import java.util.Enumeration; import javax.management.remote.*; import javax.management.*; -import sun.management.AgentConfigurationError; +import jdk.internal.agent.AgentConfigurationError; /** *

This class implements unit test for RMI Bootstrap. diff --git a/jdk/test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.sh b/jdk/test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.sh index 6152efc59e1..5b88d90e75d 100644 --- a/jdk/test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.sh +++ b/jdk/test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.sh @@ -26,8 +26,8 @@ # @summary Test RMI Bootstrap with SSL and no keystore. # # @bug 4932854 -# @modules java.management/sun.management -# java.management/sun.management.jmxremote +# @modules jdk.management.agent/jdk.internal.agent +# jdk.management.agent/sun.management.jmxremote # @build TestLogger RmiSslNoKeyStoreTest # @run shell/timeout=300 RmiSslNoKeyStoreTest.sh @@ -48,8 +48,8 @@ chmod -R 777 ${TESTCLASSES}/ssl DEBUGOPTIONS="" export DEBUGOPTIONS -EXTRAOPTIONS="--add-exports java.management/sun.management=ALL-UNNAMED \ - --add-exports java.management/sun.management.jmxremote=ALL-UNNAMED" +EXTRAOPTIONS="--add-exports jdk.management.agent/jdk.internal.agent=ALL-UNNAMED \ + --add-exports jdk.management.agent/sun.management.jmxremote=ALL-UNNAMED" export EXTRAOPTIONS # Call the common generic test diff --git a/jdk/test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.java b/jdk/test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.java index a1cd99dc622..749d927adeb 100644 --- a/jdk/test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.java +++ b/jdk/test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.java @@ -27,7 +27,7 @@ import java.io.IOException; * @test * @library /lib/testlibrary * @bug 6557093 - * @modules java.management + * @modules jdk.management.agent * @build jdk.testlibrary.* Dummy AbstractFilePermissionTest * @summary Check SSL config file permission for out-of-the-box management * @run main/timeout=300 SSLConfigFilePermissionTest diff --git a/jdk/test/sun/management/jmxremote/bootstrap/TestManager.java b/jdk/test/sun/management/jmxremote/bootstrap/TestManager.java index 76b43249df8..2d02d4c8423 100644 --- a/jdk/test/sun/management/jmxremote/bootstrap/TestManager.java +++ b/jdk/test/sun/management/jmxremote/bootstrap/TestManager.java @@ -46,7 +46,7 @@ import java.io.IOException; import com.sun.tools.attach.VirtualMachine; // Sun implementation specific -import sun.management.ConnectorAddressLink; +import jdk.internal.agent.ConnectorAddressLink; public class TestManager { diff --git a/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java b/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java index 6348de21ef7..4bdc9496e84 100644 --- a/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java +++ b/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java @@ -46,14 +46,15 @@ import javax.net.ssl.SSLHandshakeException; import jdk.testlibrary.ProcessTools; import jdk.testlibrary.Utils; -import sun.management.Agent; -import sun.management.AgentConfigurationError; +import jdk.internal.agent.Agent; +import jdk.internal.agent.AgentConfigurationError; +import jdk.internal.agent.ConnectorAddressLink; /** * @test * @bug 7110104 * @library /lib/testlibrary - * @modules java.management/sun.management + * @modules jdk.management.agent/jdk.internal.agent * @build jdk.testlibrary.* JMXStartStopTest PortAllocator TestApp ManagementAgentJcmd * @run main/othervm/timeout=600 -XX:+UsePerfData JMXStartStopTest * @summary Makes sure that enabling/disabling the management agent through JCMD @@ -103,7 +104,7 @@ public class JMXStartStopTest { String jmxUrlStr = null; try { - jmxUrlStr = sun.management.ConnectorAddressLink.importFrom((int)pid); + jmxUrlStr = ConnectorAddressLink.importFrom((int)pid); dbg_print("Local Service URL: " +jmxUrlStr); if ( jmxUrlStr == null ) { throw new Exception("No Service URL. Local agent not started?"); diff --git a/jdk/test/sun/management/jmxremote/startstop/JMXStatusPerfCountersTest.java b/jdk/test/sun/management/jmxremote/startstop/JMXStatusPerfCountersTest.java index e7545558621..2fb8ef6fe4c 100644 --- a/jdk/test/sun/management/jmxremote/startstop/JMXStatusPerfCountersTest.java +++ b/jdk/test/sun/management/jmxremote/startstop/JMXStatusPerfCountersTest.java @@ -42,7 +42,7 @@ import jdk.testlibrary.ProcessTools; * in the related performance counters. * @key intermittent * @library /lib/testlibrary - * @modules java.management/sun.management + * @modules jdk.management.agent/jdk.internal.agent * @build jdk.testlibrary.* PortAllocator TestApp ManagementAgentJcmd * @run testng/othervm -XX:+UsePerfData JMXStatusPerfCountersTest */ diff --git a/jdk/test/sun/management/jmxremote/startstop/JMXStatusTest.java b/jdk/test/sun/management/jmxremote/startstop/JMXStatusTest.java index 5de4986742b..31c96c3407e 100644 --- a/jdk/test/sun/management/jmxremote/startstop/JMXStatusTest.java +++ b/jdk/test/sun/management/jmxremote/startstop/JMXStatusTest.java @@ -38,7 +38,7 @@ import jdk.testlibrary.ProcessTools; * Management agent may be disabled, started (only local connections) and started. * The test asserts that the expected text is being printed. * @library /lib/testlibrary - * @modules java.management/sun.management + * @modules jdk.management.agent/jdk.internal.agent * @build jdk.testlibrary.* PortAllocator TestApp ManagementAgentJcmd * JMXStatusTest JMXStatus1Test JMXStatus2Test * @run testng/othervm -XX:+UsePerfData JMXStatus1Test diff --git a/jdk/test/sun/management/jmxremote/startstop/ManagementAgentJcmd.java b/jdk/test/sun/management/jmxremote/startstop/ManagementAgentJcmd.java index d2f231cdfc0..5a139bff815 100644 --- a/jdk/test/sun/management/jmxremote/startstop/ManagementAgentJcmd.java +++ b/jdk/test/sun/management/jmxremote/startstop/ManagementAgentJcmd.java @@ -30,8 +30,8 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Consumer; import java.util.regex.Pattern; import java.util.stream.Collectors; -import sun.management.Agent; -import sun.management.AgentConfigurationError; +import jdk.internal.agent.Agent; +import jdk.internal.agent.AgentConfigurationError; import jdk.testlibrary.JDKToolLauncher; import jdk.testlibrary.ProcessTools;