mc4j-cvs Mailing List for MC4J JMX Console (Page 2)
Brought to you by:
ghinkl
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
(7) |
Apr
(135) |
May
(32) |
Jun
(34) |
Jul
|
Aug
|
Sep
(7) |
Oct
(139) |
Nov
(11) |
Dec
(5) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(34) |
Feb
(1) |
Mar
(12) |
Apr
|
May
(87) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(27) |
Nov
(49) |
Dec
(13) |
2006 |
Jan
|
Feb
|
Mar
|
Apr
(252) |
May
(16) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
(2) |
Apr
(2) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(3) |
Oct
|
Nov
(1) |
Dec
|
2009 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
(2) |
Jul
(15) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(6) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(1) |
Nov
|
Dec
|
From: <jma...@us...> - 2009-07-15 16:41:56
|
Revision: 604 http://mc4j.svn.sourceforge.net/mc4j/?rev=604&view=rev Author: jmazzitelli Date: 2009-07-15 16:41:50 +0000 (Wed, 15 Jul 2009) Log Message: ----------- support secure connections to websphere Modified Paths: -------------- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/WebsphereConnectionProvider.java Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/WebsphereConnectionProvider.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/WebsphereConnectionProvider.java 2009-07-14 20:26:21 UTC (rev 603) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/WebsphereConnectionProvider.java 2009-07-15 16:41:50 UTC (rev 604) @@ -116,7 +116,7 @@ Properties props = new Properties(); URI serverUrl = new URI(connectionSettings.getServerUrl()); - if (serverUrl.getScheme().equalsIgnoreCase("http")) { + if (serverUrl.getScheme().equalsIgnoreCase("http") || serverUrl.getScheme().equalsIgnoreCase("https")) { System.setProperty("javax.net.debug", "ssl,handshake,data,trustmanager"); //Security.addProvider(new sun.security.provider.Sun()); System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol"); @@ -129,11 +129,18 @@ getConstant(adminClientClass, "CONNECTOR_TYPE"), getConstant(adminClientClass, "CONNECTOR_TYPE_RMI")); } - props.setProperty( - getConstant(adminClientClass, "CONNECTOR_SECURITY_ENABLED"), "false"); + String username = connectionSettings.getPrincipal(); + String password = connectionSettings.getCredentials(); + boolean security = ((username != null) && (!"".equals(username))); + if (security) { + props.setProperty(getConstant(adminClientClass, "CONNECTOR_SECURITY_ENABLED"), "true"); + props.setProperty(getConstant(adminClientClass, "USERNAME"), username); + props.setProperty(getConstant(adminClientClass, "PASSWORD"), password); + } else { + props.setProperty(getConstant(adminClientClass, "CONNECTOR_SECURITY_ENABLED"), "false"); + } - props.put( getConstant(adminClientClass, "CONNECTOR_HOST"), serverUrl.getHost()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2009-07-14 20:26:24
|
Revision: 603 http://mc4j.svn.sourceforge.net/mc4j/?rev=603&view=rev Author: ianpspringer Date: 2009-07-14 20:26:21 +0000 (Tue, 14 Jul 2009) Log Message: ----------- tag for EMS 1.2.9 Added Paths: ----------- tags/ems_1_2_9/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2009-07-14 20:25:43
|
Revision: 602 http://mc4j.svn.sourceforge.net/mc4j/?rev=602&view=rev Author: ianpspringer Date: 2009-07-14 20:25:40 +0000 (Tue, 14 Jul 2009) Log Message: ----------- add new mc4j.ems.UseContextClassLoader connection option and bump version up to 1.2.9 Modified Paths: -------------- trunk/mc4j/modules/ems/build.xml trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/ConnectionFactory.java trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java Modified: trunk/mc4j/modules/ems/build.xml =================================================================== --- trunk/mc4j/modules/ems/build.xml 2009-07-10 21:39:37 UTC (rev 601) +++ trunk/mc4j/modules/ems/build.xml 2009-07-14 20:25:40 UTC (rev 602) @@ -30,7 +30,7 @@ <property name="module.jar" value="org-mc4j-ems.jar"/> - <property name="release.version" value="1.2.8"/> + <property name="release.version" value="1.2.9"/> <target @@ -168,8 +168,9 @@ <attribute name="Implementation-Version" value="${release.version}"/> <attribute name="Implementation-URL" value="http://mc4j.org/"/> </manifest> - </jar> - + </jar> + <copy file="classes/main/org-mc4j-ems-impl.jar" todir="dist"/> + <jar jarfile="dist/org-mc4j-ems.jar" update="true" compress="false"> <fileset dir="classes/main"/> <fileset dir="${basedir}" includes="lib/*.jar"/> Modified: trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/ConnectionFactory.java =================================================================== --- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/ConnectionFactory.java 2009-07-10 21:39:37 UTC (rev 601) +++ trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/ConnectionFactory.java 2009-07-14 20:25:40 UTC (rev 602) @@ -61,6 +61,7 @@ public static final String JAR_TEMP_DIR = "mc4j.ems.JarTempDir"; + public static final String USE_CONTEXT_CLASSLOADER="mc4j.ems.UseContextClassLoader"; private boolean broadSearch = false; private int searchDepth = DEFAULT_SEARCH_DEPTH; Modified: trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java =================================================================== --- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java 2009-07-10 21:39:37 UTC (rev 601) +++ trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java 2009-07-14 20:25:40 UTC (rev 602) @@ -175,6 +175,11 @@ public ClassLoader buildClassLoader(ConnectionSettings settings) { + Boolean useContextClassLoader = Boolean.valueOf(settings.getAdvancedProperties().getProperty(ConnectionFactory.USE_CONTEXT_CLASSLOADER, "false")); + if (useContextClassLoader.booleanValue()) { + return Thread.currentThread().getContextClassLoader(); + } + String tempDirString = (String) settings.getControlProperties().get(ConnectionFactory.JAR_TEMP_DIR); File tempDir = null; if (tempDirString != null) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2009-07-10 21:39:39
|
Revision: 601 http://mc4j.svn.sourceforge.net/mc4j/?rev=601&view=rev Author: ianpspringer Date: 2009-07-10 21:39:37 +0000 (Fri, 10 Jul 2009) Log Message: ----------- EMS 1.2.8 release Added Paths: ----------- tags/ems_1_2_8/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2009-07-10 21:39:22
|
Revision: 600 http://mc4j.svn.sourceforge.net/mc4j/?rev=600&view=rev Author: ianpspringer Date: 2009-07-10 21:39:13 +0000 (Fri, 10 Jul 2009) Log Message: ----------- add some missing deps; change JDK and language versions to 1.5 Modified Paths: -------------- trunk/mc4j/MC4J.iml trunk/mc4j/MC4JProject.ipr trunk/mc4j/MC4JProject.iws trunk/mc4j/modules/ems/ems.iml Modified: trunk/mc4j/MC4J.iml =================================================================== --- trunk/mc4j/MC4J.iml 2009-07-10 21:35:14 UTC (rev 599) +++ trunk/mc4j/MC4J.iml 2009-07-10 21:39:13 UTC (rev 600) @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<module version="4" relativePaths="false" type="JAVA_MODULE"> - <component name="ModuleRootManager" /> - <component name="NewModuleRootManager"> +<module relativePaths="false" type="JAVA_MODULE" version="4"> + <component name="NewModuleRootManager" inherit-compiler-output="false"> <output url="file://$MODULE_DIR$/classes" /> <exclude-output /> <content url="file://$MODULE_DIR$"> @@ -81,7 +80,7 @@ <root url="jar://$MODULE_DIR$/lib/common/jfreechart-1.0.1.jar!/" /> </CLASSES> <JAVADOC> - <root url="http://www.jfree.org/jfreechart/api/gjdoc/" /> + <root url="http://www.jfree.org/jfreechart/api/gjdoc" /> </JAVADOC> <SOURCES /> </library> @@ -95,7 +94,11 @@ <SOURCES /> </library> </orderEntry> - <orderEntryProperties /> </component> + <component name="copyright"> + <Base> + <setting name="state" value="2" /> + </Base> + </component> </module> Modified: trunk/mc4j/MC4JProject.ipr =================================================================== --- trunk/mc4j/MC4JProject.ipr 2009-07-10 21:35:14 UTC (rev 599) +++ trunk/mc4j/MC4JProject.ipr 2009-07-10 21:39:13 UTC (rev 600) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<project version="4" relativePaths="true"> +<project relativePaths="true" version="4"> <component name="AntConfiguration"> <defaultAnt bundledAnt="true" /> <buildFile url="file://$PROJECT_DIR$/build.xml"> @@ -7,6 +7,7 @@ <antReference projectDefault="true" /> <customJdkName value="1.6" /> <maximumHeapSize value="128" /> + <maximumStackSize value="32" /> <properties /> </buildFile> <buildFile url="file://$PROJECT_DIR$/modules/ems/build.xml"> @@ -14,6 +15,7 @@ <antReference projectDefault="true" /> <customJdkName value="" /> <maximumHeapSize value="128" /> + <maximumStackSize value="32" /> <properties /> </buildFile> </component> @@ -42,10 +44,80 @@ <option name="LABEL_INDENT_ABSOLUTE" value="false" /> </value> </option> + <ADDITIONAL_INDENT_OPTIONS fileType="groovy"> + <option name="INDENT_SIZE" value="2" /> + <option name="CONTINUATION_INDENT_SIZE" value="8" /> + <option name="TAB_SIZE" value="4" /> + <option name="USE_TAB_CHARACTER" value="false" /> + <option name="SMART_TABS" value="false" /> + <option name="LABEL_INDENT_SIZE" value="0" /> + <option name="LABEL_INDENT_ABSOLUTE" value="false" /> + </ADDITIONAL_INDENT_OPTIONS> + <ADDITIONAL_INDENT_OPTIONS fileType="gsp"> + <option name="INDENT_SIZE" value="2" /> + <option name="CONTINUATION_INDENT_SIZE" value="8" /> + <option name="TAB_SIZE" value="4" /> + <option name="USE_TAB_CHARACTER" value="false" /> + <option name="SMART_TABS" value="false" /> + <option name="LABEL_INDENT_SIZE" value="0" /> + <option name="LABEL_INDENT_ABSOLUTE" value="false" /> + </ADDITIONAL_INDENT_OPTIONS> + <ADDITIONAL_INDENT_OPTIONS fileType="java"> + <option name="INDENT_SIZE" value="4" /> + <option name="CONTINUATION_INDENT_SIZE" value="4" /> + <option name="TAB_SIZE" value="4" /> + <option name="USE_TAB_CHARACTER" value="false" /> + <option name="SMART_TABS" value="false" /> + <option name="LABEL_INDENT_SIZE" value="0" /> + <option name="LABEL_INDENT_ABSOLUTE" value="false" /> + </ADDITIONAL_INDENT_OPTIONS> + <ADDITIONAL_INDENT_OPTIONS fileType="js"> + <option name="INDENT_SIZE" value="4" /> + <option name="CONTINUATION_INDENT_SIZE" value="8" /> + <option name="TAB_SIZE" value="4" /> + <option name="USE_TAB_CHARACTER" value="false" /> + <option name="SMART_TABS" value="false" /> + <option name="LABEL_INDENT_SIZE" value="0" /> + <option name="LABEL_INDENT_ABSOLUTE" value="false" /> + </ADDITIONAL_INDENT_OPTIONS> + <ADDITIONAL_INDENT_OPTIONS fileType="jsp"> + <option name="INDENT_SIZE" value="4" /> + <option name="CONTINUATION_INDENT_SIZE" value="8" /> + <option name="TAB_SIZE" value="4" /> + <option name="USE_TAB_CHARACTER" value="false" /> + <option name="SMART_TABS" value="false" /> + <option name="LABEL_INDENT_SIZE" value="0" /> + <option name="LABEL_INDENT_ABSOLUTE" value="false" /> + </ADDITIONAL_INDENT_OPTIONS> + <ADDITIONAL_INDENT_OPTIONS fileType="sql"> + <option name="INDENT_SIZE" value="2" /> + <option name="CONTINUATION_INDENT_SIZE" value="8" /> + <option name="TAB_SIZE" value="4" /> + <option name="USE_TAB_CHARACTER" value="false" /> + <option name="SMART_TABS" value="false" /> + <option name="LABEL_INDENT_SIZE" value="0" /> + <option name="LABEL_INDENT_ABSOLUTE" value="false" /> + </ADDITIONAL_INDENT_OPTIONS> + <ADDITIONAL_INDENT_OPTIONS fileType="xml"> + <option name="INDENT_SIZE" value="4" /> + <option name="CONTINUATION_INDENT_SIZE" value="8" /> + <option name="TAB_SIZE" value="4" /> + <option name="USE_TAB_CHARACTER" value="false" /> + <option name="SMART_TABS" value="false" /> + <option name="LABEL_INDENT_SIZE" value="0" /> + <option name="LABEL_INDENT_ABSOLUTE" value="false" /> + </ADDITIONAL_INDENT_OPTIONS> </value> </option> <option name="USE_PER_PROJECT_SETTINGS" value="true" /> </component> + <component name="ColorBrowser"> + <indexHtml>0</indexHtml> + <indexColor>0</indexColor> + <indexColorUIResource>0</indexColorUIResource> + <hexUppercase>N</hexUppercase> + <lastColor>-12871288</lastColor> + </component> <component name="CompilerConfiguration"> <option name="DEFAULT_COMPILER" value="Javac" /> <option name="DEPLOY_AFTER_MAKE" value="0" /> @@ -63,13 +135,15 @@ <entry name="?*.jpg" /> </wildcardResourcePatterns> </component> - <component name="CoverageDataManager" /> - <component name="DataSourceManager" /> - <component name="DataSourceManagerImpl" /> + <component name="CopyrightManager" default=""> + <module2copyright /> + </component> <component name="DependenciesAnalyzeManager"> <option name="myForwardDirection" value="false" /> </component> - <component name="DependencyValidationManager" /> + <component name="DependencyValidationManager"> + <option name="SKIP_IMPORT_STATEMENTS" value="false" /> + </component> <component name="EclipseCompilerSettings"> <option name="DEBUGGING_INFO" value="true" /> <option name="GENERATE_NO_WARNINGS" value="true" /> @@ -90,19 +164,69 @@ <option name="NEW_SESSION_BEAN_LAST_PACKAGE" value="" /> </component> <component name="EjbManager" enabled="false" /> + <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" /> <component name="EntryPointsManager"> - <entry_points /> + <entry_points version="2.0" /> </component> <component name="ExportToHTMLSettings"> <option name="PRINT_LINE_NUMBERS" value="true" /> <option name="OPEN_IN_BROWSER" value="true" /> <option name="OUTPUT_DIRECTORY" value="C:\projects\mc4j\mc4j\exportToHTML" /> </component> - <component name="GUI Designer component loader factory" /> <component name="IdProvider" IDEtalkID="C140C6D456661C4C2FD16D8C7971265F" /> <component name="InspectionProjectProfileManager"> <option name="PROJECT_PROFILE" value="Project Default" /> - <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" /> + <option name="USE_PROJECT_PROFILE" value="true" /> + <version value="1.0" /> + <profiles> + <profile version="1.0" is_locked="false"> + <option name="myName" value="Project Default" /> + <option name="myLocal" value="false" /> + <inspection_tool class="EqualsAndHashcode" enabled="true" level="WARNING" enabled_by_default="true" /> + <inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true"> + <option name="TOP_LEVEL_CLASS_OPTIONS"> + <value> + <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" /> + <option name="REQUIRED_TAGS" value="" /> + </value> + </option> + <option name="INNER_CLASS_OPTIONS"> + <value> + <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" /> + <option name="REQUIRED_TAGS" value="" /> + </value> + </option> + <option name="METHOD_OPTIONS"> + <value> + <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" /> + <option name="REQUIRED_TAGS" value="@return@param@throws or @exception" /> + </value> + </option> + <option name="FIELD_OPTIONS"> + <value> + <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" /> + <option name="REQUIRED_TAGS" value="" /> + </value> + </option> + <option name="IGNORE_DEPRECATED" value="false" /> + <option name="IGNORE_JAVADOC_PERIOD" value="true" /> + <option name="myAdditionalJavadocTags" value="hq-equiv" /> + </inspection_tool> + <inspection_tool class="JavadocReference" enabled="true" level="WARNING" enabled_by_default="true" /> + <inspection_tool class="UNCHECKED_WARNING" enabled="false" level="WARNING" enabled_by_default="false" /> + <inspection_tool class="UnnecessaryLocalVariableJS" enabled="false" level="WARNING" enabled_by_default="false"> + <option name="m_ignoreImmediatelyReturnedVariables" value="false" /> + <option name="m_ignoreAnnotatedVariables" value="false" /> + </inspection_tool> + <inspection_tool class="UnnecessaryReturn" enabled="false" level="WARNING" enabled_by_default="false" /> + </profile> + </profiles> + <list size="4"> + <item index="0" class="java.lang.String" itemvalue="INFO" /> + <item index="1" class="java.lang.String" itemvalue="WARNING" /> + <item index="2" class="java.lang.String" itemvalue="ERROR" /> + <item index="3" class="java.lang.String" itemvalue="SERVER PROBLEM" /> + </list> </component> <component name="JUnitProjectSettings"> <option name="TEST_RUNNER" value="UI" /> @@ -128,6 +252,7 @@ <option name="OPTION_DEPRECATED_LIST" value="true" /> <option name="OTHER_OPTIONS" value="" /> <option name="HEAP_SIZE" /> + <option name="LOCALE" /> <option name="OPEN_IN_BROWSER" value="true" /> </component> <component name="JikesSettings"> @@ -155,7 +280,7 @@ <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false"> <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" /> </item> - <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="false"> + <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true"> <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" /> </item> <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false"> @@ -265,14 +390,27 @@ </item> </group> </component> + <component name="ProjectDetails"> + <option name="projectName" value="MC4JProject" /> + </component> + <component name="ProjectFileVersion" converted="true" /> + <component name="ProjectKey"> + <option name="state" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/trunk/mc4j/MC4JProject.ipr" /> + </component> <component name="ProjectModuleManager"> <modules> <module fileurl="file://$PROJECT_DIR$/MC4J.iml" filepath="$PROJECT_DIR$/MC4J.iml" /> <module fileurl="file://$PROJECT_DIR$/modules/ems/ems.iml" filepath="$PROJECT_DIR$/modules/ems/ems.iml" /> </modules> </component> - <component name="ProjectRootManager" version="2" assert-keyword="true" jdk-15="true" project-jdk-name="1.5.0_06" /> - <component name="ProjectRunConfigurationManager" /> + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_5" assert-keyword="true" jdk-15="true" project-jdk-name="1.5" project-jdk-type="JavaSDK" /> + <component name="ResourceManagerContainer"> + <option name="myResourceBundles"> + <value> + <list size="0" /> + </value> + </option> + </component> <component name="RmicSettings"> <option name="IS_EANABLED" value="false" /> <option name="DEBUGGING_INFO" value="true" /> @@ -280,10 +418,190 @@ <option name="GENERATE_IIOP_STUBS" value="false" /> <option name="ADDITIONAL_OPTIONS_STRING" value="" /> </component> + <component name="SvnBranchConfigurationManager"> + <option name="myConfigurationMap"> + <map> + <entry key="$PROJECT_DIR$"> + <value> + <SvnBranchConfiguration> + <option name="branchMap"> + <map> + <entry key="https://mc4j.svn.sourceforge.net/svnroot/mc4j/branches"> + <value> + <list> + <SvnBranchItem> + <option name="creationDateMillis" value="1144866332000" /> + <option name="revision" value="569" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/branches/ems_module_separation" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1047363670000" /> + <option name="revision" value="96" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/branches/exp_dashboards_1_2" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1030379144000" /> + <option name="revision" value="4" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/branches/sapient" /> + </SvnBranchItem> + </list> + </value> + </entry> + <entry key="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags"> + <value> + <list> + <SvnBranchItem> + <option name="creationDateMillis" value="1245095651582" /> + <option name="revision" value="598" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/ems_1_2_7" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1243367173254" /> + <option name="revision" value="596" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/ems_1_2_6" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1221506102642" /> + <option name="revision" value="591" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/ems_1_2_3" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1205425967478" /> + <option name="revision" value="587" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/ems_1_2_1" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1183686238447" /> + <option name="revision" value="584" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/ems_1_1_7" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1144778221000" /> + <option name="revision" value="563" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/ems_1_0_9" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1134396852000" /> + <option name="revision" value="560" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/ems_1_0_5" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1132257469000" /> + <option name="revision" value="558" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/ems_1_0_4" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1132072252000" /> + <option name="revision" value="553" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/ems_1_0_2" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1131587704000" /> + <option name="revision" value="550" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/ems_1_0" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1110817125000" /> + <option name="revision" value="545" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/mc4j1_2_b9" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1106144280000" /> + <option name="revision" value="535" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/mc4j1_2_b8" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1097765780000" /> + <option name="revision" value="501" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/mc4j1_2_b7_1" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1097672754000" /> + <option name="revision" value="499" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/mc4j1_2_b7" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1096949305000" /> + <option name="revision" value="479" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/PRE_APL" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1081475656000" /> + <option name="revision" value="381" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/mc4j1_2_b5" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1076991003000" /> + <option name="revision" value="283" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/PRE_NB36" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1068584429000" /> + <option name="revision" value="231" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/mc4j1_2_b3" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1055058304000" /> + <option name="revision" value="193" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/mc4j1_2_b1" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1048101936000" /> + <option name="revision" value="104" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/PRE_NB35" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1032387613000" /> + <option name="revision" value="80" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/mc4j1_1_0" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1030678072000" /> + <option name="revision" value="35" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/mc4j1_0_2" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1030394365000" /> + <option name="revision" value="9" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/mc4j1_0_0" /> + </SvnBranchItem> + <SvnBranchItem> + <option name="creationDateMillis" value="1030379161000" /> + <option name="revision" value="6" /> + <option name="url" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags/initialrelease" /> + </SvnBranchItem> + </list> + </value> + </entry> + </map> + </option> + <option name="branchUrls"> + <list> + <option value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/branches" /> + <option value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/tags" /> + </list> + </option> + <option name="trunkUrl" value="https://mc4j.svn.sourceforge.net/svnroot/mc4j/trunk" /> + </SvnBranchConfiguration> + </value> + </entry> + </map> + </option> + <option name="myVersion" value="124" /> + <option name="mySupportsUserInfoFilter" value="true" /> + </component> + <component name="VcsDirectoryMappings"> + <mapping directory="" vcs="svn" /> + </component> <component name="WebManager"> <option enabled="false" /> </component> - <component name="WebRootContainer" /> + <component name="WebServicesPlugin" addRequiredLibraries="true" /> + <component name="copyright"> + <Base> + <setting name="state" value="2" /> + </Base> + </component> <component name="libraryTable"> <library name="UtilConcurrent"> <CLASSES> @@ -340,7 +658,7 @@ </CLASSES> <JAVADOC /> <SOURCES> - <root url="file://C:/temp/jfreechart-0.9.18/src" /> + <root url="file://$PROJECT_DIR$/../../temp/jfreechart-0.9.18/src" /> </SOURCES> </library> <library name="NetBeans"> @@ -475,6 +793,5 @@ <option name="IRIDA_LAYOUT_MODE" value="false" /> <option name="DEFAULT_LAYOUT_MANAGER" value="GridLayoutManager" /> </component> - <UsedPathMacros /> </project> Modified: trunk/mc4j/MC4JProject.iws =================================================================== --- trunk/mc4j/MC4JProject.iws 2009-07-10 21:35:14 UTC (rev 599) +++ trunk/mc4j/MC4JProject.iws 2009-07-10 21:39:13 UTC (rev 600) @@ -1,7 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<project version="4" relativePaths="true"> - <component name="AspectsView" /> - <component name="BookmarkManager" /> +<project relativePaths="true" version="4"> <component name="BuildServerSettings"> <option name="USER_ID" value="-1" /> <option name="SERVER_URL" value="http://buildserver" /> @@ -9,6 +7,20 @@ <option name="SHOW_MODIFIED_ONLY" value="false" /> <option name="LOGIN" value="" /> </component> + <component name="CCaseConfig"> + <option name="checkoutReserved" value="false" /> + <option name="markExternalChangeAsUpToDate" value="true" /> + <option name="checkInUseHijack" value="true" /> + <option name="useUcmModel" value="true" /> + <option name="isOffline" value="false" /> + <option name="synchOutside" value="false" /> + <option name="isHistoryResticted" value="true" /> + <option name="useIdenticalSwitch" value="true" /> + <option name="synchActivitiesOnRefresh" value="true" /> + <option name="lastScr" value="" /> + <option name="scrTextFileName" value="" /> + <option name="historyRevisionsNumber" value="4" /> + </component> <component name="ChangeBrowserSettings"> <option name="MAIN_SPLITTER_PROPORTION" value="0.3" /> <option name="MESSAGES_SPLITTER_PROPORTION" value="0.8" /> @@ -23,13 +35,19 @@ <option name="USE_USER_FILTER" value="false" /> <option name="USER" value="" /> </component> - <component name="ChangeListManager" flattened_view="true"> - <list default="true" name="Default" comment=""> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/MC4JProject.iml" /> + <component name="ChangeListManager"> + <list default="true" readonly="true" id="d2c3a4f5-2ade-4c0b-9c66-cd2e25e3b030" name="Default" comment=""> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java" afterPath="$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/MC4JProject.ipr" afterPath="$PROJECT_DIR$/MC4JProject.ipr" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java" afterPath="$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/modules/ems/build.xml" afterPath="$PROJECT_DIR$/modules/ems/build.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/MC4JProject.iws" afterPath="$PROJECT_DIR$/MC4JProject.iws" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/modules/ems/ems.iml" afterPath="$PROJECT_DIR$/modules/ems/ems.iml" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/LocalVMProvider.java" afterPath="$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/LocalVMProvider.java" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/MC4J.iml" afterPath="$PROJECT_DIR$/MC4J.iml" /> </list> </component> - <component name="CheckinPanelState" /> + <component name="ChangesViewManager" flattened_view="true" show_ignored="false" /> <component name="Commander"> <leftPanel /> <rightPanel /> @@ -43,6 +61,10 @@ <option name="CLEAR_OUTPUT_DIRECTORY" value="false" /> <option name="ASSERT_NOT_NULL" value="true" /> </component> + <component name="CreatePatchCommitExecutor"> + <option name="PATCH_PATH" value="" /> + <option name="REVERSE_PATCH" value="false" /> + </component> <component name="Cvs2Configuration"> <option name="PRUNE_EMPTY_DIRECTORIES" value="true" /> <option name="MERGING_MODE" value="0" /> @@ -160,7 +182,7 @@ <option name="NON_RECURSIVE" value="false" /> <option name="FORCE_RECURSIVE" value="false" /> </Editors> - <option name="CLIENT_PATH" value="C:/Program Files/GNU/WinCvs 1.3/CVSNT/cvs.exe" /> + <option name="CLIENT_PATH" value="$PROJECT_DIR$/../../Program Files/GNU/WinCvs 1.3/CVSNT/cvs.exe" /> <option name="EXTERNAL_DIFF_PATH" value="" /> <option name="USE_EXTERNAL_DIFF" value="false" /> <option name="WORKING_FILES_READONLY" value="false" /> @@ -183,7 +205,6 @@ <option name="HIDE_MISSING_FILES" value="false" /> <option name="HIDE_UP_TO_DATE_FILES" value="true" /> </component> - <component name="CvsTabbedWindow" /> <component name="CvsVcs"> <expanded_paths> <path value="$PROJECT_DIR$/installer/MC4J_INSTALL" /> @@ -240,7 +261,7 @@ <option name="INVERSE_CLASS_FILLTERS" value="false" /> <option name="SUSPEND_POLICY" value="SuspendAll" /> </breakpoint> - <breakpoint url="file://C:/src/netbeans-src/openide/src/org/openide/windows/TopComponent.java" line="422"> + <breakpoint url="file://$PROJECT_DIR$/../../src/netbeans-src/openide/src/org/openide/windows/TopComponent.java" line="422"> <option name="ENABLED" value="false" /> <option name="SUSPEND_VM" value="true" /> <option name="COUNT_FILTER_ENABLED" value="false" /> @@ -254,7 +275,7 @@ <option name="INVERSE_CLASS_FILLTERS" value="false" /> <option name="SUSPEND_POLICY" value="SuspendAll" /> </breakpoint> - <breakpoint url="file://C:/src/netbeans-src/openide/src/org/openide/windows/TopComponent.java" line="282"> + <breakpoint url="file://$PROJECT_DIR$/../../src/netbeans-src/openide/src/org/openide/windows/TopComponent.java" line="282"> <option name="ENABLED" value="false" /> <option name="SUSPEND_VM" value="true" /> <option name="COUNT_FILTER_ENABLED" value="false" /> @@ -378,9 +399,9 @@ <line_breakpoints> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/console/swing/editor/jmx/TabularDataEditor.java" line="95" class="org.mc4j.console.swing.editor.jmx.TabularDataEditor.TabularDataTablePanel" package="org.mc4j.console.swing.editor.jmx"> <option name="ENABLED" value="false" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -391,9 +412,9 @@ </breakpoint> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/console/swing/editor/jmx/TabularDataEditor.java" line="137" class="org.mc4j.console.swing.editor.jmx.TabularDataEditor.LinkingTableCellEditor" package="org.mc4j.console.swing.editor.jmx"> <option name="ENABLED" value="false" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -404,9 +425,9 @@ </breakpoint> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/console/dashboard/components/AttributeTableComponent.java" line="188" class="org.mc4j.console.dashboard.components.AttributeTableComponent" package="org.mc4j.console.dashboard.components"> <option name="ENABLED" value="true" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -417,9 +438,9 @@ </breakpoint> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/console/dashboard/components/AttributeTablePopupComponent.java" line="86" class="org.mc4j.console.dashboard.components.AttributeTablePopupComponent.PopupListener" package="org.mc4j.console.dashboard.components"> <option name="ENABLED" value="true" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -430,9 +451,9 @@ </breakpoint> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/console/dashboard/components/AttributeTablePopupComponent.java" line="84" class="org.mc4j.console.dashboard.components.AttributeTablePopupComponent.PopupListener" package="org.mc4j.console.dashboard.components"> <option name="ENABLED" value="true" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -443,9 +464,9 @@ </breakpoint> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/console/dashboard/components/NumericAttributeGraph.java" line="65" class="org.mc4j.console.dashboard.components.NumericAttributeGraph" package="org.mc4j.console.dashboard.components"> <option name="ENABLED" value="true" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -454,11 +475,11 @@ <option name="CONDITION" value="" /> <option name="LOG_MESSAGE" value="" /> </breakpoint> - <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/console/query/QueryNode.java" line="95" class="Class at QueryNode.java:95" package="org.mc4j.console.query"> + <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/console/query/QueryNode.java" line="95" class="org.mc4j.console.query.QueryNode$1" package="org.mc4j.console.query"> <option name="ENABLED" value="true" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -469,9 +490,9 @@ </breakpoint> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/console/dashboard/components/html/HtmlDashboardComponent.java" line="142" class="org.mc4j.console.dashboard.components.html.HtmlDashboardComponent" package="org.mc4j.console.dashboard.components.html"> <option name="ENABLED" value="true" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -482,9 +503,9 @@ </breakpoint> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/console/dashboard/match/MatchExecutor.java" line="112" class="org.mc4j.console.dashboard.match.MatchExecutor" package="org.mc4j.console.dashboard.match"> <option name="ENABLED" value="true" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -495,9 +516,9 @@ </breakpoint> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/console/dashboard/match/BeanObjectNameCondition.java" line="46" class="org.mc4j.console.dashboard.match.BeanObjectNameCondition" package="org.mc4j.console.dashboard.match"> <option name="ENABLED" value="true" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="true" /> @@ -508,9 +529,9 @@ </breakpoint> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/console/dashboard/DashboardFactory.java" line="300" class="org.mc4j.console.dashboard.DashboardFactory" package="org.mc4j.console.dashboard"> <option name="ENABLED" value="true" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -521,9 +542,9 @@ </breakpoint> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/console/dashboard/DashboardFactory.java" line="260" class="org.mc4j.console.dashboard.DashboardFactory" package="org.mc4j.console.dashboard"> <option name="ENABLED" value="true" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -534,9 +555,9 @@ </breakpoint> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/jre15/components/ThreadMBeanThreadBrowserComponent.java" line="137" class="org.mc4j.jre15.components.ThreadMBeanThreadBrowserComponent" package="org.mc4j.jre15.components"> <option name="ENABLED" value="true" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -547,9 +568,9 @@ </breakpoint> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/jre15/components/LogManager.java" line="77" class="org.mc4j.jre15.components.LogManager" package="org.mc4j.jre15.components"> <option name="ENABLED" value="true" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -560,9 +581,9 @@ </breakpoint> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/jre15/components/ThreadsViewComponent.java" line="141" class="org.mc4j.jre15.components.ThreadsViewComponent.ThreadDataGraphCellHeaderRenderer" package="org.mc4j.jre15.components"> <option name="ENABLED" value="true" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -573,9 +594,9 @@ </breakpoint> <breakpoint url="file://$PROJECT_DIR$/src/org/mc4j/jre15/components/LogManager.java" line="118" class="org.mc4j.jre15.components.LogManager" package="org.mc4j.jre15.components"> <option name="ENABLED" value="true" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -590,9 +611,9 @@ <option name="NOTIFY_CAUGHT" value="true" /> <option name="NOTIFY_UNCAUGHT" value="true" /> <option name="ENABLED" value="false" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -605,9 +626,9 @@ <option name="NOTIFY_CAUGHT" value="true" /> <option name="NOTIFY_UNCAUGHT" value="true" /> <option name="ENABLED" value="false" /> - <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="LOG_ENABLED" value="false" /> <option name="LOG_EXPRESSION_ENABLED" value="false" /> + <option name="SUSPEND_POLICY" value="SuspendAll" /> <option name="COUNT_FILTER_ENABLED" value="false" /> <option name="COUNT_FILTER" value="0" /> <option name="CONDITION_ENABLED" value="false" /> @@ -619,22 +640,22 @@ </breakpoint_any> <breakpoint_rules /> <ui_properties> + <property name="line_breakpoints_groupByMethods" value="false" /> + <property name="line_breakpoints_viewId" value="TABLE" /> <property name="exception_breakpoints_flattenPackages" value="true" /> + <property name="method_breakpoints_flattenPackages" value="true" /> + <property name="field_breakpoints_flattenPackages" value="true" /> + <property name="exception_breakpoints_groupByMethods" value="false" /> <property name="line_breakpoints_groupByClasses" value="true" /> - <property name="exception_breakpoints_groupByMethods" value="false" /> + <property name="field_breakpoints_groupByMethods" value="false" /> <property name="method_breakpoints_viewId" value="TABLE" /> - <property name="line_breakpoints_viewId" value="TABLE" /> - <property name="exception_breakpoints_groupByClasses" value="true" /> - <property name="method_breakpoints_groupByMethods" value="false" /> - <property name="field_breakpoints_flattenPackages" value="true" /> <property name="line_breakpoints_flattenPackages" value="true" /> + <property name="field_breakpoints_groupByClasses" value="true" /> + <property name="method_breakpoints_groupByClasses" value="true" /> <property name="exception_breakpoints_viewId" value="TABLE" /> - <property name="field_breakpoints_groupByClasses" value="true" /> - <property name="method_breakpoints_flattenPackages" value="true" /> + <property name="exception_breakpoints_groupByClasses" value="true" /> <property name="field_breakpoints_viewId" value="TABLE" /> - <property name="line_breakpoints_groupByMethods" value="false" /> - <property name="method_breakpoints_groupByClasses" value="true" /> - <property name="field_breakpoints_groupByMethods" value="false" /> + <property name="method_breakpoints_groupByMethods" value="false" /> </ui_properties> </component> <component name="DebuggerSettings"> @@ -726,102 +747,144 @@ </favorites_list> <option name="myCurrentFavoritesList" value="MC4JProject" /> </component> + <component name="FileColors" enabled="false" enabledForTabs="false" /> <component name="FileEditorManager"> <leaf> - <file leaf-file-name="ThreadsViewComponent.java" pinned="false" current="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/org/mc4j/jre15/components/ThreadsViewComponent.java"> + <file leaf-file-name="LocalVMProvider.java" pinned="false" current="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/LocalVMProvider.java"> <provider selected="true" editor-type-id="text-editor"> - <state line="14" column="3" selection-start="601" selection-end="601" vertical-scroll-proportion="0.0"> - <folding> - <element signature="imports" expanded="true" /> - </folding> + <state line="17" column="0" selection-start="663" selection-end="663" vertical-scroll-proportion="0.0"> + <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="build.xml" pinned="false" current="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/build.xml"> + <file leaf-file-name="JBossConnectionProvider.java" pinned="false" current="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java"> <provider selected="true" editor-type-id="text-editor"> - <state line="7" column="0" selection-start="52" selection-end="52" vertical-scroll-proportion="0.031894933"> + <state line="107" column="20" selection-start="4786" selection-end="4786" vertical-scroll-proportion="0.0"> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="Hibernate_Overview.xml" pinned="false" current="true" current-in-tab="true"> - <entry file="file://$PROJECT_DIR$/application/dashboards/hibernate/Hibernate_Overview.xml"> + <file leaf-file-name="WeblogicConnectionProvider.java" pinned="false" current="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/WeblogicConnectionProvider.java"> <provider selected="true" editor-type-id="text-editor"> - <state line="16" column="0" selection-start="705" selection-end="705" vertical-scroll-proportion="0.49635038"> + <state line="34" column="13" selection-start="1181" selection-end="1181" vertical-scroll-proportion="0.0"> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="JRE15_Deadlock.xml" pinned="false" current="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/application/dashboards/jre15/JRE15_Deadlock.xml"> + <file leaf-file-name="Context.java" pinned="false" current="false" current-in-tab="false"> + <entry file="jar://$PROJECT_DIR$/../../opt/jdk-1.5.0_19/src.zip!/javax/naming/Context.java"> <provider selected="true" editor-type-id="text-editor"> - <state line="14" column="13" selection-start="587" selection-end="587" vertical-scroll-proportion="0.43430656"> + <state line="829" column="11" selection-start="34798" selection-end="34798" vertical-scroll-proportion="0.0"> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="DashboardComponent.java" pinned="false" current="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/org/mc4j/console/dashboard/DashboardComponent.java"> + <file leaf-file-name="Configuration.java" pinned="false" current="false" current-in-tab="false"> + <entry file="jar://$PROJECT_DIR$/../../opt/jdk-1.6.0_14/src.zip!/javax/security/auth/login/Configuration.java"> <provider selected="true" editor-type-id="text-editor"> - <state line="27" column="17" selection-start="904" selection-end="904" vertical-scroll-proportion="0.34124088"> + <state line="283" column="23" selection-start="10909" selection-end="10909" vertical-scroll-proportion="0.0"> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="LogManager.java" pinned="false" current="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/org/mc4j/jre15/components/LogManager.java"> + <file leaf-file-name="JBossCallbackHandler.java" pinned="false" current="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/JBossCallbackHandler.java"> <provider selected="true" editor-type-id="text-editor"> - <state line="112" column="0" selection-start="3973" selection-end="3973" vertical-scroll-proportion="0.031894933"> - <folding> - <element signature="imports" expanded="true" /> - </folding> + <state line="23" column="13" selection-start="781" selection-end="781" vertical-scroll-proportion="0.0"> + <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="Level.java" pinned="false" current="false" current-in-tab="false"> - <entry file="jar://C:/jdk/jdk1.6.0/src.zip!/java/util/logging/Level.java"> + <file leaf-file-name="JBossConfiguration.java" pinned="false" current="true" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/JBossConfiguration.java"> <provider selected="true" editor-type-id="text-editor"> - <state line="21" column="0" selection-start="653" selection-end="762" vertical-scroll-proportion="0.031021899"> + <state line="51" column="15" selection-start="2015" selection-end="2015" vertical-scroll-proportion="1.271261"> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="ComboBoxCellEditor.class" pinned="false" current="false" current-in-tab="false"> - <entry file="jar://$PROJECT_DIR$/lib/common/swingx.jar!/org/jdesktop/swingx/autocomplete/ComboBoxCellEditor.class"> + <file leaf-file-name="Configuration.java" pinned="false" current="false" current-in-tab="false"> + <entry file="jar://$PROJECT_DIR$/../../opt/jdk-1.5.0_19/src.zip!/javax/security/auth/login/Configuration.java"> <provider selected="true" editor-type-id="text-editor"> - <state line="9" column="10" selection-start="433" selection-end="433" vertical-scroll-proportion="0.25515947"> + <state line="151" column="22" selection-start="6675" selection-end="6675" vertical-scroll-proportion="0.0"> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="TableCellEditor.java" pinned="false" current="false" current-in-tab="false"> - <entry file="jar://C:/jdk/jdk1.6.0/src.zip!/javax/swing/table/TableCellEditor.java"> + <file leaf-file-name="ConnectionSettings.java" pinned="false" current="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/modules/ems/src/ems/org/mc4j/ems/connection/settings/ConnectionSettings.java"> <provider selected="true" editor-type-id="text-editor"> - <state line="24" column="0" selection-start="583" selection-end="583" vertical-scroll-proportion="0.41970804"> + <state line="220" column="18" selection-start="6536" selection-end="6536" vertical-scroll-proportion="0.0"> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="LoggingMXBean.java" pinned="false" current="false" current-in-tab="false"> - <entry file="jar://C:/jdk/jdk1.6.0/src.zip!/java/util/logging/LoggingMXBean.java"> + <file leaf-file-name="ConnectionTypeDescriptor.java" pinned="false" current="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/modules/ems/src/ems/org/mc4j/ems/connection/support/metadata/ConnectionTypeDescriptor.java"> <provider selected="true" editor-type-id="text-editor"> - <state line="24" column="47" selection-start="865" selection-end="895" vertical-scroll-proportion="0.031021899"> + <state line="37" column="0" selection-start="1254" selection-end="1254" vertical-scroll-proportion="0.0"> <folding /> </state> </provider> </entry> </file> + <file leaf-file-name="JBossConnectionTypeDescriptor.java" pinned="false" current="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/modules/ems/src/ems/org/mc4j/ems/connection/support/metadata/JBossConnectionTypeDescriptor.java"> + <provider selected="true" editor-type-id="text-editor"> + <state line="48" column="18" selection-start="1434" selection-end="1434" vertical-scroll-proportion="0.0"> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="GenericMBeanServerProxy.java" pinned="false" current="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java"> + <provider selected="true" editor-type-id="text-editor"> + <state line="14" column="3" selection-start="601" selection-end="601" vertical-scroll-proportion="0.0"> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="AbstractConnectionProvider.java" pinned="false" current="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/AbstractConnectionProvider.java"> + <provider selected="true" editor-type-id="text-editor"> + <state line="37" column="22" selection-start="1466" selection-end="1466" vertical-scroll-proportion="0.0"> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="EmsConnection.java" pinned="false" current="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/modules/ems/src/ems/org/mc4j/ems/connection/EmsConnection.java"> + <provider selected="true" editor-type-id="text-editor"> + <state line="30" column="17" selection-start="1052" selection-end="1052" vertical-scroll-proportion="0.0"> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="DConnection.java" pinned="false" current="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/DConnection.java"> + <provider selected="true" editor-type-id="text-editor"> + <state line="262" column="69" selection-start="9377" selection-end="9377" vertical-scroll-proportion="0.0"> + <folding /> + </state> + </provider> + </entry> + </file> </leaf> </component> <component name="FindManager"> @@ -837,25 +900,24 @@ <component name="HighlightingSettingsPerFile"> <setting file="file://$PROJECT_DIR$/src/org/mc4j/console/dashboard/components/html/HtmlDashboardComponent.java" root0="SKIP_INSPECTION" /> </component> - <component name="InspectionManager"> - <option name="AUTOSCROLL_TO_SOURCE" value="false" /> - <option name="SPLITTER_PROPORTION" value="0.5" /> - <option name="GROUP_BY_SEVERITY" value="false" /> - <option name="FILTER_RESOLVED_ITEMS" value="true" /> - <option name="ANALYZE_TEST_SOURCES" value="true" /> - <option name="SHOW_DIFF_WITH_PREVIOUS_RUN" value="false" /> - <option name="SCOPE_TYPE" value="1" /> - <option name="CUSTOM_SCOPE_NAME" value="" /> - <option name="SHOW_ONLY_DIFF" value="false" /> - <option name="myCurrentProfileName" value="Default" /> + <component name="IdeDocumentHistory"> + <option name="changedFiles"> + <list> + <option value="$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/helper/NamePasswordCallbackHandler.java" /> + <option value="$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/jboss-auth.conf" /> + <option value="$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/JBossCallbackHandler.java" /> + <option value="$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/LocalVMProvider.java" /> + <option value="$PROJECT_DIR$/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java" /> + <option value="$PROJECT_DIR$/modules/ems/src/ems-impl/org... [truncated message content] |
From: <ian...@us...> - 2009-07-10 21:35:31
|
Revision: 599 http://mc4j.svn.sourceforge.net/mc4j/?rev=599&view=rev Author: ianpspringer Date: 2009-07-10 21:35:14 +0000 (Fri, 10 Jul 2009) Log Message: ----------- use JAAS to authenticate rather than JndiLoginInitialContextFactory+SecurityAssociation (part of fix for https://jira.jboss.org/jira/browse/JOPR-263); bump version up to 1.2.8 in preparation for a release Modified Paths: -------------- trunk/mc4j/modules/ems/build.xml trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/LocalVMProvider.java trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java Added Paths: ----------- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/JBossCallbackHandler.java trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/JBossConfiguration.java Modified: trunk/mc4j/modules/ems/build.xml =================================================================== --- trunk/mc4j/modules/ems/build.xml 2009-06-15 19:54:11 UTC (rev 598) +++ trunk/mc4j/modules/ems/build.xml 2009-07-10 21:35:14 UTC (rev 599) @@ -30,7 +30,7 @@ <property name="module.jar" value="org-mc4j-ems.jar"/> - <property name="release.version" value="1.2.7"/> + <property name="release.version" value="1.2.8"/> <target Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java 2009-06-15 19:54:11 UTC (rev 598) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java 2009-07-10 21:35:14 UTC (rev 599) @@ -1,5 +1,5 @@ /* - * Copyright 2002-2004 Greg Hinkle + * Copyright 2002-2009 Greg Hinkle * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,46 +13,46 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.mc4j.ems.impl.jmx.connection.support.providers; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.mc4j.ems.connection.ConnectionException; import org.mc4j.ems.impl.jmx.connection.support.providers.proxy.GenericMBeanServerProxy; +import org.mc4j.ems.impl.jmx.connection.support.providers.jaas.JBossCallbackHandler; +import org.mc4j.ems.impl.jmx.connection.support.providers.jaas.JBossConfiguration; import javax.management.MBeanServer; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.naming.NoInitialContextException; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.lang.reflect.Constructor; -import java.security.AccessController; -import java.security.Principal; -import java.security.PrivilegedAction; +import javax.security.auth.login.LoginContext; +import javax.security.auth.login.LoginException; +import javax.security.auth.login.Configuration; import java.util.Properties; /** * Represents a Connection to a JBoss JMX Server. This connection - * works against the JBoss RMI connector. + * works against the JBoss RMI connector. If a principal and + * credentials are specified in the connection settings, JAAS is + * used to authenticate prior to each call. * * @author Greg Hinkle (gh...@us...), January 2002 + * @author Ian Springer * @version $Revision$($Author$ / $Date$) */ public class JBossConnectionProvider extends AbstractConnectionProvider { + private static final String NAMING_CONTEXT_FACTORY_CLASS_NAME = "org.jnp.interfaces.NamingContextFactory"; +// private static final String MEJB_JNDI = "ejb/mgmt/MEJB"; private MBeanServer mbeanServer; private GenericMBeanServerProxy proxy; - + private LoginContext loginContext; // private Management mejb; - private static final String MEJB_JNDI = "ejb/mgmt/MEJB"; - private static Log log = LogFactory.getLog(JBossConnectionProvider.class); - protected void doConnect() throws Exception { ClassLoader currentLoader = Thread.currentThread().getContextClassLoader(); @@ -68,8 +68,12 @@ InitialContext context = getInitialContext(); - Object rmiAdaptor = context.lookup(connectionSettings.getJndiName()); + if (getConnectionSettings().getPrincipal() != null) { + initJaasLoginContext(); + } + Object rmiAdaptor = context.lookup(this.connectionSettings.getJndiName()); + // GH: Works around a real strange "LinkageError: Duplicate class found" // by loading these classes in the main connection classloader //Class foo = RMINotificationListener.class; @@ -80,7 +84,7 @@ if (this.proxy != null) { // This is a reconnect - proxy.setRemoteServer(rmiAdaptor); + this.proxy.setRemoteServer(rmiAdaptor); } else { this.proxy = new GenericMBeanServerProxy(rmiAdaptor); this.proxy.setProvider(this); @@ -88,52 +92,28 @@ this.mbeanServer = proxy.buildServerProxy(); } //this.mgmt = retrieveMEJB(); - - // Set the context classloader back to what it was } finally { + // Set the context classloader back to what it was. Thread.currentThread().setContextClassLoader(currentLoader); - } } - public static final String JNDI_LOGIN_CONTEXT_FACTORY_CLASS = "org.jboss.security.jndi.JndiLoginInitialContextFactory"; - private InitialContext getInitialContext() throws NamingException { - Properties props = connectionSettings.getAdvancedProperties(); - - if (connectionSettings.getPrincipal() != null && connectionSettings.getPrincipal().length() != 0) { - try { - Class.forName(JNDI_LOGIN_CONTEXT_FACTORY_CLASS); - log.debug("Utilizing JNDI Login Context Factory for secured access [" + JNDI_LOGIN_CONTEXT_FACTORY_CLASS + "]"); - - props.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_LOGIN_CONTEXT_FACTORY_CLASS); - props.put(Context.SECURITY_PRINCIPAL, connectionSettings.getPrincipal()); - props.put(Context.SECURITY_CREDENTIALS, connectionSettings.getCredentials()); - - } catch (ClassNotFoundException e) { - log.debug("JNDI Login Context Factory not available, directly utilizing SecurityAssociation"); - try { - props.put(Context.INITIAL_CONTEXT_FACTORY, connectionSettings.getInitialContextName()); - resetPrincipalInfo(); - } catch (ClassNotFoundException e1) { - throw new ConnectionException("Secured connection not available with this version of JBoss " + e1.toString(),e1); - } catch (Exception e1) { - throw new ConnectionException("Unable to make secured connection to JBoss due to missing or unexpected security classes",e1); - } - } - - } else { - props.put(Context.INITIAL_CONTEXT_FACTORY, connectionSettings.getInitialContextName()); + Properties props = this.connectionSettings.getAdvancedProperties(); + if (!NAMING_CONTEXT_FACTORY_CLASS_NAME.equals(this.connectionSettings.getInitialContextName())) { + log.warn("Unsupported initial context factory [" + this.connectionSettings.getInitialContextName() + + "] - only " + NAMING_CONTEXT_FACTORY_CLASS_NAME + + " is supported for JBoss connections; using that instead..."); } + props.put(Context.INITIAL_CONTEXT_FACTORY, NAMING_CONTEXT_FACTORY_CLASS_NAME); + props.put(Context.PROVIDER_URL, this.connectionSettings.getServerUrl()); - props.put(Context.PROVIDER_URL, connectionSettings.getServerUrl()); - try { InitialContext context = new InitialContext(props); return context; } catch(NoInitialContextException e) { // Try to be more helpful, indicating the reason we couldn't make the connection in this - // common case of missing libraries + // common case of missing libraries. if (e.getCause() instanceof ClassNotFoundException) { throw new ConnectionException("Necessary classes not found for remote connection, check installation path configuration.",e.getCause()); } @@ -142,49 +122,6 @@ } - private static class SetPrincipalInfoAction implements PrivilegedAction { - Principal principal; - Object credential; - - public SetPrincipalInfoAction(Principal principal, Object credential) { - this.principal = principal; - this.credential = credential; - } - - public Object run() { - try { - Class saClass = Class.forName("org.jboss.security.SecurityAssociation"); - Method setCredentialMethod = saClass.getMethod("setCredential", Object.class); - - setCredentialMethod.invoke(null, credential); - credential = null; - - Method setPrincipleMethod = saClass.getMethod("setPrincipal", Principal.class); - - setPrincipleMethod.invoke(null, principal); - principal = null; - - return null; - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } - return null; - } - static void setPrincipalInfo(Principal principal, Object credential) { - SetPrincipalInfoAction action = new SetPrincipalInfoAction(principal, credential); - //noinspection unchecked - AccessController.doPrivileged(action); - } - } - - - /* GH: an aborted attempt at manually changing the polling type public class RMIAdaptorExtension extends RMIConnectorImpl { public RMIAdaptorExtension(RMIAdaptor rmiAdaptor) { @@ -237,17 +174,25 @@ return this.mbeanServer; } - public void resetPrincipalInfo() throws Exception { - // We need to tell the SecurityAssociation class to clear its internal ThreadLocal stack of authenticated - // subjects. Otherwise, every time we set the princiapl info, this stack will grow and will eventually cause the - // heap to max out. For more on this issue, see https://jira.jboss.org/jira/browse/EJBTHREE-558. - Class securityAssociationClass = Class.forName("org.jboss.security.SecurityAssociation"); - Method clearMethod = securityAssociationClass.getMethod("clear"); - clearMethod.invoke(null); + public void login() throws LoginException + { + if (this.loginContext != null) { + this.loginContext.login(); + } + } - Class simplePrincipalClass = Class.forName("org.jboss.security.SimplePrincipal"); - Constructor simplePrincipalConstructor = simplePrincipalClass.getConstructor(String.class); - Principal principal = (Principal) simplePrincipalConstructor.newInstance(getConnectionSettings().getPrincipal()); - SetPrincipalInfoAction.setPrincipalInfo(principal, getConnectionSettings().getCredentials()); + public void logout() throws LoginException + { + if (this.loginContext != null) { + this.loginContext.logout(); + } } + + private void initJaasLoginContext() throws LoginException { + Configuration jaasConfig = new JBossConfiguration(); + Configuration.setConfiguration(jaasConfig); + JBossCallbackHandler jaasCallbackHandler = new JBossCallbackHandler( + this.connectionSettings.getPrincipal(), this.connectionSettings.getCredentials()); + this.loginContext = new LoginContext(JBossConfiguration.JBOSS_ENTRY_NAME, jaasCallbackHandler); + } } Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/LocalVMProvider.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/LocalVMProvider.java 2009-06-15 19:54:11 UTC (rev 598) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/LocalVMProvider.java 2009-07-10 21:35:14 UTC (rev 599) @@ -16,7 +16,6 @@ package org.mc4j.ems.impl.jmx.connection.support.providers; -import org.mc4j.ems.connection.EmsException; import org.mc4j.ems.connection.EmsConnectException; import org.mc4j.ems.impl.jmx.connection.support.providers.local.LocalVMConnector; import org.mc4j.ems.connection.local.LocalVirtualMachine; Added: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/JBossCallbackHandler.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/JBossCallbackHandler.java (rev 0) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/JBossCallbackHandler.java 2009-07-10 21:35:14 UTC (rev 599) @@ -0,0 +1,52 @@ +/* + * Copyright 2002-2009 Greg Hinkle + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.mc4j.ems.impl.jmx.connection.support.providers.jaas; + +import javax.security.auth.callback.*; +import java.io.IOException; + +/** + * @author Ian Springer + */ +public class JBossCallbackHandler implements CallbackHandler { + private String username; + private char[] password; + + public JBossCallbackHandler(String username, String password) + { + this.username = username; + this.password = password.toCharArray(); + } + + public void handle(Callback[] callbacks) throws + IOException, UnsupportedCallbackException + { + for (int i = 0; i < callbacks.length; i++) { + Callback callback = callbacks[i]; + //System.out.println("Handling Callback [" + callback + "]..."); + if (callback instanceof NameCallback) { + + NameCallback nameCallback = (NameCallback) callback; + nameCallback.setName(this.username); + } else if (callback instanceof PasswordCallback) { + PasswordCallback passwordCallback = (PasswordCallback) callback; + passwordCallback.setPassword(this.password); + } else { + throw new UnsupportedCallbackException(callback, "Unrecognized Callback: " + callback); + } + } + } +} Property changes on: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/JBossCallbackHandler.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Author Id Revision HeadURL Added: svn:eol-style + LF Added: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/JBossConfiguration.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/JBossConfiguration.java (rev 0) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/JBossConfiguration.java 2009-07-10 21:35:14 UTC (rev 599) @@ -0,0 +1,58 @@ +/* + * Copyright 2002-2009 Greg Hinkle + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.mc4j.ems.impl.jmx.connection.support.providers.jaas; + +import javax.security.auth.login.Configuration; +import javax.security.auth.login.AppConfigurationEntry; +import java.util.HashMap; +import java.util.Map; + +/** + * A JAAS configuration for a JBoss client. This is the programmatic equivalent of the following auth.conf file: + * + * <code> + * jboss + * { + * org.jboss.security.ClientLoginModule required + * multi-threaded=true; + * }; + * </code> + * + * @author Ian Springer + */ +public class JBossConfiguration extends Configuration { + public static final String JBOSS_ENTRY_NAME = "jboss"; + + private static final String JBOSS_LOGIN_MODULE_CLASS_NAME = "org.jboss.security.ClientLoginModule"; + private static final String MULTI_THREADED_OPTION = "multi-threaded"; + + public AppConfigurationEntry[] getAppConfigurationEntry(String name) { + if (JBOSS_ENTRY_NAME.equals(name)) { + Map options = new HashMap(1); + options.put(MULTI_THREADED_OPTION, Boolean.TRUE.toString()); + AppConfigurationEntry appConfigurationEntry = + new AppConfigurationEntry(JBOSS_LOGIN_MODULE_CLASS_NAME, + AppConfigurationEntry.LoginModuleControlFlag.REQUIRED, options); + return new AppConfigurationEntry[] {appConfigurationEntry}; + } else { + throw new IllegalArgumentException("Unknown entry name: " + name); + } + } + + public void refresh() { + return; + } +} Property changes on: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/jaas/JBossConfiguration.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Author Id Revision HeadURL Added: svn:eol-style + LF Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java 2009-06-15 19:54:11 UTC (rev 598) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java 2009-07-10 21:35:14 UTC (rev 599) @@ -1,5 +1,5 @@ /* - * Copyright 2002-2004 Greg Hinkle + * Copyright 2002-2009 Greg Hinkle * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.mc4j.ems.impl.jmx.connection.support.providers.proxy; import org.apache.commons.logging.Log; @@ -25,19 +24,17 @@ import org.mc4j.ems.impl.jmx.connection.support.providers.JBossConnectionProvider; import javax.management.MBeanServer; -import javax.naming.Context; import java.io.NotSerializableException; import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.rmi.NoSuchObjectException; -import java.security.Principal; - /** * * @author Greg Hinkle (gh...@us...), January 2002 + * @author Ian Springer * @version $Revision$($Author$ / $Date$) */ public class GenericMBeanServerProxy implements InvocationHandler, StatsProxy { @@ -76,7 +73,6 @@ this.remoteServer = remoteServer; } - public Object invoke( Object proxy, Method m, Object[] args) throws Throwable { @@ -85,12 +81,10 @@ // // ConnectionInfoAction.addHit(); - Class serverClass = this.remoteServer.getClass(); //org.openide.windows.IOProvider.getDefault().getStdOut().println("Looking at object: " + serverClass.getName()); - - // TODO GH: This is horribly inneficient + // TODO GH: This is horribly inefficient Method[] ms = serverClass.getMethods(); Method queryMethod = null; for (int i = 0; i < ms.length; i++) { @@ -99,7 +93,7 @@ if (ms[i].getName().equals("queryMBeans")) queryMethod = ms[i]; } - Method method = null; + Method method; if ("queryMBeans".equals(m.getName())) { method = queryMethod; //method = serverClass.getMethod(m.getName(), new Class[] { ObjectName.class, QueryExp.class }); @@ -115,13 +109,26 @@ try { roundTrips++; // Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); - if (this.provider instanceof JBossConnectionProvider) { + boolean isJBossConnection = (this.provider instanceof JBossConnectionProvider); + if (isJBossConnection) { JBossConnectionProvider jbossProvider = (JBossConnectionProvider) this.provider; // See https://jira.jboss.org/jira/browse/JOPR-9 for an explanation of why we have to re-set the // PrincipalInfo prior to every JBoss JMX call. - jbossProvider.resetPrincipalInfo(); + //jbossProvider.resetPrincipalInfo(); + // Login via JAAS before making the call... + jbossProvider.login(); } - return method.invoke(this.remoteServer, args); + Object returnValue; + try { + returnValue = method.invoke(this.remoteServer, args); + } finally { + if (isJBossConnection) { + JBossConnectionProvider jbossProvider = (JBossConnectionProvider) this.provider; + // Logout via JAAS before returning... + jbossProvider.logout(); + } + } + return returnValue; } catch(InvocationTargetException e) { failures++; if (e.getCause() != null) { @@ -164,7 +171,6 @@ } } - public long getRoundTrips() { return roundTrips; } @@ -185,6 +191,4 @@ throw new LoadException("Unable to find JMX Classes", e); } } - - } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2009-06-15 20:14:34
|
Revision: 597 http://mc4j.svn.sourceforge.net/mc4j/?rev=597&view=rev Author: ianpspringer Date: 2009-06-15 19:52:30 +0000 (Mon, 15 Jun 2009) Log Message: ----------- fix OOME caused by original fix for https://jira.jboss.org/jira/browse/JOPR-9 Modified Paths: -------------- trunk/mc4j/modules/ems/build.xml trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java Property Changed: ---------------- trunk/mc4j/modules/ems/ Property changes on: trunk/mc4j/modules/ems ___________________________________________________________________ Added: svn:ignore + build classes dist javadocs Modified: trunk/mc4j/modules/ems/build.xml =================================================================== --- trunk/mc4j/modules/ems/build.xml 2009-05-26 19:46:13 UTC (rev 596) +++ trunk/mc4j/modules/ems/build.xml 2009-06-15 19:52:30 UTC (rev 597) @@ -6,7 +6,7 @@ Author: Greg Hinkle - Copyright 2002-2005 Greg Hinkle + Copyright 2002-2009 Greg Hinkle Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -30,7 +30,7 @@ <property name="module.jar" value="org-mc4j-ems.jar"/> - <property name="release.version" value="1.2.6"/> + <property name="release.version" value="1.2.7"/> <target Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java 2009-05-26 19:46:13 UTC (rev 596) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java 2009-06-15 19:52:30 UTC (rev 597) @@ -28,6 +28,7 @@ import javax.naming.NoInitialContextException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.lang.reflect.Constructor; import java.security.AccessController; import java.security.Principal; import java.security.PrivilegedAction; @@ -237,9 +238,16 @@ } public void resetPrincipalInfo() throws Exception { + // We need to tell the SecurityAssociation class to clear its internal ThreadLocal stack of authenticated + // subjects. Otherwise, every time we set the princiapl info, this stack will grow and will eventually cause the + // heap to max out. For more on this issue, see https://jira.jboss.org/jira/browse/EJBTHREE-558. + Class securityAssociationClass = Class.forName("org.jboss.security.SecurityAssociation"); + Method clearMethod = securityAssociationClass.getMethod("clear"); + clearMethod.invoke(null); + Class simplePrincipalClass = Class.forName("org.jboss.security.SimplePrincipal"); - Principal principal = (Principal) simplePrincipalClass.getConstructor(String.class).newInstance( - getConnectionSettings().getPrincipal()); + Constructor simplePrincipalConstructor = simplePrincipalClass.getConstructor(String.class); + Principal principal = (Principal) simplePrincipalConstructor.newInstance(getConnectionSettings().getPrincipal()); SetPrincipalInfoAction.setPrincipalInfo(principal, getConnectionSettings().getCredentials()); } } Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java 2009-05-26 19:46:13 UTC (rev 596) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java 2009-06-15 19:52:30 UTC (rev 597) @@ -117,6 +117,8 @@ // Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); if (this.provider instanceof JBossConnectionProvider) { JBossConnectionProvider jbossProvider = (JBossConnectionProvider) this.provider; + // See https://jira.jboss.org/jira/browse/JOPR-9 for an explanation of why we have to re-set the + // PrincipalInfo prior to every JBoss JMX call. jbossProvider.resetPrincipalInfo(); } return method.invoke(this.remoteServer, args); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2009-06-15 19:54:33
|
Revision: 598 http://mc4j.svn.sourceforge.net/mc4j/?rev=598&view=rev Author: ianpspringer Date: 2009-06-15 19:54:11 +0000 (Mon, 15 Jun 2009) Log Message: ----------- tag EMS 1.2.7 Added Paths: ----------- tags/ems_1_2_7/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2009-05-26 19:47:24
|
Revision: 596 http://mc4j.svn.sourceforge.net/mc4j/?rev=596&view=rev Author: ianpspringer Date: 2009-05-26 19:46:13 +0000 (Tue, 26 May 2009) Log Message: ----------- tag for EMS v1.2.6 Added Paths: ----------- tags/ems_1_2_6/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2009-03-17 13:20:41
|
Revision: 595 http://mc4j.svn.sourceforge.net/mc4j/?rev=595&view=rev Author: ianpspringer Date: 2009-03-17 13:20:20 +0000 (Tue, 17 Mar 2009) Log Message: ----------- improve exception message Modified Paths: -------------- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java Modified: trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java =================================================================== --- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java 2008-11-05 16:38:56 UTC (rev 594) +++ trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java 2009-03-17 13:20:20 UTC (rev 595) @@ -104,9 +104,9 @@ return tmpFile.toURI().toURL(); } catch (FileNotFoundException e) { - throw new EmsException("Unable to make temporary file store", e); + throw new EmsException("Unable to store jar [" + archiveResource + "] to temp dir [" + tempDir + "].", e); } catch (IOException e) { - throw new EmsException("Unable to make temporary file store", e); + throw new EmsException("Unable to store jar [" + archiveResource + "] to temp dir [" + tempDir + "].", e); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2008-11-05 16:39:06
|
Revision: 594 http://mc4j.svn.sourceforge.net/mc4j/?rev=594&view=rev Author: ianpspringer Date: 2008-11-05 16:38:56 +0000 (Wed, 05 Nov 2008) Log Message: ----------- reset the JNP credential info prior to each invocation on the MBeanServer proxy for JBoss connections (fix for https://jira.jboss.org/jira/browse/JOPR-9) Modified Paths: -------------- trunk/mc4j/modules/ems/build.xml trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java Modified: trunk/mc4j/modules/ems/build.xml =================================================================== --- trunk/mc4j/modules/ems/build.xml 2008-09-22 18:47:51 UTC (rev 593) +++ trunk/mc4j/modules/ems/build.xml 2008-11-05 16:38:56 UTC (rev 594) @@ -30,7 +30,7 @@ <property name="module.jar" value="org-mc4j-ems.jar"/> - <property name="release.version" value="1.2.4"/> + <property name="release.version" value="1.2.6"/> <target @@ -96,6 +96,7 @@ <target name="clean" description="Clean"> <delete dir="classes"/> + <delete dir="javadocs"/> </target> <target name="compile" depends="init" description="Compiles the MC4J-EMS codebase."> @@ -127,7 +128,30 @@ </target> - <target name="jars" depends="compile" description="Builds the MC4J Module JAR Files"> + <target name="javadoc" depends="init" description="Generated Javadocs for MC4J-EMS classes."> + <mkdir dir="javadocs/api"/> + <mkdir dir="javadocs/impl"/> + <javadoc packagenames="org.mc4j.ems.*" + excludepackagenames="org.mc4j.ems.connection.support.classloader.*" + sourcepath="src/ems" + destdir="javadocs/api" + author="true" + version="true" + use="true" + windowtitle="EMS API"> + </javadoc> + <javadoc packagenames="org.mc4j.ems.*" + sourcepath="src/ems-impl" + destdir="javadocs/impl" + author="true" + version="true" + use="true" + windowtitle="EMS Impl"> + </javadoc> + </target> + + + <target name="jars" depends="compile, javadoc" description="Builds the MC4J Module JAR Files"> <mkdir dir="dist"/> <mkdir dir="build"/> <delete> @@ -162,6 +186,14 @@ <fileset dir="lib" includes="*.jar"/> </copy> + <!-- sources jars --> + <jar jarfile="dist/org-mc4j-ems-sources.jar" basedir="src/ems"/> + <jar jarfile="dist/org-mc4j-ems-impl-sources.jar" basedir="src/ems-impl"/> + + <!-- javadoc jars --> + <jar jarfile="dist/org-mc4j-ems-javadoc.jar" basedir="javadocs/api"/> + <jar jarfile="dist/org-mc4j-ems-impl-javadoc.jar" basedir="javadocs/impl"/> + </target> Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java 2008-09-22 18:47:51 UTC (rev 593) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/JBossConnectionProvider.java 2008-11-05 16:38:56 UTC (rev 594) @@ -113,9 +113,7 @@ log.debug("JNDI Login Context Factory not available, directly utilizing SecurityAssociation"); try { props.put(Context.INITIAL_CONTEXT_FACTORY, connectionSettings.getInitialContextName()); - Class simplePrincipalClass = Class.forName("org.jboss.security.SimplePrincipal"); - Principal p = (Principal) simplePrincipalClass.getConstructor(String.class).newInstance(connectionSettings.getPrincipal()); - SetPrincipalInfoAction.setPrincipalInfo(p,connectionSettings.getCredentials()); + resetPrincipalInfo(); } catch (ClassNotFoundException e1) { throw new ConnectionException("Secured connection not available with this version of JBoss " + e1.toString(),e1); } catch (Exception e1) { @@ -238,4 +236,10 @@ return this.mbeanServer; } + public void resetPrincipalInfo() throws Exception { + Class simplePrincipalClass = Class.forName("org.jboss.security.SimplePrincipal"); + Principal principal = (Principal) simplePrincipalClass.getConstructor(String.class).newInstance( + getConnectionSettings().getPrincipal()); + SetPrincipalInfoAction.setPrincipalInfo(principal, getConnectionSettings().getCredentials()); + } } Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java 2008-09-22 18:47:51 UTC (rev 593) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/proxy/GenericMBeanServerProxy.java 2008-11-05 16:38:56 UTC (rev 594) @@ -22,14 +22,17 @@ import org.mc4j.ems.connection.EmsUnsupportedTypeException; import org.mc4j.ems.connection.LoadException; import org.mc4j.ems.connection.support.ConnectionProvider; +import org.mc4j.ems.impl.jmx.connection.support.providers.JBossConnectionProvider; import javax.management.MBeanServer; +import javax.naming.Context; import java.io.NotSerializableException; import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.rmi.NoSuchObjectException; +import java.security.Principal; /** @@ -112,6 +115,10 @@ try { roundTrips++; // Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); + if (this.provider instanceof JBossConnectionProvider) { + JBossConnectionProvider jbossProvider = (JBossConnectionProvider) this.provider; + jbossProvider.resetPrincipalInfo(); + } return method.invoke(this.remoteServer, args); } catch(InvocationTargetException e) { failures++; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gh...@us...> - 2008-09-22 18:48:01
|
Revision: 593 http://mc4j.svn.sourceforge.net/mc4j/?rev=593&view=rev Author: ghinkl Date: 2008-09-22 18:47:51 +0000 (Mon, 22 Sep 2008) Log Message: ----------- Missed the operation name in comparison for an exact signature match Modified Paths: -------------- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/DMBean.java Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/DMBean.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/DMBean.java 2008-09-16 16:32:53 UTC (rev 592) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/DMBean.java 2008-09-22 18:47:51 UTC (rev 593) @@ -340,6 +340,10 @@ } EmsOperation selectedOperation = null; for (EmsOperation operation : allOperations) { + if (!operation.getName().equals(operationName)) { + continue; + } + List<EmsParameter> operationParameters = operation.getParameters(); if (parameterTypeNames.length != operationParameters.size()) { // different number of parameters to what we are looking for This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gh...@us...> - 2008-09-16 09:33:16
|
Revision: 592 http://mc4j.svn.sourceforge.net/mc4j/?rev=592&view=rev Author: ghinkl Date: 2008-09-16 16:32:53 +0000 (Tue, 16 Sep 2008) Log Message: ----------- EMS fixes for overloaded operations Modified Paths: -------------- trunk/mc4j/modules/ems/build.xml trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/bean/EmsBean.java trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/bean/parameter/EmsParameter.java trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/DMBean.java trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/attribute/DAttribute.java trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/operation/DOperation.java trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/parameter/DParameter.java Modified: trunk/mc4j/modules/ems/build.xml =================================================================== --- trunk/mc4j/modules/ems/build.xml 2008-09-15 19:15:02 UTC (rev 591) +++ trunk/mc4j/modules/ems/build.xml 2008-09-16 16:32:53 UTC (rev 592) @@ -30,7 +30,7 @@ <property name="module.jar" value="org-mc4j-ems.jar"/> - <property name="release.version" value="1.2.2"/> + <property name="release.version" value="1.2.4"/> <target Modified: trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/bean/EmsBean.java =================================================================== --- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/bean/EmsBean.java 2008-09-15 19:15:02 UTC (rev 591) +++ trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/bean/EmsBean.java 2008-09-16 16:32:53 UTC (rev 592) @@ -84,4 +84,6 @@ boolean isNotificationEmiter(); boolean isHasUnsupportedType(); + + EmsOperation getOperation(String operationName, Class... parameterTypes); } Modified: trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/bean/parameter/EmsParameter.java =================================================================== --- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/bean/parameter/EmsParameter.java 2008-09-15 19:15:02 UTC (rev 591) +++ trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/bean/parameter/EmsParameter.java 2008-09-16 16:32:53 UTC (rev 592) @@ -6,7 +6,7 @@ * @author Greg Hinkle (gh...@us...) * @version $Revision$($Author$ / $Date$) */ -public interface EmsParameter { +public interface EmsParameter extends Comparable { String getName(); String getDescription(); Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/DMBean.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/DMBean.java 2008-09-15 19:15:02 UTC (rev 591) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/DMBean.java 2008-09-16 16:32:53 UTC (rev 592) @@ -22,6 +22,7 @@ import org.mc4j.ems.connection.EmsUnsupportedTypeException; import org.mc4j.ems.connection.bean.EmsBean; import org.mc4j.ems.connection.bean.EmsBeanName; +import org.mc4j.ems.connection.bean.parameter.EmsParameter; import org.mc4j.ems.connection.bean.attribute.EmsAttribute; import org.mc4j.ems.connection.bean.notification.EmsNotification; import org.mc4j.ems.connection.bean.operation.EmsOperation; @@ -41,17 +42,9 @@ import javax.management.MBeanRegistrationException; import javax.management.MBeanServer; import javax.management.ObjectName; -import javax.management.modelmbean.ModelMBeanInfo; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.SortedSet; -import java.util.TreeMap; -import java.util.TreeSet; +import java.util.*; + /** * @author Greg Hinkle (gh...@us...), Apr 4, 2005 * @version $Revision$($Author$ / $Date$) @@ -74,6 +67,7 @@ private Map<String, EmsAttribute> attributes = new TreeMap<String, EmsAttribute>(String.CASE_INSENSITIVE_ORDER); private Map<String, EmsOperation> operations = new TreeMap<String, EmsOperation>(String.CASE_INSENSITIVE_ORDER); + private Set<EmsOperation> allOperations = new TreeSet<EmsOperation>(); private Map<String, EmsNotification> notifications = new TreeMap<String, EmsNotification>(String.CASE_INSENSITIVE_ORDER); protected List<Throwable> failures; @@ -148,6 +142,7 @@ for (MBeanOperationInfo operationInfo : info.getOperations()) { DOperation operation = new DOperation(operationInfo, this); this.operations.put(operationInfo.getName(), operation); + this.allOperations.add(operation); } for (MBeanNotificationInfo notificationInfo : info.getNotifications()) { @@ -322,9 +317,53 @@ return this.operations.get(name); } + /** + * Retrieves an operation from an mbean which matches the specified name + * and signature. The method is modeled after Class.getMethod() + * The order of parameterTypes must much the order of arguments returned + * for the operation by EMS. + * + * If not matching operation is found on the EmsBean then null is returned + */ + public EmsOperation getOperation(String operationName, Class... parameterTypes) { + getOperations(); + if (allOperations == null || allOperations.isEmpty()) { + return null; + } + + String[] parameterTypeNames = new String[parameterTypes.length]; + for (int i = 0; i < parameterTypes.length; i++) { + // TODO check whether this should be getName,getCanonicalName, + // getSimpleName + // just needs to match what EMS returns + parameterTypeNames[i] = parameterTypes[i].getName(); + } + EmsOperation selectedOperation = null; + for (EmsOperation operation : allOperations) { + List<EmsParameter> operationParameters = operation.getParameters(); + if (parameterTypeNames.length != operationParameters.size()) { + // different number of parameters to what we are looking for + continue; + } + String[] operationParameterTypeNames = new String[operationParameters.size()]; + int i = 0; + for (EmsParameter operationParameter : operationParameters) { + operationParameterTypeNames[i] = operationParameter.getType(); + i++; + } + + if (Arrays.equals(parameterTypeNames, operationParameterTypeNames)) { + selectedOperation = operation; + break; + } + } + return selectedOperation; + } + + public SortedSet<EmsOperation> getOperations() { if (info == null) loadSynchronous(); - return new TreeSet<EmsOperation>(this.operations.values()); + return new TreeSet<EmsOperation>(this.allOperations); } public EmsNotification getNotification(String name) { Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/attribute/DAttribute.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/attribute/DAttribute.java 2008-09-15 19:15:02 UTC (rev 591) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/attribute/DAttribute.java 2008-09-16 16:32:53 UTC (rev 592) @@ -265,7 +265,7 @@ if (failures.size() > 2) failures.removeFirst(); - log.warn("Attribute access failure " + t.getLocalizedMessage(),t); + log.debug("Attribute access failure " + t.getLocalizedMessage(),t); } public org.mc4j.ems.store.ValueHistory getValueHistory() { Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/operation/DOperation.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/operation/DOperation.java 2008-09-15 19:15:02 UTC (rev 591) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/operation/DOperation.java 2008-09-16 16:32:53 UTC (rev 592) @@ -27,6 +27,8 @@ import javax.management.ReflectionException; import java.util.List; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; /** * @author Greg Hinkle (gh...@us...), Apr 4, 2005 @@ -183,9 +185,40 @@ public int compareTo(Object o) { DOperation otherOperation = (DOperation) o; - return this.getName().compareTo( + int i = this.getName().compareTo( otherOperation.getName()); + if (i == 0) { + + i = ((Integer)parameters.size()).compareTo(otherOperation.getParameters().size()); + if (i == 0) { + for (int j = 0; j < parameters.size();j++) { + i = parameters.get(j).compareTo(otherOperation.getParameters().get(j)); + if (i != 0) { + break; + } + } + } + } + return i; } + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof DOperation)) return false; + + DOperation that = (DOperation) o; + + if (info != null ? !info.getName().equals(that.info.getName()) : that.info.getName() != null) return false; + if (parameters != null ? !parameters.equals(that.parameters) : that.parameters != null) return false; + + return true; + } + + public int hashCode() { + int result; + result = (info != null ? info.hashCode() : 0); + result = 31 * result + (parameters != null ? parameters.hashCode() : 0); + return result; + } } Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/parameter/DParameter.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/parameter/DParameter.java 2008-09-15 19:15:02 UTC (rev 591) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/parameter/DParameter.java 2008-09-16 16:32:53 UTC (rev 592) @@ -26,7 +26,7 @@ * @author Greg Hinkle (gh...@us...) * @version $Revision$($Author$ / $Date$) */ -public class DParameter implements EmsParameter { +public class DParameter implements EmsParameter, Comparable { private String name; private String description; @@ -50,4 +50,33 @@ public String getType() { return type; } + + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof DParameter)) return false; + + DParameter that = (DParameter) o; + + if (name != null ? !name.equals(that.name) : that.name != null) return false; + + if (type != null ? !type.equals(that.type) : that.type != null) return false; + + return true; + } + + public int hashCode() { + int result; + result = (name != null ? name.hashCode() : 0); + result = 31 * result + (description != null ? description.hashCode() : 0); + result = 31 * result + (type != null ? type.hashCode() : 0); + return result; + } + + public int compareTo(Object o) { + int i = this.name.compareTo(((DParameter)o).getName()); + if (i == 0) { + i = this.getType().compareTo(((DParameter)o).getType()); + } + return i; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gh...@us...> - 2008-09-15 12:15:11
|
Revision: 591 http://mc4j.svn.sourceforge.net/mc4j/?rev=591&view=rev Author: ghinkl Date: 2008-09-15 19:15:02 +0000 (Mon, 15 Sep 2008) Log Message: ----------- New version of EMS 1.2.3 Fixes: http://sourceforge.net/tracker/index.php?func=detail&aid=2007692&group_id=60228&atid=493495 Improves down server detection and reconnect capability for JMX Remoting connections Added Paths: ----------- tags/ems_1_2_3/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Jean-Francois A. <jf...@ya...> - 2008-07-08 14:51:10
|
Hello, A post was made by Sergey Beryozkin a few years ago on http://mc4j.org/confluence/display/MC4J/mail/1204 I'm experiencing the same trouble on mc4j beta version and I would like to know if this case has been closed and which solution has be adopted. Jean-Francois _____________________________________________________________________________ Envoyez avec Yahoo! Mail. Une boite mail plus intelligente http://mail.yahoo.fr |
From: <gh...@us...> - 2008-04-10 19:52:19
|
Revision: 589 http://mc4j.svn.sourceforge.net/mc4j/?rev=589&view=rev Author: ghinkl Date: 2008-04-10 12:52:05 -0700 (Thu, 10 Apr 2008) Log Message: ----------- Some fixes for leaks in connection management and elsewhere Cache classloaders with weak references to reduce class loading when checking connections on down servers Modified Paths: -------------- trunk/mc4j/modules/ems/build.xml trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ChildFirstClassloader.java trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/DMBean.java trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/operation/DOperation.java Modified: trunk/mc4j/modules/ems/build.xml =================================================================== --- trunk/mc4j/modules/ems/build.xml 2008-04-10 19:09:32 UTC (rev 588) +++ trunk/mc4j/modules/ems/build.xml 2008-04-10 19:52:05 UTC (rev 589) @@ -30,7 +30,7 @@ <property name="module.jar" value="org-mc4j-ems.jar"/> - <property name="release.version" value="1.2.0"/> + <property name="release.version" value="1.2.2"/> <target Modified: trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ChildFirstClassloader.java =================================================================== --- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ChildFirstClassloader.java 2008-04-10 19:09:32 UTC (rev 588) +++ trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ChildFirstClassloader.java 2008-04-10 19:52:05 UTC (rev 589) @@ -38,7 +38,8 @@ throws ClassNotFoundException { Class c = findLoadedClass(name); if (c == null) { - if (name.indexOf("org.mc4j") == -1) { //true) {//name.indexOf("javax.management") >= 0) { + if (name.indexOf("org.mc4j") == -1 || + name.indexOf("org.apache.commons.logging") == -1) { //true) {//name.indexOf("javax.management") >= 0) { // if (name.contains("log4j.xml")) // System.out.println("Looking for " + name); try { Modified: trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java =================================================================== --- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java 2008-04-10 19:09:32 UTC (rev 588) +++ trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java 2008-04-10 19:52:05 UTC (rev 589) @@ -34,11 +34,8 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.lang.ref.WeakReference; /** * @author Greg Hinkle (gh...@us...), Apr 5, 2005 @@ -54,6 +51,8 @@ private static Map<FileKey, File> tempJarCache = Collections.synchronizedMap(new HashMap<FileKey, File>()); + private static Map<Long, WeakReference<ClassLoader>> classLoaderCache = Collections.synchronizedMap(new HashMap<Long, WeakReference<ClassLoader>>()); + static { String className = System.getProperty("org.mc4j.ems.classloaderfactory"); if (className != null) { @@ -198,7 +197,6 @@ } } - // Now load in the implementation jar // URL implURL = new URL(null, "deepjar://org-mc4j-ems-impl.jar", new Handler()); URL implURL = storeImplToTemp("org-mc4j-ems-impl.jar", tempDir); @@ -241,24 +239,37 @@ // TODO: Check if file exists, log warning if not URL[] entryArray = entries.toArray(new URL[entries.size()]); + ClassLoader loader = null; - // WARNING: Relatively disgusting hack. hiding classes is not a good thing - URLClassLoader loader = null; - if (settings.getConnectionType().isUseChildFirstClassLoader()) { - loader = new ChildFirstClassloader(entryArray, ClassLoaderFactory.class.getClassLoader()); - } else { - // TODO was NestedJarClassLoader - //loader = new ChildFirstClassloader(entryArray, ClassLoaderFactory.class.getClassLoader()); - loader = new URLClassLoader(entryArray, ClassLoaderFactory.class.getClassLoader()); - //loader = new NestedJarClassLoader(entryArray, ClassLoaderFactory.class.getClassLoader()); + long key = Arrays.hashCode(entryArray); + + WeakReference<ClassLoader> loaderReference = classLoaderCache.get(key); + if (loaderReference != null) { + loader = classLoaderCache.get(key).get(); } + + if (loader == null) { - if (log.isDebugEnabled()) { - StringBuffer buf = new StringBuffer("Classloader built with: \n"); - for (URL url : entries) { - buf.append("\t").append(url).append("\n"); + // WARNING: Relatively disgusting hack. hiding classes is not a good thing + if (settings.getConnectionType().isUseChildFirstClassLoader()) { + loader = new ChildFirstClassloader(entryArray, ClassLoaderFactory.class.getClassLoader()); + } else { + // TODO was NestedJarClassLoader + //loader = new ChildFirstClassloader(entryArray, ClassLoaderFactory.class.getClassLoader()); + loader = new URLClassLoader(entryArray, ClassLoaderFactory.class.getClassLoader()); + //loader = new NestedJarClassLoader(entryArray, ClassLoaderFactory.class.getClassLoader()); } - log.debug(buf.toString()); + + classLoaderCache.put(key, new WeakReference<ClassLoader>(loader)); + + if (log.isDebugEnabled()) { + StringBuffer buf = new StringBuffer("Classloader built with: \n"); + for (URL url : entries) { + buf.append("\t").append(url).append("\n"); + } + log.info(buf.toString()); + } + } return loader; } Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/DMBean.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/DMBean.java 2008-04-10 19:09:32 UTC (rev 588) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/DMBean.java 2008-04-10 19:52:05 UTC (rev 589) @@ -155,16 +155,18 @@ this.notifications.put(notificationInfo.getName(), notification); } - loaded = true; } catch (InstanceNotFoundException infe) { this.deleted = true; } catch (Exception e) { unsupportedType = true; RuntimeException f = new EmsUnsupportedTypeException("Could not load MBean info, unsupported type on bean " + objectName, e); - registerFailure(f); + // TODO: Memory Leak below... don't do that + //registerFailure(f); // TODO should we throw this here? //throw f; + } finally { + loaded = true; } } Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/operation/DOperation.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/operation/DOperation.java 2008-04-10 19:09:32 UTC (rev 588) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/operation/DOperation.java 2008-04-10 19:52:05 UTC (rev 589) @@ -103,6 +103,30 @@ i++; } + // TODO GH: get rid of the asynchronous bits and the timeouts for now (not good for RHQ JMX plugin) + // Add a way to let the caller decide if they want async + try { + Object results = + bean.getConnectionProvider().getMBeanServer().invoke( + bean.getObjectName(), + getName(), + parameterValues, + parameterTypes); + + return results; + } catch (ReflectionException re) { + Exception cause = re.getTargetException(); + if (cause != null) { + throw new EmsInvocationException("Exception on invocation of [" + getName() + "]" + cause.toString(), cause); + } else { + throw new EmsInvocationException("Exception on invocation of [" + getName() + "]" + re.toString(), re); + } + } catch (Exception e) { + throw new EmsInvocationException("Exception on invocation of [" + getName() + "]" + e.toString(), e); + } + + /* + class Future { boolean done = false; Object results; @@ -150,14 +174,11 @@ throw new EmsInvocationException("Operation timed out."); } - - - if (f.e != null) { throw new EmsInvocationException("Exception on invocation of [" + getName() + "]" + f.e.toString(),f.e); } else { return f.results; - } + }*/ } public int compareTo(Object o) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gh...@us...> - 2008-04-10 19:09:45
|
Revision: 588 http://mc4j.svn.sourceforge.net/mc4j/?rev=588&view=rev Author: ghinkl Date: 2008-04-10 12:09:32 -0700 (Thu, 10 Apr 2008) Log Message: ----------- commons logging 1.1 fixes classloading issues with ems connection classloader sticking around after usage Added Paths: ----------- trunk/mc4j/modules/ems/lib/commons-logging-1.1.0.jboss.jar Removed Paths: ------------- trunk/mc4j/modules/ems/lib/commons-logging.jar Added: trunk/mc4j/modules/ems/lib/commons-logging-1.1.0.jboss.jar =================================================================== (Binary files differ) Property changes on: trunk/mc4j/modules/ems/lib/commons-logging-1.1.0.jboss.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Deleted: trunk/mc4j/modules/ems/lib/commons-logging.jar =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gh...@us...> - 2008-03-13 16:32:51
|
Revision: 587 http://mc4j.svn.sourceforge.net/mc4j/?rev=587&view=rev Author: ghinkl Date: 2008-03-13 09:32:47 -0700 (Thu, 13 Mar 2008) Log Message: ----------- Tag of ems 1.2.1 with fixes for RHQ 1.0 Added Paths: ----------- tags/ems_1_2_1/ Copied: tags/ems_1_2_1 (from rev 586, trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gh...@us...> - 2008-03-13 16:28:46
|
Revision: 586 http://mc4j.svn.sourceforge.net/mc4j/?rev=586&view=rev Author: ghinkl Date: 2008-03-13 09:28:42 -0700 (Thu, 13 Mar 2008) Log Message: ----------- Use child first classloader for jboss to avoid problems with jboss-common being in the system classpath... Get rid of the over eager tracking of history metric values Modified Paths: -------------- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/metadata/JBossConnectionTypeDescriptor.java trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/attribute/DAttribute.java Modified: trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/metadata/JBossConnectionTypeDescriptor.java =================================================================== --- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/metadata/JBossConnectionTypeDescriptor.java 2007-08-31 17:32:02 UTC (rev 585) +++ trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/metadata/JBossConnectionTypeDescriptor.java 2008-03-13 16:28:42 UTC (rev 586) @@ -75,7 +75,7 @@ } public boolean isUseChildFirstClassLoader() { - return false; //true; + return true; } Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/attribute/DAttribute.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/attribute/DAttribute.java 2007-08-31 17:32:02 UTC (rev 585) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/attribute/DAttribute.java 2008-03-13 16:28:42 UTC (rev 586) @@ -169,10 +169,10 @@ } // This old way stored attribute values if they were under a certain size // if (com.vladium.utils.ObjectProfiler.sizeof(newValue) < 200) +// Don't do this if you're not going to bound it or have a way to disable it +// if (newValue instanceof Number) +// valueHistory.addValue(new Value(newValue, System.currentTimeMillis())); - if (newValue instanceof Number) - valueHistory.addValue(new Value(newValue, System.currentTimeMillis())); - currentValue = newValue; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gh...@us...> - 2007-08-31 17:32:06
|
Revision: 585 http://mc4j.svn.sourceforge.net/mc4j/?rev=585&view=rev Author: ghinkl Date: 2007-08-31 10:32:02 -0700 (Fri, 31 Aug 2007) Log Message: ----------- Custom temp directory Internal search for mbeanserver by default domain Modified Paths: -------------- trunk/mc4j/modules/ems/build.xml trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/ConnectionFactory.java trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/settings/ConnectionSettings.java trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/metadata/InternalVMTypeDescriptor.java trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/metadata/JBossConnectionTypeDescriptor.java trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/InternalVMProvider.java Modified: trunk/mc4j/modules/ems/build.xml =================================================================== --- trunk/mc4j/modules/ems/build.xml 2007-07-06 01:43:58 UTC (rev 584) +++ trunk/mc4j/modules/ems/build.xml 2007-08-31 17:32:02 UTC (rev 585) @@ -30,7 +30,7 @@ <property name="module.jar" value="org-mc4j-ems.jar"/> - <property name="release.version" value="1.1.7"/> + <property name="release.version" value="1.2.0"/> <target Modified: trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/ConnectionFactory.java =================================================================== --- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/ConnectionFactory.java 2007-07-06 01:43:58 UTC (rev 584) +++ trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/ConnectionFactory.java 2007-08-31 17:32:02 UTC (rev 585) @@ -59,7 +59,9 @@ public static final String COPY_JARS_TO_TEMP = "mc4j.ems.CopyJarsToTemp"; + public static final String JAR_TEMP_DIR = "mc4j.ems.JarTempDir"; + private boolean broadSearch = false; private int searchDepth = DEFAULT_SEARCH_DEPTH; Modified: trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/settings/ConnectionSettings.java =================================================================== --- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/settings/ConnectionSettings.java 2007-07-06 01:43:58 UTC (rev 584) +++ trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/settings/ConnectionSettings.java 2007-08-31 17:32:02 UTC (rev 585) @@ -44,7 +44,7 @@ private String principal; private String credentials; - private Properties advancedProperties; + private Properties advancedProperties = new Properties(); private Properties controlProperties = new Properties(); Modified: trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java =================================================================== --- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java 2007-07-06 01:43:58 UTC (rev 584) +++ trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/classloader/ClassLoaderFactory.java 2007-08-31 17:32:02 UTC (rev 585) @@ -83,7 +83,7 @@ * TODO GH: Implement a special classloader that can load classes from * within a jar inside another jar or perhaps just ship the impl jar separately... */ - protected URL storeImplToTemp(String archiveResource) { + protected URL storeImplToTemp(String archiveResource, File tempDir) { try { if (jarCache.containsKey(archiveResource)) { @@ -98,7 +98,7 @@ // String tmpPath = System.getProperty("java.io.tmpdir"); - File tmpFile = copyFileToTemp(archiveResource, is); + File tmpFile = copyFileToTemp(archiveResource, is, tempDir); jarCache.put(archiveResource, tmpFile); @@ -111,11 +111,11 @@ } } - private File copyFileToTemp(String archiveResource, InputStream is) throws IOException { + private File copyFileToTemp(String archiveResource, InputStream is, File directory) throws IOException { String jarName = new File(archiveResource).getName(); jarName = jarName.substring(0, jarName.length() - 4); - File tmpFile = File.createTempFile(jarName, ".jar"); + File tmpFile = File.createTempFile(jarName, ".jar", directory); tmpFile.deleteOnExit(); log.trace("Copying jar [" + archiveResource + "] to temporary file [" + tmpFile.getAbsolutePath() + "]"); @@ -151,12 +151,12 @@ */ - public URL getCachedTempForFile(File file) throws MalformedURLException { + public URL getCachedTempForFile(File file, File directory) throws MalformedURLException { try { FileKey key = new FileKey(file); File result = tempJarCache.get(key); if (result == null) { - result = copyFileToTemp(file.getName(), new FileInputStream(file)); + result = copyFileToTemp(file.getName(), new FileInputStream(file), directory); tempJarCache.put(key, result); } return result.toURI().toURL(); @@ -175,15 +175,20 @@ public ClassLoader buildClassLoader(ConnectionSettings settings) { - // TODO GH: Implement configurable system to point at jar instead of creating temporary version + String tempDirString = (String) settings.getControlProperties().get(ConnectionFactory.JAR_TEMP_DIR); + File tempDir = null; + if (tempDirString != null) { + tempDir = new File(tempDirString); + } + List<URL> entries = new ArrayList<URL>(); if (settings.getClassPathEntries() != null) { for (File file : settings.getClassPathEntries()) { try { if (Boolean.valueOf(settings.getControlProperties().getProperty(ConnectionFactory.COPY_JARS_TO_TEMP, "false"))) { - entries.add(getCachedTempForFile(file)); + entries.add(getCachedTempForFile(file,tempDir)); } else { entries.add(file.toURI().toURL()); } @@ -193,9 +198,10 @@ } } + // Now load in the implementation jar // URL implURL = new URL(null, "deepjar://org-mc4j-ems-impl.jar", new Handler()); - URL implURL = storeImplToTemp("org-mc4j-ems-impl.jar"); + URL implURL = storeImplToTemp("org-mc4j-ems-impl.jar", tempDir); entries.add(implURL); @@ -228,8 +234,8 @@ if ((settings.getConnectionType() instanceof JSR160ConnectionTypeDescriptor) && settings.getConnectionType().getConnectionClasspathEntries() == null && Double.parseDouble(System.getProperty("java.version").substring(0, 3)) < 1.5) { - entries.add(storeImplToTemp("lib/jsr160-includes/mx4j.jar")); - entries.add(storeImplToTemp("lib/jsr160-includes/mx4j-remote.jar")); + entries.add(storeImplToTemp("lib/jsr160-includes/mx4j.jar", tempDir)); + entries.add(storeImplToTemp("lib/jsr160-includes/mx4j-remote.jar", tempDir)); } // TODO: Check if file exists, log warning if not Modified: trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/metadata/InternalVMTypeDescriptor.java =================================================================== --- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/metadata/InternalVMTypeDescriptor.java 2007-07-06 01:43:58 UTC (rev 584) +++ trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/metadata/InternalVMTypeDescriptor.java 2007-08-31 17:32:02 UTC (rev 585) @@ -18,6 +18,8 @@ public class InternalVMTypeDescriptor extends J2SE5ConnectionTypeDescriptor { + public static final String DEFAULT_DOMAIN_SEARCH = "mc4j.ems.DefaultDomainSearch"; + public boolean isMEJBCompliant() { return false; } Modified: trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/metadata/JBossConnectionTypeDescriptor.java =================================================================== --- trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/metadata/JBossConnectionTypeDescriptor.java 2007-07-06 01:43:58 UTC (rev 584) +++ trunk/mc4j/modules/ems/src/ems/org/mc4j/ems/connection/support/metadata/JBossConnectionTypeDescriptor.java 2007-08-31 17:32:02 UTC (rev 585) @@ -88,7 +88,7 @@ "lib/jboss-system.jar", "client/jbossall-client.jar", "client/log4j.jar", - "*/*/lib/jboss.jar", + "*/*/lib/jboss.jar", "client/concurrent.jar", "client/jboss-jsr77-client.jar", // 3.2.3 jars Modified: trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/InternalVMProvider.java =================================================================== --- trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/InternalVMProvider.java 2007-07-06 01:43:58 UTC (rev 584) +++ trunk/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/support/providers/InternalVMProvider.java 2007-08-31 17:32:02 UTC (rev 585) @@ -16,9 +16,11 @@ package org.mc4j.ems.impl.jmx.connection.support.providers; -import java.lang.management.ManagementFactory; +import org.mc4j.ems.connection.support.metadata.InternalVMTypeDescriptor; import javax.management.MBeanServer; +import javax.management.MBeanServerFactory; +import java.lang.management.ManagementFactory; /** * Connect to the platform mbean server in the VM that EMS is running in. @@ -30,8 +32,6 @@ protected MBeanServer server; - - public MBeanServer getMBeanServer() { return this.server; @@ -39,6 +39,25 @@ protected void doConnect() throws Exception { - this.server = ManagementFactory.getPlatformMBeanServer(); + String mbeanSearch = + (String) getConnectionSettings().getAdvancedProperties().get( + InternalVMTypeDescriptor.DEFAULT_DOMAIN_SEARCH); + MBeanServer foundServer = null; + if (mbeanSearch != null) + { + for (Object mbs : MBeanServerFactory.findMBeanServer(null)) + { + if (mbeanSearch.equals(((MBeanServer)mbs).getDefaultDomain())) + { + foundServer = (MBeanServer) mbs; + } + } + } + + if (foundServer == null) + { + foundServer = ManagementFactory.getPlatformMBeanServer(); + } + this.server = foundServer; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Greg H. <gh...@us...> - 2006-05-23 13:21:42
|
Update of /cvsroot/mc4j/mc4j In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv6772 Modified Files: build.xml Log Message: Build file cleanup Index: build.xml =================================================================== RCS file: /cvsroot/mc4j/mc4j/build.xml,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** build.xml 17 Apr 2006 03:07:25 -0000 1.43 --- build.xml 23 May 2006 13:21:38 -0000 1.44 *************** *** 369,376 **** - <target name="oldrun" description="Starts MC4J"> - <exec executable="${application.install}/bin/runide.exe"/> - </target> - <target name="run" description="Directly starts MC4J with the settings as the installer would use."> --- 369,372 ---- *************** *** 499,604 **** </target> - <!-- Executes XSL translation to construct the documentation tree from - the XML documents. --> - <target name="build-docs" depends="init" description="Generates html documentation tree"> - <!-- **** Copy needed resources **** --> - <copy todir="docs" overwrite="yes"> - <fileset dir="${doc.build.dir}"> - <include name="*.css"/> - </fileset> - <fileset dir="application/dashboards"> - <include name="*.dtd"/> - </fileset> - </copy> - - <copy todir="docs"> - <fileset dir="${doc.build.dir}"> - <include name="**/*.gif"/> - <include name="**/*.jpg"/> - <include name="**/*.pdf"/> - <include name="**/*.png"/> - - </fileset> - </copy> - - - <!-- **** Build root level documents **** --> - <style basedir="${doc.build.dir}" - destdir="docs" - extension=".html" - style="${doc.build.dir}/mc4j-docs.xsl" - excludes="build.xml module.xml" - includes="**/*.xml"> - </style> - - <mkdir dir="docs/printer"/> - <style basedir="${doc.build.dir}" - destdir="docs/printer" - extension=".html" - style="${doc.build.dir}/mc4j-docs.xsl" - excludes="**/build.xml,**/module.xml" - includes="**/*.xml"> - <param name="module-menu" expression="nomenu"/> - </style> - - - - <!-- Build documents for the modules --> - - <!-- Copy supporting files --> - <!-- - <copy todir="docs/modules"> - <fileset dir="modules"> - <include name="**/docs/**/*.gif"/> - <include name="**/docs/**/*.jpg"/> - </fileset> - </copy> - --> - <!-- **** Build module level docs **** --> - <!-- - <style - destdir="docs" - style="${doc.build.dir}/mc4j-docs.xsl" - includes="modules/*/docs/**/*.xml" - excludes="build.xml module.xml"> - </style> - --> - <!-- **** Build printable module docs **** --> - <!-- - <style - destdir="docs/printer" - style="${doc.build.dir}/mc4j-docs.xsl" - includes="modules/*/docs/**/*.xml" - excludes="build.xml module.xml"> - <param name="module-menu" expression="nomenu"/> - </style> - --> - </target> - - <target - name="clean-docs" - description="Removes built documentation from disk."> - - <delete dir="docs"/> - - </target> - - - <taskdef resource="simiantask.properties" classpath="lib/simian-2.2.4.jar"/> - - <target name="simian"> - <simian> - <fileset dir="src" includes="**/*.java"/> - <formatter type="xml" toFile="simian-log.xml"/> - </simian> - - <style - destdir="." - extension=".html" - style="simian.xsl" - includes="simian-log.xml"> - </style> - </target> - - </project> --- 495,497 ---- |
From: Greg H. <gh...@us...> - 2006-05-23 05:18:28
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/jre15/components In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv26215/src/org/mc4j/jre15/components Modified Files: ThreadsViewComponent.java Log Message: That split pane did not update well Index: ThreadsViewComponent.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/jre15/components/ThreadsViewComponent.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ThreadsViewComponent.java 22 May 2006 02:38:52 -0000 1.4 --- ThreadsViewComponent.java 23 May 2006 05:18:19 -0000 1.5 *************** *** 47,51 **** public class ThreadsViewComponent extends JPanel implements DashboardComponent, BeanComponent { - private EmsBean emsThreadBean; private ThreadMXBean threadBean; private JXTable table; --- 47,50 ---- *************** *** 55,59 **** private JEditorPane threadInfo; private JTextPane threadStack; - private JSplitPane splitPane; --- 54,57 ---- *************** *** 90,126 **** ! table.getSelectionModel().addListSelectionListener(new ListSelectionListener() { ! public void valueChanged(ListSelectionEvent e) { ! if (!table.getSelectionModel().isSelectionEmpty()) { ! ThreadsTableModel.ThreadData d = model.getData(table.convertRowIndexToModel(e.getFirstIndex())); ! StringBuilder b = new StringBuilder(); ! ThreadInfo ti = threadBean.getThreadInfo(d.getLastData().getThreadId(), Integer.MAX_VALUE); ! if (ti != null) { ! for (StackTraceElement el : ti.getStackTrace()) { ! b.append(el); ! b.append("\n"); ! } ! ! String threadInfoString = ! "<html><b>Name: </b> " + ti.getThreadName() + " (" + ti.getThreadId() + ")<br>" + ! "<b>State: </b> " + ti.getThreadState() + "<br>" + ! "<b>Total Blocked: </b>" + ti.getBlockedCount() + " (" + ti.getBlockedTime() + "ms)<br>" + ! "<b>Total Waits: </b> " + ti.getWaitedCount() + " (" + ti.getWaitedTime() + "ms)<br>" + ! "<b>Lock: </b> " + ti.getLockName() + "<br>" + ! "<b>Lock Owner: </b>" + ti.getLockOwnerName() + " (" + ti.getLockOwnerId() + ")" + ! "</html>"; ! ! ! threadInfo.setText(threadInfoString); ! threadStack.setText(b.toString()); ! splitPane.setDividerLocation(splitPane.getHeight() - 250); ! } else { ! threadStack.setText("<unknown>"); ! } ! } else { ! splitPane.setDividerLocation(splitPane.getHeight()); ! } ! } ! }); --- 88,92 ---- ! table.getSelectionModel().addListSelectionListener(new TableSelectionListener()); *************** *** 137,146 **** detail.add(threadInfo); detail.add(new JScrollPane(threadStack)); ! splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, new JScrollPane(table), detail); ! splitPane.setResizeWeight(1); ! splitPane.setDividerLocation(1d); ! add(splitPane, BorderLayout.CENTER); } --- 103,114 ---- detail.add(threadInfo); detail.add(new JScrollPane(threadStack)); + detail.setPreferredSize(new Dimension(1000,250)); ! // splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, new JScrollPane(table), detail); ! // splitPane.setResizeWeight(1); ! // splitPane.setDividerLocation(1d); ! add(new JScrollPane(table), BorderLayout.CENTER); ! add(detail, BorderLayout.SOUTH); } *************** *** 159,164 **** public void setBean(EmsBean emsBean) { ! this.emsThreadBean = emsBean; ! threadBean = emsBean.getProxy(ThreadMXBean.class); // TODO: This is a little nasty, what if someone connects to a production system? --- 127,131 ---- public void setBean(EmsBean emsBean) { ! threadBean = (ThreadMXBean) emsBean.getProxy(ThreadMXBean.class); // TODO: This is a little nasty, what if someone connects to a production system? *************** *** 540,542 **** --- 507,549 ---- } } + + private class TableSelectionListener implements ListSelectionListener { + public void valueChanged(ListSelectionEvent e) { + if (!table.getSelectionModel().isSelectionEmpty()) { + ThreadsTableModel.ThreadData d = model.getData(table.convertRowIndexToModel(e.getFirstIndex())); + StringBuilder b = new StringBuilder(); + ThreadInfo ti = threadBean.getThreadInfo(d.getLastData().getThreadId(), Integer.MAX_VALUE); + if (ti != null) { + for (StackTraceElement el : ti.getStackTrace()) { + b.append(el); + b.append("\n"); + } + + String threadInfoString = + "<html><b>Name: </b> " + ti.getThreadName() + " (" + ti.getThreadId() + ")<br>" + + "<b>State: </b> " + ti.getThreadState() + "<br>" + + "<b>Total Blocked: </b>" + ti.getBlockedCount() + " (" + ti.getBlockedTime() + "ms)<br>" + + "<b>Total Waits: </b> " + ti.getWaitedCount() + " (" + ti.getWaitedTime() + "ms)<br>" + + "<b>Lock: </b> " + ti.getLockName() + "<br>" + + "<b>Lock Owner: </b>" + ti.getLockOwnerName() + " (" + ti.getLockOwnerId() + ")" + + "</html>"; + + + threadInfo.setText(threadInfoString); + String st = b.toString(); + if (!threadStack.getText().equals(st)) + threadStack.setText(b.toString()); + + // if (!(splitPane.getDividerLocation() < splitPane.getHeight() - 20)) + // splitPane.setDividerLocation(splitPane.getHeight() - 250); + } else { + threadStack.setText("<unknown>"); + } + } else { + threadInfo.setText(""); + threadStack.setText(""); + // splitPane.setDividerLocation(splitPane.getHeight()); + } + } + } } |
From: Greg H. <gh...@us...> - 2006-05-22 02:39:03
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv32360/src/org/mc4j/console/dashboard Modified Files: DashboardTopComponent.java Log Message: Visual tweaks Index: DashboardTopComponent.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/dashboard/DashboardTopComponent.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** DashboardTopComponent.java 12 Apr 2006 19:13:52 -0000 1.16 --- DashboardTopComponent.java 22 May 2006 02:38:53 -0000 1.17 *************** *** 100,106 **** } ! scrollPane = new JScrollPane(component); ! add(scrollPane, BorderLayout.CENTER); } --- 100,106 ---- } ! // scrollPane = new JScrollPane(component); ! add(component, BorderLayout.CENTER); } |
From: Greg H. <gh...@us...> - 2006-05-22 02:39:03
|
Update of /cvsroot/mc4j/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/attribute In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv32360/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/attribute Modified Files: DAttribute.java Log Message: Visual tweaks Index: DAttribute.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/modules/ems/src/ems-impl/org/mc4j/ems/impl/jmx/connection/bean/attribute/DAttribute.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DAttribute.java 12 Apr 2006 19:11:34 -0000 1.2 --- DAttribute.java 22 May 2006 02:38:53 -0000 1.3 *************** *** 35,38 **** --- 35,39 ---- import javax.management.MBeanServer; import javax.management.ReflectionException; + import javax.management.modelmbean.ModelMBeanAttributeInfo; import java.io.NotSerializableException; import java.lang.reflect.InvocationTargetException; *************** *** 78,82 **** } - /** * Initializes internal storage settings for the value history --- 79,82 ---- |
From: Greg H. <gh...@us...> - 2006-05-22 02:38:59
|
Update of /cvsroot/mc4j/mc4j/src/org/mc4j/console/mejb In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv32360/src/org/mc4j/console/mejb Modified Files: MBeanFilterNode.java Log Message: Visual tweaks Index: MBeanFilterNode.java =================================================================== RCS file: /cvsroot/mc4j/mc4j/src/org/mc4j/console/mejb/MBeanFilterNode.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** MBeanFilterNode.java 12 Apr 2006 19:13:59 -0000 1.8 --- MBeanFilterNode.java 22 May 2006 02:38:53 -0000 1.9 *************** *** 135,145 **** public void loadMetadata() { EmsAttribute attribute = filteredNode.getAttributeNodeMap().get("eventProvider"); ! eventProvider = ((Boolean) attribute.getValue()).booleanValue(); attribute = filteredNode.getAttributeNodeMap().get("stateManageable"); ! stateManageable = ((Boolean) attribute.getValue()).booleanValue(); attribute = filteredNode.getAttributeNodeMap().get("statisticsProvider"); ! statsProvider = ((Boolean) attribute.getValue()).booleanValue(); if (stateManageable) { --- 135,145 ---- public void loadMetadata() { EmsAttribute attribute = filteredNode.getAttributeNodeMap().get("eventProvider"); ! eventProvider = (Boolean) attribute.getValue(); attribute = filteredNode.getAttributeNodeMap().get("stateManageable"); ! stateManageable = (Boolean) attribute.getValue(); attribute = filteredNode.getAttributeNodeMap().get("statisticsProvider"); ! statsProvider = (Boolean) attribute.getValue(); if (stateManageable) { |