[Mc4j-cvs] SF.net SVN: mc4j:[594] trunk/mc4j/modules/ems
Brought to you by:
ghinkl
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. |