[jboss-remoting-commits] JBoss Remoting SVN: r6339 - in remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281: docs/guide/en and 22 other directories.

jboss-remoting-commits at lists.jboss.org jboss-remoting-commits at lists.jboss.org
Wed Apr 27 10:52:44 EDT 2011


Author: jbertram at redhat.com
Date: 2011-04-27 10:52:43 -0400 (Wed, 27 Apr 2011)
New Revision: 6339

Added:
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/lib/jbossweb/
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/lib/jbossweb/README
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/lib/jbossweb/jbossweb.jar
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/accept/
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/accept/SecondaryAcceptThreadPriorityTestCase.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/dos/
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/dos/DosTestCase.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/coyote/
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/coyote/SetAttributeTestCase.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/socket/accept/
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/socket/accept/AcceptThreadPriorityTestCase.java
Removed:
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/lib/apache-tomcat/
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/lib/jbossweb/jbossweb.jar
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/accept/SecondaryAcceptThreadPriorityTestCase.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/dos/DosTestCase.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/coyote/SetAttributeTestCase.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/socket/accept/AcceptThreadPriorityTestCase.java
Modified:
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/build.xml
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/docs/guide/en/chap5.xml
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/MicroRemoteClientInvoker.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/bisocket/Bisocket.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/bisocket/BisocketServerInvoker.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/coyote/CoyoteInvoker.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/coyote/ssl/RemotingSSLImplementation.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/socket/SocketServerInvoker.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/connection/ConnectionValidatorTestCase.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/connection/params/ConnectionValidatorConfigurationTestCase.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/http/EmptyURITestCase.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/http/marshal/HttpContentTypeTestCase.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/servlet/marshal/config/ServletConfigurationMapTestClient.java
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/servlet/marshal/config/WEB-INF/
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/servlet/marshal/config/remoting-servlet-service.xml
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/servlet/remoting-servlet-service.xml
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/servlet/ssl/keystore
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/servlet/ssl/remoting-sslservlet-service.xml
   remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/servlet/ssl/truststore
Log:
JBPAPP-6353


Property changes on: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281
___________________________________________________________________
Added: svn:mergeinfo
   + /remoting2/branches/2.2:6177-6178,6226,6253,6261-6263,6266-6267,6271-6273,6281-6284,6291-6292,6297,6313-6320,6322-6324

Modified: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/build.xml
===================================================================
--- remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/build.xml	2011-04-26 03:10:49 UTC (rev 6338)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/build.xml	2011-04-27 14:52:43 UTC (rev 6339)
@@ -188,7 +188,7 @@
    <!-- Compile                                                            -->
    <!-- ================================================================== -->
    <target name="compile" description="Compile all source files." depends="configure">
-
+      <echo>${java.runtime.version}</echo>
       <mkdir dir="${compile.dir}"/>
 
       <!-- java source compile -->
@@ -199,8 +199,19 @@
              deprecation="on"
              optimize="off"
              includes="**/*.java"
-             failonerror="true">
+             failonerror="true"
+             sourcepath="">
          <src path="${src.dir}"/>
+         <exclude name="org/jboss/remoting/transport/coyote/**" if="isJDK4"/>
+         <exclude name="org/jboss/remoting/transport/http/HTTPServerInvoker.java" if="isJDK4"/>
+         <exclude name="org/jboss/remoting/transport/http/TransportServerFactory.java" if="isJDK4"/>
+         <exclude name="org/jboss/remoting/transport/http/ssl/HTTPSServerInvoker.java" if="isJDK4"/>
+         <exclude name="org/jboss/remoting/transport/https/HTTPSServerInvoker.java" if="isJDK4"/>
+         <exclude name="org/jboss/remoting/transport/https/TransportServerFactory.java" if="isJDK4"/>
+         <exclude name="org/jboss/remoting/transport/servlet/ServletServerInvoker.java" if="isJDK4"/>
+         <exclude name="org/jboss/remoting/transport/servlet/TransportServerFactory.java" if="isJDK4"/>
+         <exclude name="org/jboss/remoting/transport/sslservlet/TransportServerFactory.java" if="isJDK4"/>
+         <exclude name="org/jboss/remoting/transport/web/WebServerInvoker.java" if="isJDK4"/>
          <classpath refid="library.classpath"/>
       </javac>
 
@@ -287,6 +298,13 @@
              includes="**/*.java"
              failonerror="true">
          <src path="${tests.src.dir}"/>
+         <include name="**/*.java"/>
+         <exclude name="org/jboss/test/remoting/**/coyote/**" if="isJDK4"/>
+         <exclude name="org/jboss/test/remoting/**/http/**" if="isJDK4"/>
+         <exclude name="org/jboss/test/remoting/**/*HTTP*" if="isJDK4"/>
+         <exclude name="org/jboss/test/remoting/**/*Http*" if="isJDK4"/>
+         <exclude name="org/jboss/test/remoting/**/https/**" if="isJDK4"/>
+         <exclude name="org/jboss/test/remoting/**/servlet/**" if="isJDK4"/>
          <classpath refid="tests.classpath"/>
       </javac>
 
@@ -680,7 +698,9 @@
 
    <target name="tests.functional.core" depends="configure">
       <antcall target="tests.functional.serialization.java.core" inheritrefs="true"/>
+      <antcall target="tests.functional.serialization.java.http.core" inheritrefs="true"/>
       <antcall target="tests.functional.serialization.jboss.core" inheritrefs="true"/>
+      <antcall target="tests.functional.serialization.jboss.http.core" inheritrefs="true"/>
    </target>
 
    <!-- calls functional main tests and marshall test with both java and jboss (if jdk1.5) serialization -->
@@ -818,6 +838,7 @@
    </target>
 
    <target name="tests.functional.main.core" depends="tests.jars">
+      <echo>bisocket/rmi/socket: ${metadata}</echo>
       <mkdir dir="${output.tests.results}"/>
       <junit printsummary="true" fork="yes" includeantruntime="true">
          <jvmarg value="-Dloader.path=${output.lib.dir}/jboss-remoting-loading-tests.jar"/>
@@ -845,6 +866,12 @@
                     haltonfailure="no">
             <fileset dir="${tests.compile.dir}">
                <include name="**/remoting/**/*TestCase.class"/>
+               <exclude name="**/remoting/**/coyote/**/*TestCase.class"/>
+               <exclude name="**/remoting/**/coyote/**/*oyot*TestCase.class"/>
+               <exclude name="**/remoting/**/http/**/*TestCase.class"/>
+               <exclude name="**/remoting/**/*HTTP*TestCase.class"/>
+               <exclude name="**/remoting/**/*Http*TestCase.class"/>
+               <exclude name="**/remoting/**/*http*TestCase.class"/>
                <exclude name="**/remoting/**/ServerBindingTestCase.class"/>
                <exclude name="**/remoting/marshall/dynamic/remote/**/*TestCase.class"/>
                <exclude name="**/remoting/serialization/**/jboss/*TestCase.class"/>
@@ -866,6 +893,73 @@
          </batchtest>
       </junit>
    </target>
+   
+   <target name="tests.functional.serialization.java.http.core" unless="isJDK4">
+      <antcall target="tests.functional.http.jbossweb.core" inheritrefs="true">
+         <param name="serialization" value="java"/>
+      </antcall>
+   </target>
+   
+   <target name="tests.functional.serialization.jboss.http.core" unless="isJDK4">
+      <antcall target="tests.functional.http.jbossweb.core" inheritrefs="true">
+         <param name="serialization" value="jboss"/>
+      </antcall>
+   </target>
+         
+   <target name="tests.functional.http.jbossweb.core" unless="isJDK4">
+      <antcall target="tests.functional.main.http.core" inheritrefs="true">
+         <param name="remoting.metadata.key" value="remoting.metadata"/>
+         <param name="metadata" value="serializationtype=${serialization}"/>
+         <param name="jboss-junit-configuration" value="${serialization}_serialization_jbossweb"/>
+         <param name="classpath" value="tests.classpath"/>
+         <param name="version" value="jbossweb"/>
+      </antcall>
+   </target>
+   
+   <target name="tests.functional.main.http.core">
+      <mkdir dir="${output.tests.results}"/>
+      <echo>http with ${version}: ${metadata}</echo>
+      <junit printsummary="true" fork="yes" includeantruntime="true" maxmemory="1024m">
+         <jvmarg value="-Dloader.path=${output.lib.dir}/jboss-remoting-loading-tests.jar"/>
+         <jvmarg value="-D${remoting.metadata.key}=${metadata}"/>
+         <classpath>
+            <path refid="${classpath}"/>
+            <pathelement location="${output.lib.dir}/jboss-remoting-tests.jar"/>
+         </classpath>
+         <!-- set system properties required by JRunit -->
+         <sysproperty key="jrunit.bind_addr"  value="${bind.address}"/>
+         <sysproperty key="jrunit.mcast_addr" value="${multicast.address}"/>
+         <sysproperty key="jrunit.mcast_port" value="${multicast.port}"/>
+         <sysproperty key="jrunit.receive_on_all_interfaces" value="${receiveOnAllInterfaces}"/>
+         <sysproperty key="jrunit.send_on_all_interfaces" value="${sendOnAllInterfaces}"/>
+         <sysproperty key="jrunit.send_interfaces" value="${sendInterfaces}"/>
+         <sysproperty key="jrunit.logdir" value="${output.tests}"/>
+         <sysproperty key="remoting.jar.dir" value="${basedir}/output/lib"/>
+         <sysproperty key="ant.library.dir" value="${ant.library.dir}"/>
+         <sysproperty key="build.home" value="${basedir}"/>
+         <sysproperty key="jboss-junit-configuration" value="${jboss-junit-configuration}"/>
+         <formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter"
+                    extension="-${jboss-junit-configuration}.xml"/>
+         <batchtest fork="yes" todir="${output.tests.results}"
+                    haltonfailure="no">
+            <fileset dir="${tests.compile.dir}">
+               <include name="**/remoting/**/coyote/**/*TestCase.class"/>
+               <include name="**/remoting/**/coyote/**/*oyot*TestCase.class"/>
+               <include name="**/remoting/**/http/**/*TestCase.class"/>
+               <include name="**/remoting/**/*HTTP*TestCase.class"/>
+               <include name="**/remoting/**/*Http*TestCase.class"/>
+               <include name="**/remoting/**/*http*TestCase.class"/>
+               <exclude name="**/remoting/**/HTTPSAsynchCallbackTestCase.class"/>
+               <exclude name="**/remoting/**/HTTPInvokerClientTestCase.class"/>
+               <exclude name="**/remoting/transport/http/compression/*CompressedHTTPInvokerTestCase*"/>
+               <exclude name="**/remoting/**/performance/**"/>
+               <exclude name="**/remoting/**/nonserializable/**"/>
+               <exclude name="**/remoting/marshall/dynamic/remote/**/*TestCase.class"/>
+               <exclude name="**/remoting/versioning/**/*TestCase.class"/>
+            </fileset>
+         </batchtest>
+      </junit>
+   </target>
 
    <target name="tests.functional.main.isJDK5" depends="tests.jars" if="isJDK5">
       <mkdir dir="${output.tests.results}"/>
@@ -1037,8 +1131,14 @@
    <!-- check to see if running jdk1.5 -->
    <target name="get-jvm">
       <condition property="isJDK5">
-         <equals arg1="${ant.java.version}" arg2="1.5"/>
+         <or>
+            <equals arg1="${ant.java.version}" arg2="1.5"/>
+            <equals arg1="${ant.java.version}" arg2="1.6"/>
+         </or>
       </condition>
+      <condition property="isJDK4">
+         <contains string="${java.runtime.version}" substring="1.4"/>
+      </condition>
    </target>
 
    <!-- This section is for quick smoke test of java vs. jboss serialization -->
@@ -1669,6 +1769,60 @@
       </antcall>
 
       <!-- ******************************************************************************** -->
+      <!--  Current <- -> 2.2.3.SP3 -->
+      <antcall target="tests.versioning.all_transports" inheritrefs="true">
+         <param name="jboss-junit-configuration" value="2_2_3_SP3-client"/>
+         <param name="client.classpath" value="${etc.dir}/lib/remoting_2_2_3_SP3/jboss-remoting.jar"/>
+         <param name="server.classpath" value="${output.lib.dir}/jboss-remoting.jar"/>
+         <param name="client.pre_2_0_compatible" value=""/>
+         <param name="server.pre_2_0_compatible" value=""/>
+         <param name="client.version" value=""/>
+         <param name="server.version" value="2"/>
+         <param name="check_connection" value="false"/>
+         <param name="clientImplementsServerIdentity" value="false"/>
+         <param name="serverImplementsServerIdentity" value="true"/>
+      </antcall>
+      <antcall target="tests.versioning.all_transports" inheritrefs="true">
+         <param name="jboss-junit-configuration" value="2_2_3_SP3-server"/>
+         <param name="server.classpath" value="${etc.dir}/lib/remoting_2_2_3_SP3/jboss-remoting.jar"/>
+         <param name="client.classpath" value="${output.lib.dir}/jboss-remoting.jar"/>
+         <param name="client.pre_2_0_compatible" value=""/>
+         <param name="server.pre_2_0_compatible" value=""/>
+         <param name="client.version" value="2"/>
+         <param name="server.version" value=""/>
+         <param name="check_connection" value="false"/>
+         <param name="clientImplementsServerIdentity" value="true"/>
+         <param name="serverImplementsServerIdentity" value="false"/>
+      </antcall>
+      
+      <!-- ******************************************************************************** -->
+      <!--  Current <- -> 2.2.3.SP2 -->
+      <antcall target="tests.versioning.all_transports" inheritrefs="true">
+         <param name="jboss-junit-configuration" value="2_2_3_SP2-client"/>
+         <param name="client.classpath" value="${etc.dir}/lib/remoting_2_2_3_SP2/jboss-remoting.jar"/>
+         <param name="server.classpath" value="${output.lib.dir}/jboss-remoting.jar"/>
+         <param name="client.pre_2_0_compatible" value=""/>
+         <param name="server.pre_2_0_compatible" value=""/>
+         <param name="client.version" value=""/>
+         <param name="server.version" value="2"/>
+         <param name="check_connection" value="false"/>
+         <param name="clientImplementsServerIdentity" value="false"/>
+         <param name="serverImplementsServerIdentity" value="true"/>
+      </antcall>
+      <antcall target="tests.versioning.all_transports" inheritrefs="true">
+         <param name="jboss-junit-configuration" value="2_2_3_SP2-server"/>
+         <param name="server.classpath" value="${etc.dir}/lib/remoting_2_2_3_SP2/jboss-remoting.jar"/>
+         <param name="client.classpath" value="${output.lib.dir}/jboss-remoting.jar"/>
+         <param name="client.pre_2_0_compatible" value=""/>
+         <param name="server.pre_2_0_compatible" value=""/>
+         <param name="client.version" value="2"/>
+         <param name="server.version" value=""/>
+         <param name="check_connection" value="false"/>
+         <param name="clientImplementsServerIdentity" value="true"/>
+         <param name="serverImplementsServerIdentity" value="false"/>
+      </antcall>
+      
+      <!-- ******************************************************************************** -->
       <!--  Current <- -> 2.2.3.SP1 -->
       <antcall target="tests.versioning.all_transports" inheritrefs="true">
          <param name="jboss-junit-configuration" value="2_2_3_SP1-client"/>

Modified: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/docs/guide/en/chap5.xml
===================================================================
--- remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/docs/guide/en/chap5.xml	2011-04-26 03:10:49 UTC (rev 6338)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/docs/guide/en/chap5.xml	2011-04-27 14:52:43 UTC (rev 6339)
@@ -1078,6 +1078,16 @@
       <classname>java.net.SocketTimeoutException</classname>. If set to "true",
       or if JBossSerialization is being used, the server thread will continue to wait for an invocation; otherwise, it
       will return itself to the thread pool.</para>
+      
+         
+      <para><emphasis role="bold">acceptThreadPriorityIncrement</emphasis> - can
+        be used to increment the priority of the accept thread, which manages the
+        <classname>ServerSocket</classname>.  The value is added to
+        <code>java.lang.Thread.NORM_PRIORITY</code>, and the resulting value must be
+        no more than <code>java.lang.Thread.MAX_PRIORITY</code>.  This parameter might
+        be useful on a heavily loaded machine if the accept
+        thread is getting starved.
+      </para>
         
       <bridgehead>Configurations affecting the Socket invoker
       client</bridgehead>
@@ -2838,6 +2848,18 @@
           <classname>BisocketServerInvoker</classname> uses it to govern the
           number of attempts it should make to create both ordinary and control
           sockets. The default value is 10. </para>
+          
+           
+        <para>Also, the parameter "acceptThreadPriorityIncrement", inherited from
+          <classname>org.jboss.remoting.transport.socket.SocketServerInvoker</classname>, can
+          be used to increment the priority of the thread that manages the secondary
+          <classname>ServerSocket</classname>.  The value is added to
+          <code>java.lang.Thread.NORM_PRIORITY</code>, and the resulting value must be
+          no more than <code>java.lang.Thread.MAX_PRIORITY</code>.  This parameter might
+          be useful on a heavily loaded machine if the secondary <classname>ServerSocket</classname>
+          thread is getting starved.
+        </para>
+        
       </section>
       
       <section>
@@ -6812,6 +6834,18 @@
     value is 'serverSocketClass') - specifies the fully qualified class name
     for the custom SocketWrapper implementation to use on the server.</para>
   
+        
+    <para><emphasis role="bold">Bean properties (meaning have getter/setter):</emphasis></para>
+
+    <para><emphasis role="bold">acceptThreadPriorityIncrement</emphasis> - can
+      be used to increment the priority of the accept thread, which manages the
+      <classname>ServerSocket</classname>.  The value is added to
+      <code>java.lang.Thread.NORM_PRIORITY</code>, and the resulting value must be
+      no more than <code>java.lang.Thread.MAX_PRIORITY</code>.  This parameter might
+      be useful on a heavily loaded machine if the accept
+      thread is getting starved.
+    </para>
+    
     <bridgehead>org.jboss.remoting.transport.socket.SocketWrapper</bridgehead>
 
     <para><emphasis role="bold">WRITE_TIMEOUT</emphasis> (actual value

Copied: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/lib/jbossweb/README (from rev 6322, remoting2/branches/2.2/lib/jbossweb/README)
===================================================================
Deleted: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/lib/jbossweb/jbossweb.jar
===================================================================
(Binary files differ)

Copied: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/lib/jbossweb/jbossweb.jar (from rev 6318, remoting2/branches/2.2/lib/jbossweb/jbossweb.jar)
===================================================================
(Binary files differ)

Modified: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/MicroRemoteClientInvoker.java
===================================================================
--- remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/MicroRemoteClientInvoker.java	2011-04-26 03:10:49 UTC (rev 6338)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/MicroRemoteClientInvoker.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -653,9 +653,6 @@
 
    protected LeasePinger getLeasePinger()
    {
-      synchronized(clientLeaseLock)
-      {
-         return leasePinger;
-      }
+      return leasePinger;
    }
 }

Modified: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/bisocket/Bisocket.java
===================================================================
--- remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/bisocket/Bisocket.java	2011-04-26 03:10:49 UTC (rev 6338)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/bisocket/Bisocket.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -53,7 +53,7 @@
     */
    public static final String PING_WINDOW_FACTOR = "pingWindowFactor";
    public static final int PING_WINDOW_FACTOR_DEFAULT = 2;
-
+   
    /**
     * Configuration key and default value for number of retries
     * BisocketServerInvoker.ControlConnectionThread and 
@@ -76,4 +76,13 @@
     */
    public static final String SECONDARY_BIND_PORT = "secondaryBindPort";
    public static final String SECONDARY_CONNECT_PORT = "secondaryConnectPort";
+
+   /**
+    * Configuration keys and default values for parameters related to DOS attack
+    * on BisocketServerInvoker.SecondaryServerSocketThread
+    */
+   public static final String SECONDARY_MAX_THREADS = "secondaryMaxThreads";
+   public static final String SECONDARY_TIMEOUT = "secondaryTimeout";
+   public static final int SECONDARY_MAX_THREADS_DEFAULT = 50;
+   public static final int SECONDARY_TIMEOUT_DEFAULT = 60000;
 }

Modified: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/bisocket/BisocketServerInvoker.java
===================================================================
--- remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/bisocket/BisocketServerInvoker.java	2011-04-26 03:10:49 UTC (rev 6338)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/bisocket/BisocketServerInvoker.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -53,7 +53,9 @@
 import org.jboss.remoting.transport.socket.SocketServerInvoker;
 import org.jboss.logging.Logger;
 
+import EDU.oswego.cs.dl.util.concurrent.Semaphore;
 
+
 /**
  *
  * @author <a href="ron.sigal at jboss.com">Ron Sigal</a>
@@ -85,6 +87,8 @@
    protected boolean isCallbackServer = false;
    protected int secondaryBindPort = -1;
    protected int secondaryConnectPort = -1;
+   protected int dosMaxThreads = Bisocket.SECONDARY_MAX_THREADS_DEFAULT;
+   protected int dosTimeout = Bisocket.SECONDARY_TIMEOUT_DEFAULT;
 
 
    public static BisocketServerInvoker getBisocketServerInvoker(String listenerId)
@@ -199,7 +203,9 @@
          secondaryServerSocketThread = new SecondaryServerSocketThread(secondaryServerSocket);
          secondaryServerSocketThread.setName("secondaryServerSocketThread");
          secondaryServerSocketThread.setDaemon(true);
+         secondaryServerSocketThread.setPriority(Thread.NORM_PRIORITY + acceptThreadPriorityIncrement);
          secondaryServerSocketThread.start();
+         log.debug("started SecondaryServerSocketThread with priority " + secondaryServerSocketThread.getPriority());
          log.debug("started secondary port: " + host + ":" + secondaryBindPort);
       }
    }
@@ -358,6 +364,30 @@
    }
    
    
+   public int getDosMaxThreads()
+   {
+      return dosMaxThreads;
+   }
+
+
+   public void setDosMaxThreads(int dosMaxThreads)
+   {
+      this.dosMaxThreads = dosMaxThreads;
+   }
+
+
+   public int getDosTimeout()
+   {
+      return dosTimeout;
+   }
+
+
+   public void setDosTimeout(int dosTimeout)
+   {
+      this.dosTimeout = dosTimeout;
+   }
+
+
    public int getPingFrequency()
    {
       return pingFrequency;
@@ -509,6 +539,42 @@
          log.warn("\"" + Bisocket.SECONDARY_CONNECT_PORT + "\" must be specified as a String");
       }
       
+      o = configuration.get(Bisocket.SECONDARY_MAX_THREADS);
+      if (o instanceof String && ((String) o).length() > 0)
+      {
+            try
+            {
+               dosMaxThreads = Integer.valueOf(((String) o)).intValue();
+               log.debug(this + " setting dosMaxThreads to " + dosMaxThreads);
+            }
+            catch (NumberFormatException e)
+            {
+               log.warn("Invalid format for " + "\"" + Bisocket.SECONDARY_MAX_THREADS + "\": " + o);
+            }
+      }
+      else if (o != null)
+      {
+         log.warn("\"" + Bisocket.SECONDARY_MAX_THREADS + "\" must be specified as a String");
+      }
+      
+      o = configuration.get(Bisocket.SECONDARY_TIMEOUT);
+      if (o instanceof String && ((String) o).length() > 0)
+      {
+            try
+            {
+               dosTimeout = Integer.valueOf(((String) o)).intValue();
+               log.debug(this + " setting dosTimeout to " + dosTimeout);
+            }
+            catch (NumberFormatException e)
+            {
+               log.warn("Invalid format for " + "\"" + Bisocket.SECONDARY_TIMEOUT + "\": " + o);
+            }
+      }
+      else if (o != null)
+      {
+         log.warn("\"" + Bisocket.SECONDARY_TIMEOUT + "\" must be specified as a String");
+      }
+      
       if (isCallbackServer)
       {
          socketFactory = createSocketFactory(configuration);
@@ -861,6 +927,8 @@
    {
       private ServerSocket secondaryServerSocket;
       boolean running = true;
+      Semaphore maxThreads = new Semaphore(dosMaxThreads);
+      int localDosTimeout = dosTimeout;
 
       SecondaryServerSocketThread(ServerSocket secondaryServerSocket) throws IOException
       {
@@ -881,41 +949,7 @@
             {
                Socket socket = secondaryServerSocket.accept();
                if (log.isTraceEnabled()) log.trace("accepted: " + socket);
-               DataInputStream dis = new DataInputStream(socket.getInputStream());
-               int action = dis.read();
-               String listenerId = dis.readUTF();
-
-               switch (action)
-               {
-                  case Bisocket.CREATE_CONTROL_SOCKET:
-                     BisocketClientInvoker.transferSocket(listenerId, socket, true);
-                     if (log.isTraceEnabled()) 
-                        log.trace("SecondaryServerSocketThread: created control socket: (" + socket + ")"+ listenerId);
-                     break;
-                     
-                  case Bisocket.RECREATE_CONTROL_SOCKET:
-                     BisocketClientInvoker invoker =  BisocketClientInvoker.getBisocketCallbackClientInvoker(listenerId);
-                     if (invoker == null)
-                     {
-                        log.debug("received new control socket for unrecognized listenerId: " + listenerId);
-                     }
-                     else
-                     {
-                        invoker.replaceControlSocket(socket);
-                        if (log.isTraceEnabled())
-                           log.trace("SecondaryServerSocketThread: recreated control socket: " + listenerId);
-                     }
-                     break;
-
-                  case Bisocket.CREATE_ORDINARY_SOCKET:
-                     BisocketClientInvoker.transferSocket(listenerId, socket, false);
-                     if (log.isTraceEnabled())
-                        log.trace("SecondaryServerSocketThread: transferred socket: " + listenerId);
-                     break;
-
-                  default:
-                     log.error("unrecognized action on SecondaryServerSocketThread: " + action);
-               }
+               processSocket(socket);
             }
             catch (IOException e)
             {
@@ -928,6 +962,86 @@
          }
       }
 
+      void processSocket(final Socket socket) throws IOException
+      {
+         while (true)
+         {
+            try
+            {
+               maxThreads.acquire();
+               break;
+            }
+            catch (InterruptedException e1)
+            {
+               log.trace("unexpected interrupt");
+            }
+         }
+         
+         new Thread()
+         {
+            public void run()
+            {
+               setName("processSocketThread: " + socket);
+               if (log.isTraceEnabled()) log.trace(this + " processing socket: " + socket);
+               try
+               {
+                  socket.setSoTimeout(localDosTimeout);
+                  DataInputStream dis = new DataInputStream(socket.getInputStream());
+                  int action = dis.read();
+                  String listenerId = dis.readUTF();
+
+                  switch (action)
+                  {
+                     case Bisocket.CREATE_CONTROL_SOCKET:
+                        BisocketClientInvoker.transferSocket(listenerId, socket, true);
+                        if (log.isTraceEnabled()) 
+                           log.trace("SecondaryServerSocketThread: created control socket: (" + socket + ")"+ listenerId);
+                        break;
+
+                     case Bisocket.RECREATE_CONTROL_SOCKET:
+                        BisocketClientInvoker invoker =  BisocketClientInvoker.getBisocketCallbackClientInvoker(listenerId);
+                        if (invoker == null)
+                        {
+                           log.debug("received new control socket for unrecognized listenerId: " + listenerId);
+                        }
+                        else
+                        {
+                           invoker.replaceControlSocket(socket);
+                           if (log.isTraceEnabled())
+                              log.trace("SecondaryServerSocketThread: recreated control socket: " + listenerId);
+                        }
+                        break;
+
+                     case Bisocket.CREATE_ORDINARY_SOCKET:
+                        BisocketClientInvoker.transferSocket(listenerId, socket, false);
+                        if (log.isTraceEnabled())
+                           log.trace("SecondaryServerSocketThread: transferred socket: " + listenerId);
+                        break;
+
+                     default:
+                        log.error("unrecognized action on SecondaryServerSocketThread: " + action);
+                  }
+               }
+               catch (IOException e)
+               {
+                  if (running)
+                  {
+                     log.error(this + " unable to process socket", e);
+                  }
+                  else
+                  {
+                     log.debug(this + " unable to process socket", e);
+                  }
+               }
+               finally
+               {
+                  if (log.isTraceEnabled()) log.trace(this + " processed socket: " + socket);
+                  maxThreads.release();
+               }
+            }
+         }.start();
+      }
+      
       ServerSocket getServerSocket()
       {
          return secondaryServerSocket;

Modified: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/coyote/CoyoteInvoker.java
===================================================================
--- remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/coyote/CoyoteInvoker.java	2011-04-26 03:10:49 UTC (rev 6338)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/coyote/CoyoteInvoker.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -17,15 +17,20 @@
 
 package org.jboss.remoting.transport.coyote;
 
+import org.apache.catalina.Executor;
+import org.apache.catalina.LifecycleException;
+import org.apache.catalina.core.StandardThreadExecutor;
 import org.apache.coyote.ActionCode;
 import org.apache.coyote.Adapter;
 import org.apache.coyote.ProtocolHandler;
 import org.apache.coyote.Request;
+import org.apache.coyote.Response;
 import org.apache.tomcat.util.buf.B2CConverter;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.buf.CharChunk;
 import org.apache.tomcat.util.buf.MessageBytes;
 import org.apache.tomcat.util.http.MimeHeaders;
+import org.apache.tomcat.util.net.SocketStatus;
 import org.jboss.remoting.InvocationRequest;
 import org.jboss.remoting.InvocationResponse;
 import org.jboss.remoting.InvokerLocator;
@@ -49,6 +54,7 @@
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.Enumeration;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 
@@ -160,11 +166,12 @@
       {
          String key = (String) keys.next();
          Object obj = config.get(key);
-         if (obj instanceof String)
+         if ("executor".equals(key) && obj instanceof String)
          {
-            String val = (String) obj;
-            setProperty(protocolHandler, key, val);
+            createAndSetExecutor(protocolHandler, (String) obj);
+            continue;
          }
+         setProperty(protocolHandler, key, obj);
       }
 
       // need to convert standard remoting timeout config to tomcat timeout
@@ -954,7 +961,7 @@
     * int or boolean we'll convert value to the right type before) - that means
     * you can have setDebug(1).
     */
-   public static boolean setProperty(Object o, String name, String value)
+   public static boolean setProperty(Object o, String name, Object value)
    {
       String setter = "set" + capitalize(name);
 
@@ -962,109 +969,144 @@
       {
          Method methods[] = o.getClass().getMethods();
          Method setPropertyMethod = null;
+         Method setAttributeMethod = null;
+         Method setExecutorMethod = null;
 
-         // First, the ideal case - a setFoo( String ) method
-         for(int i = 0; i < methods.length; i++)
+         // Try a setFoo( String) or setFoo ( int ) or ( boolean )
+         if (value instanceof String)
          {
-            Class paramT[] = methods[i].getParameterTypes();
-            if(setter.equals(methods[i].getName()) && paramT.length == 1
-               && "java.lang.String".equals(paramT[0].getName()))
+            String stringValue = (String) value;
+            for(int i = 0; i < methods.length; i++)
             {
+               boolean ok = true;
+               if(setter.equals(methods[i].getName())
+                     && methods[i].getParameterTypes().length == 1)
+               {
 
-               methods[i].invoke(o, new Object[]{value});
-               return true;
-            }
-         }
+                  // match - find the type and invoke it
+                  Class paramType = methods[i].getParameterTypes()[0];
+                  Object params[] = new Object[1];
 
-         // Try a setFoo ( int ) or ( boolean )
-         for(int i = 0; i < methods.length; i++)
-         {
-            boolean ok = true;
-            if(setter.equals(methods[i].getName())
-               && methods[i].getParameterTypes().length == 1)
-            {
-
-               // match - find the type and invoke it
-               Class paramType = methods[i].getParameterTypes()[0];
-               Object params[] = new Object[1];
-
-               // Try a setFoo ( int )
-               if("java.lang.Integer".equals(paramType.getName())
-                  || "int".equals(paramType.getName()))
-               {
-                  try
+                  // Try a setFoo ( String )
+                  if("java.lang.String".equals(paramType.getName()))
                   {
-                     params[0] = new Integer(value);
+                     params[0] = stringValue;
                   }
-                  catch(NumberFormatException ex)
+                  // Try a setFoo ( int )
+                  else if("java.lang.Integer".equals(paramType.getName())
+                        || "int".equals(paramType.getName()))
                   {
-                     ok = false;
+                     try
+                     {
+                        params[0] = new Integer(stringValue);
+                     }
+                     catch(NumberFormatException ex)
+                     {
+                        ok = false;
+                     }
+                     // Try a setFoo ( long )
                   }
-                  // Try a setFoo ( long )
-               }
-               else if("java.lang.Long".equals(paramType.getName())
-                       || "long".equals(paramType.getName()))
-               {
-                  try
+                  else if("java.lang.Long".equals(paramType.getName())
+                        || "long".equals(paramType.getName()))
                   {
-                     params[0] = new Long(value);
+                     try
+                     {
+                        params[0] = new Long(stringValue);
+                     }
+                     catch(NumberFormatException ex)
+                     {
+                        ok = false;
+                     }
+
+                     // Try a setFoo ( boolean )
                   }
-                  catch(NumberFormatException ex)
+                  else if("java.lang.Boolean".equals(paramType.getName())
+                        || "boolean".equals(paramType.getName()))
                   {
-                     ok = false;
+                     params[0] = new Boolean(stringValue);
+
+                     // Try a setFoo ( InetAddress )
                   }
+                  else if("java.net.InetAddress".equals(paramType
+                        .getName()))
+                  {
+                     try
+                     {
+                        params[0] = InetAddress.getByName(stringValue);
+                     }
+                     catch(UnknownHostException exc)
+                     {
+                        ok = false;
+                     }
 
-                  // Try a setFoo ( boolean )
-               }
-               else if("java.lang.Boolean".equals(paramType.getName())
-                       || "boolean".equals(paramType.getName()))
-               {
-                  params[0] = new Boolean(value);
+                     // Unknown type
+                  }
 
-                  // Try a setFoo ( InetAddress )
-               }
-               else if("java.net.InetAddress".equals(paramType
-                     .getName()))
-               {
-                  try
+                  if(ok)
                   {
-                     params[0] = InetAddress.getByName(value);
+                     methods[i].invoke(o, params);
+                     return true;
                   }
-                  catch(UnknownHostException exc)
-                  {
-                     ok = false;
-                  }
-
-                  // Unknown type
                }
-
-               if(ok)
+               // save "setProperty" for later
+               if ("setAttribute".equals(methods[i].getName()))
                {
-                  methods[i].invoke(o, params);
-                  return true;
+                  setAttributeMethod = methods[i];
                }
+               else if("setProperty".equals(methods[i].getName()))
+               {
+                  setPropertyMethod = methods[i];
+               }
             }
-
-            // save "setProperty" for later
-            if("setProperty".equals(methods[i].getName()))
+         }
+         else
+         {
+            for(int i = 0; i < methods.length; i++)
             {
-               setPropertyMethod = methods[i];
+               // save "setProperty" for later
+               if ("setAttribute".equals(methods[i].getName()))
+               {
+                  setAttributeMethod = methods[i];
+               }
+               else if("setProperty".equals(methods[i].getName()))
+               {
+                  setPropertyMethod = methods[i];
+               }
+               else if ("setExecutor".equals(methods[i].getName()))
+               {
+                  setExecutorMethod = methods[i];
+               }
             }
          }
 
-         // Ok, no setXXX found, try a setProperty("name", "value")
-         if(setPropertyMethod != null)
+         // Ok, no setXXX found, try a setProperty("name", "value") or setAttribute("name", "value")
+         if(setExecutorMethod != null && value instanceof Executor)
          {
+            Object params[] = new Object[1];
+            params[0] = value;
+            setExecutorMethod.invoke(o, params);
+            return true;
+         }
+         else if(setAttributeMethod != null)
+         {
             Object params[] = new Object[2];
             params[0] = name;
             params[1] = value;
+            setAttributeMethod.invoke(o, params);
+            return true;
+         }
+         else if(setPropertyMethod != null)
+         {
+            Object params[] = new Object[2];
+            params[0] = name;
+            params[1] = value;
             setPropertyMethod.invoke(o, params);
             return true;
          }
-
       }
       catch(Exception e)
       {
+         log.debug("unable to set property " + name + " to " + value + ": " + e.getMessage());
          return false;
       }
       return false;
@@ -1089,4 +1131,37 @@
    {
       return contentType.indexOf('\n') + contentType.indexOf('\r') > -2;
    }
+     
+   static private void createAndSetExecutor(ProtocolHandler protocolHandler, String executorConfig)
+   {
+      Executor executor = new StandardThreadExecutor();
+      log.debug("setting executor to " + executor + " with properties:");
+      if (executorConfig != null)
+      {
+         String[] ss = executorConfig.split(",");
+         for (int i = 0; i < ss.length; i++)
+         {
+            int pos = ss[i].indexOf('=');
+            setProperty(executor, ss[i].substring(0, pos).trim(), ss[i].substring(pos + 1).trim());
+            log.debug(ss[i].substring(0, pos).trim() + ": " + ss[i].substring(pos + 1).trim());
+         }  
+      }
+      
+      try
+      {
+         executor.start();
+      }
+      catch (LifecycleException e)
+      {
+         log.warn("unable to start executor " + executor, e);
+         return;
+      }
+      
+      setProperty(protocolHandler, "executor", executor);
+   }
+
+   public boolean event(Request req, Response res, SocketStatus status) throws Exception
+   {
+      return false;
+   }
 }

Modified: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/coyote/ssl/RemotingSSLImplementation.java
===================================================================
--- remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/coyote/ssl/RemotingSSLImplementation.java	2011-04-26 03:10:49 UTC (rev 6338)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/coyote/ssl/RemotingSSLImplementation.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -26,6 +26,7 @@
 import java.util.HashMap;
 import java.util.Map;
 import javax.management.MBeanServer;
+import javax.net.ssl.SSLSession;
 import javax.net.ssl.SSLSocket;
 import org.apache.tomcat.util.net.SSLImplementation;
 import org.apache.tomcat.util.net.SSLSupport;
@@ -63,4 +64,9 @@
    {
       mbeanServerMap.put(locator, mBeanServer);
    }
+
+   public SSLSupport getSSLSupport(SSLSession arg0)
+   {
+      return null;
+   }
 }
\ No newline at end of file

Modified: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/socket/SocketServerInvoker.java
===================================================================
--- remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/socket/SocketServerInvoker.java	2011-04-26 03:10:49 UTC (rev 6338)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/main/org/jboss/remoting/transport/socket/SocketServerInvoker.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -86,6 +86,7 @@
    protected int maxPoolSize = MAX_POOL_SIZE_DEFAULT;
    protected LRUPool clientpool;
    protected LinkedList threadpool;
+   protected int acceptThreadPriorityIncrement = 0;
 
    protected boolean newServerSocketFactory = false;
    protected Object serverSocketFactoryLock = new Object();
@@ -214,8 +215,10 @@
 
             String name = getThreadName(i);
             acceptThreads[i] = new Thread(this, name);
+            acceptThreads[i].setPriority(Thread.NORM_PRIORITY + acceptThreadPriorityIncrement);
 
-            if(trace) { log.trace(this + " created and registered " + acceptThreads[i]); }
+            if(trace) { log.trace(this + " created and registered " + acceptThreads[i] 
+                                       + " with priority " + acceptThreads[i].getPriority()); }
          }
       }
 
@@ -511,6 +514,24 @@
       this.writeTimeout = writeTimeout;
    }
 
+   public int getAcceptThreadPriorityIncrement()
+   {
+      return acceptThreadPriorityIncrement;
+   }
+
+   public void setAcceptThreadPriorityIncrement(int acceptThreadPriorityIncrement)
+   {
+      int resultingPriority = Thread.NORM_PRIORITY + acceptThreadPriorityIncrement;
+      if (resultingPriority < Thread.MIN_PRIORITY || resultingPriority > Thread.MAX_PRIORITY)
+      {
+         log.warn(this + " resulting priority out of range: " + resultingPriority);
+      }
+      else
+      {
+         this.acceptThreadPriorityIncrement = acceptThreadPriorityIncrement;
+      }
+   }
+
    public void run()
    {
       if(trace) { log.trace(this + " started execution of method run()"); }
@@ -607,8 +628,9 @@
 
                   worker = new ServerThread(socket, this, clientpool, threadpool,
                                             getTimeout(), writeTimeout, serverSocketClass);
+                  worker.setPriority(Thread.NORM_PRIORITY);
 
-                  if(trace) { log.trace(this + " created " + worker); }
+                  if(trace) { log.trace(this + " created " + worker + " with priority " + worker.getPriority()); }
 
                   newThread = true;
                }


Property changes on: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/connection/ConnectionValidatorTestCase.java
___________________________________________________________________
Deleted: svn:mergeinfo
   - 


Property changes on: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/connection/params/ConnectionValidatorConfigurationTestCase.java
___________________________________________________________________
Deleted: svn:mergeinfo
   - 

Deleted: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/accept/SecondaryAcceptThreadPriorityTestCase.java
===================================================================
--- remoting2/branches/2.2/src/tests/org/jboss/test/remoting/transport/bisocket/accept/SecondaryAcceptThreadPriorityTestCase.java	2011-03-19 20:51:35 UTC (rev 6284)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/accept/SecondaryAcceptThreadPriorityTestCase.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -1,217 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2009, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.test.remoting.transport.bisocket.accept;
-
-import java.lang.reflect.Field;
-import java.net.InetAddress;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.management.MBeanServer;
-
-import junit.framework.TestCase;
-
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.PatternLayout;
-import org.jboss.logging.XLevel;
-import org.jboss.remoting.Client;
-import org.jboss.remoting.InvocationRequest;
-import org.jboss.remoting.InvokerLocator;
-import org.jboss.remoting.ServerInvocationHandler;
-import org.jboss.remoting.ServerInvoker;
-import org.jboss.remoting.callback.InvokerCallbackHandler;
-import org.jboss.remoting.transport.Connector;
-import org.jboss.remoting.transport.PortUtil;
-import org.jboss.remoting.transport.bisocket.BisocketServerInvoker;
-import org.jboss.remoting.transport.socket.SocketServerInvoker;
-
-
-/**
- * Unit tests for JBREM-1277
- * 
- * @author <a href="ron.sigal at jboss.com">Ron Sigal</a>
- * @version $Revision: 1.1 $
- * <p>
- * Copyright Mar 19, 2011
- */
-public class SecondaryAcceptThreadPriorityTestCase extends TestCase
-{
-   protected static String NUM_ACCEPT_THREADS = "3";
-   protected static String PRIORITY_INCREMENT = "4";
-   
-   private static Logger log = Logger.getLogger(SecondaryAcceptThreadPriorityTestCase.class);
-   
-   private static boolean firstTime = true;
-   
-   protected String host;
-   protected int port;
-   protected String locatorURI;
-   protected InvokerLocator serverLocator;
-   protected Connector connector;
-   protected TestInvocationHandler invocationHandler;
-
-   
-   public void setUp() throws Exception
-   {
-      if (firstTime)
-      {
-         firstTime = false;
-         Logger.getLogger("org.jboss.remoting").setLevel(XLevel.TRACE);
-         Logger.getLogger("org.jboss.test.remoting").setLevel(Level.INFO);
-         String pattern = "[%d{ABSOLUTE}] [%t] %5p (%F:%L) - %m%n";
-         PatternLayout layout = new PatternLayout(pattern);
-         ConsoleAppender consoleAppender = new ConsoleAppender(layout);
-         Logger.getRootLogger().addAppender(consoleAppender);  
-      }
-   }
-
-   
-   public void tearDown()
-   {
-   }
-   
-   
-   public void testAcceptThreadPriority() throws Throwable
-   {
-      log.info("entering " + getName());
-      
-      // Start server.
-      setupServer(PRIORITY_INCREMENT);
-      
-      // Create client.
-      InvokerLocator clientLocator = new InvokerLocator(locatorURI);
-      HashMap clientConfig = new HashMap();
-      clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
-      addExtraClientConfig(clientConfig);
-      Client client = new Client(clientLocator, clientConfig);
-      client.connect();
-      log.info("client is connected");
-      
-      // Test connections.
-      assertEquals("abc", client.invoke("abc"));
-      log.info("connection is good");
-      
-      // Test accept threads priority.
-      int defaultPriority = Thread.NORM_PRIORITY;
-      int expectedPriority = defaultPriority + Integer.valueOf(PRIORITY_INCREMENT).intValue();
-      Field field = BisocketServerInvoker.class.getDeclaredField("secondaryServerSocketThread");
-      field.setAccessible(true);
-      Thread secondaryServerSocketThread = (Thread) field.get((BisocketServerInvoker) connector.getServerInvoker());
-      assertEquals(expectedPriority, secondaryServerSocketThread.getPriority());
-      
-      client.disconnect();
-      shutdownServer();
-      log.info(getName() + " PASSES");
-   }
-   
-   public void testAcceptThreadPriorityInvalidValue() throws Throwable
-   {
-      log.info("entering " + getName());
-      
-      // Discover invalid thread priority value.
-      int invalidPriority = Thread.MAX_PRIORITY + 1;
-      
-      // Start server.
-      setupServer(Integer.toString(invalidPriority));
-      
-      // Create client.
-      InvokerLocator clientLocator = new InvokerLocator(locatorURI);
-      HashMap clientConfig = new HashMap();
-      clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
-      addExtraClientConfig(clientConfig);
-      Client client = new Client(clientLocator, clientConfig);
-      client.connect();
-      log.info("client is connected");
-      
-      // Test connections.
-      assertEquals("abc", client.invoke("abc"));
-      log.info("connection is good");
-      
-      // Test accept threads priority.
-      int defaultPriority = Thread.NORM_PRIORITY;
-      Field field = BisocketServerInvoker.class.getDeclaredField("secondaryServerSocketThread");
-      field.setAccessible(true);
-      Thread secondaryServerSocketThread = (Thread) field.get((BisocketServerInvoker) connector.getServerInvoker());
-      assertEquals(defaultPriority, secondaryServerSocketThread.getPriority());
-      
-      client.disconnect();
-      shutdownServer();
-      log.info(getName() + " PASSES");
-   }
-   
-   protected String getTransport()
-   {
-      return "bisocket";
-   }
-   
-   
-   protected void addExtraClientConfig(Map config) {}
-   protected void addExtraServerConfig(Map config) {}
-   
-
-   protected void setupServer(String increment) throws Exception
-   {
-      host = InetAddress.getLocalHost().getHostAddress();
-      port = PortUtil.findFreePort(host);
-      locatorURI = getTransport() + "://" + host + ":" + port;
-      locatorURI += "/?numAcceptThreads=" + NUM_ACCEPT_THREADS;
-      locatorURI += "&acceptThreadPriorityIncrement=" + increment;
-      String metadata = System.getProperty("remoting.metadata");
-      if (metadata != null)
-      {
-         locatorURI += "&" + metadata;
-      }
-      serverLocator = new InvokerLocator(locatorURI);
-      log.info("Starting remoting server with locator uri of: " + locatorURI);
-      HashMap config = new HashMap();
-      config.put(InvokerLocator.FORCE_REMOTE, "true");
-      addExtraServerConfig(config);
-      connector = new Connector(serverLocator, config);
-      connector.create();
-      invocationHandler = new TestInvocationHandler();
-      connector.addInvocationHandler("test", invocationHandler);
-      connector.start();
-   }
-   
-   
-   protected void shutdownServer() throws Exception
-   {
-      if (connector != null)
-         connector.stop();
-   }
-   
-   
-   static class TestInvocationHandler implements ServerInvocationHandler
-   {
-      public void addListener(InvokerCallbackHandler callbackHandler) {}
-      public Object invoke(final InvocationRequest invocation) throws Throwable
-      {
-         return invocation.getParameter();
-      }
-      public void removeListener(InvokerCallbackHandler callbackHandler) {}
-      public void setMBeanServer(MBeanServer server) {}
-      public void setInvoker(ServerInvoker invoker) {}
-   }
-}
\ No newline at end of file

Copied: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/accept/SecondaryAcceptThreadPriorityTestCase.java (from rev 6284, remoting2/branches/2.2/src/tests/org/jboss/test/remoting/transport/bisocket/accept/SecondaryAcceptThreadPriorityTestCase.java)
===================================================================
--- remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/accept/SecondaryAcceptThreadPriorityTestCase.java	                        (rev 0)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/accept/SecondaryAcceptThreadPriorityTestCase.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -0,0 +1,217 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.test.remoting.transport.bisocket.accept;
+
+import java.lang.reflect.Field;
+import java.net.InetAddress;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.management.MBeanServer;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.apache.log4j.PatternLayout;
+import org.jboss.logging.XLevel;
+import org.jboss.remoting.Client;
+import org.jboss.remoting.InvocationRequest;
+import org.jboss.remoting.InvokerLocator;
+import org.jboss.remoting.ServerInvocationHandler;
+import org.jboss.remoting.ServerInvoker;
+import org.jboss.remoting.callback.InvokerCallbackHandler;
+import org.jboss.remoting.transport.Connector;
+import org.jboss.remoting.transport.PortUtil;
+import org.jboss.remoting.transport.bisocket.BisocketServerInvoker;
+import org.jboss.remoting.transport.socket.SocketServerInvoker;
+
+
+/**
+ * Unit tests for JBREM-1277
+ * 
+ * @author <a href="ron.sigal at jboss.com">Ron Sigal</a>
+ * @version $Revision: 1.1 $
+ * <p>
+ * Copyright Mar 19, 2011
+ */
+public class SecondaryAcceptThreadPriorityTestCase extends TestCase
+{
+   protected static String NUM_ACCEPT_THREADS = "3";
+   protected static String PRIORITY_INCREMENT = "4";
+   
+   private static Logger log = Logger.getLogger(SecondaryAcceptThreadPriorityTestCase.class);
+   
+   private static boolean firstTime = true;
+   
+   protected String host;
+   protected int port;
+   protected String locatorURI;
+   protected InvokerLocator serverLocator;
+   protected Connector connector;
+   protected TestInvocationHandler invocationHandler;
+
+   
+   public void setUp() throws Exception
+   {
+      if (firstTime)
+      {
+         firstTime = false;
+         Logger.getLogger("org.jboss.remoting").setLevel(XLevel.TRACE);
+         Logger.getLogger("org.jboss.test.remoting").setLevel(Level.INFO);
+         String pattern = "[%d{ABSOLUTE}] [%t] %5p (%F:%L) - %m%n";
+         PatternLayout layout = new PatternLayout(pattern);
+         ConsoleAppender consoleAppender = new ConsoleAppender(layout);
+         Logger.getRootLogger().addAppender(consoleAppender);  
+      }
+   }
+
+   
+   public void tearDown()
+   {
+   }
+   
+   
+   public void testAcceptThreadPriority() throws Throwable
+   {
+      log.info("entering " + getName());
+      
+      // Start server.
+      setupServer(PRIORITY_INCREMENT);
+      
+      // Create client.
+      InvokerLocator clientLocator = new InvokerLocator(locatorURI);
+      HashMap clientConfig = new HashMap();
+      clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+      addExtraClientConfig(clientConfig);
+      Client client = new Client(clientLocator, clientConfig);
+      client.connect();
+      log.info("client is connected");
+      
+      // Test connections.
+      assertEquals("abc", client.invoke("abc"));
+      log.info("connection is good");
+      
+      // Test accept threads priority.
+      int defaultPriority = Thread.NORM_PRIORITY;
+      int expectedPriority = defaultPriority + Integer.valueOf(PRIORITY_INCREMENT).intValue();
+      Field field = BisocketServerInvoker.class.getDeclaredField("secondaryServerSocketThread");
+      field.setAccessible(true);
+      Thread secondaryServerSocketThread = (Thread) field.get((BisocketServerInvoker) connector.getServerInvoker());
+      assertEquals(expectedPriority, secondaryServerSocketThread.getPriority());
+      
+      client.disconnect();
+      shutdownServer();
+      log.info(getName() + " PASSES");
+   }
+   
+   public void testAcceptThreadPriorityInvalidValue() throws Throwable
+   {
+      log.info("entering " + getName());
+      
+      // Discover invalid thread priority value.
+      int invalidPriority = Thread.MAX_PRIORITY + 1;
+      
+      // Start server.
+      setupServer(Integer.toString(invalidPriority));
+      
+      // Create client.
+      InvokerLocator clientLocator = new InvokerLocator(locatorURI);
+      HashMap clientConfig = new HashMap();
+      clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+      addExtraClientConfig(clientConfig);
+      Client client = new Client(clientLocator, clientConfig);
+      client.connect();
+      log.info("client is connected");
+      
+      // Test connections.
+      assertEquals("abc", client.invoke("abc"));
+      log.info("connection is good");
+      
+      // Test accept threads priority.
+      int defaultPriority = Thread.NORM_PRIORITY;
+      Field field = BisocketServerInvoker.class.getDeclaredField("secondaryServerSocketThread");
+      field.setAccessible(true);
+      Thread secondaryServerSocketThread = (Thread) field.get((BisocketServerInvoker) connector.getServerInvoker());
+      assertEquals(defaultPriority, secondaryServerSocketThread.getPriority());
+      
+      client.disconnect();
+      shutdownServer();
+      log.info(getName() + " PASSES");
+   }
+   
+   protected String getTransport()
+   {
+      return "bisocket";
+   }
+   
+   
+   protected void addExtraClientConfig(Map config) {}
+   protected void addExtraServerConfig(Map config) {}
+   
+
+   protected void setupServer(String increment) throws Exception
+   {
+      host = InetAddress.getLocalHost().getHostAddress();
+      port = PortUtil.findFreePort(host);
+      locatorURI = getTransport() + "://" + host + ":" + port;
+      locatorURI += "/?numAcceptThreads=" + NUM_ACCEPT_THREADS;
+      locatorURI += "&acceptThreadPriorityIncrement=" + increment;
+      String metadata = System.getProperty("remoting.metadata");
+      if (metadata != null)
+      {
+         locatorURI += "&" + metadata;
+      }
+      serverLocator = new InvokerLocator(locatorURI);
+      log.info("Starting remoting server with locator uri of: " + locatorURI);
+      HashMap config = new HashMap();
+      config.put(InvokerLocator.FORCE_REMOTE, "true");
+      addExtraServerConfig(config);
+      connector = new Connector(serverLocator, config);
+      connector.create();
+      invocationHandler = new TestInvocationHandler();
+      connector.addInvocationHandler("test", invocationHandler);
+      connector.start();
+   }
+   
+   
+   protected void shutdownServer() throws Exception
+   {
+      if (connector != null)
+         connector.stop();
+   }
+   
+   
+   static class TestInvocationHandler implements ServerInvocationHandler
+   {
+      public void addListener(InvokerCallbackHandler callbackHandler) {}
+      public Object invoke(final InvocationRequest invocation) throws Throwable
+      {
+         return invocation.getParameter();
+      }
+      public void removeListener(InvokerCallbackHandler callbackHandler) {}
+      public void setMBeanServer(MBeanServer server) {}
+      public void setInvoker(ServerInvoker invoker) {}
+   }
+}
\ No newline at end of file

Deleted: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/dos/DosTestCase.java
===================================================================
--- remoting2/branches/2.2/src/tests/org/jboss/test/remoting/transport/bisocket/dos/DosTestCase.java	2010-12-18 02:23:26 UTC (rev 6178)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/dos/DosTestCase.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -1,287 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2009, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.remoting.transport.bisocket.dos;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import javax.management.MBeanServer;
-
-import junit.framework.TestCase;
-
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.PatternLayout;
-import org.jboss.remoting.Client;
-import org.jboss.remoting.InvocationRequest;
-import org.jboss.remoting.InvokerLocator;
-import org.jboss.remoting.ServerInvocationHandler;
-import org.jboss.remoting.ServerInvoker;
-import org.jboss.remoting.callback.Callback;
-import org.jboss.remoting.callback.HandleCallbackException;
-import org.jboss.remoting.callback.InvokerCallbackHandler;
-import org.jboss.remoting.transport.Connector;
-import org.jboss.remoting.transport.PortUtil;
-import org.jboss.remoting.transport.bisocket.Bisocket;
-
-/**
- * @author <a href="mailto:ron.sigal at jboss.com">Ron Sigal</a>
- * @version $Rev$
- * <p>
- * Copyright Oct 13, 2010
- * </p>
- */
-public class DosTestCase extends TestCase
-{
-   private static final Logger log = Logger.getLogger(DosTestCase.class);
-   private static final String CALLBACK_TEST = "callbackTest";
-   
-   private static boolean firstTime = true;
-   
-   protected String host;
-   protected int port;
-   protected int secondaryPort;
-   protected String locatorURI;
-   protected InvokerLocator serverLocator;
-   protected Connector connector;
-   protected TestInvocationHandler invocationHandler;
-   protected Object lock = new Object();
-   protected boolean dosAttackThreadRan;
-   protected boolean secondCallbackRan;
-
-   
-   public void setUp() throws Exception
-   {
-      if (firstTime)
-      {
-         firstTime = false;
-         Logger.getLogger("org.jboss.remoting").setLevel(Level.INFO);
-         Logger.getLogger("org.jboss.test.remoting").setLevel(Level.INFO);
-         String pattern = "[%d{ABSOLUTE}] [%t] %5p (%F:%L) - %m%n";
-         PatternLayout layout = new PatternLayout(pattern);
-         ConsoleAppender consoleAppender = new ConsoleAppender(layout);
-         Logger.getRootLogger().addAppender(consoleAppender);  
-      }
-   }
-
-   
-   public void tearDown()
-   {
-   }
-   
-   public void testDosAttack() throws Throwable
-   {
-      log.info("entering " + getName());
-      
-      // Start server.
-      setupServer();
-      
-      // Create client.
-      HashMap clientConfig = new HashMap();
-      clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
-      addExtraClientConfig(clientConfig);
-      final Client client = new Client(serverLocator, clientConfig);
-      client.connect();
-      assertEquals("abc", client.invoke("abc"));
-      log.info("client is connected");
-      
-      // Add callback handler.
-      TestCallbackHandler callbackHandler = new TestCallbackHandler();
-      HashMap metadata = new HashMap();
-      metadata.put(Bisocket.IS_CALLBACK_SERVER, "true");
-      client.addListener(callbackHandler, metadata);
-      client.invoke(CALLBACK_TEST);
-      assertEquals(1, callbackHandler.counter);
-      log.info("callback handler is installed");
-      
-      // Test DOS attack. 
-      new Thread()
-      {
-         public void run()
-         {
-            try
-            {
-               Socket s = new Socket(host, secondaryPort);
-               log.info(this + " created socket " + s);
-               synchronized (lock)
-               {
-                  dosAttackThreadRan = true;
-               } 
-            }
-            catch (IOException e)
-            {
-               log.error("unable to connect to secondaryPort: " + secondaryPort, e);
-            }
-            finally
-            {
-               synchronized (lock)
-               {
-                  lock.notifyAll();
-               }  
-            }
-         }
-      }.start();
-      
-      Thread.sleep(2000);
-      
-      synchronized (lock)
-      {
-         if (!dosAttackThreadRan)
-         {
-            long start = System.currentTimeMillis();
-            long end = start + 10000;
-            while (end - System.currentTimeMillis() > 0)
-            {
-               try
-               {
-                  lock.wait(end - System.currentTimeMillis());
-               }
-               catch (InterruptedException e){
-
-               }
-            }
-         }
-      } 
-      
-      if (!dosAttackThreadRan)
-      {
-         fail("DOS attack thread did not run");
-      }
-      
-      
-      // DOS attack has occurred.  Try to add another callback handler.
-      new Thread()
-      {
-         public void run()
-         {
-            TestCallbackHandler callbackHandler2 = new TestCallbackHandler();
-            try
-            {
-               
-               HashMap metadata = new HashMap();
-               metadata.put(Bisocket.IS_CALLBACK_SERVER, "true");
-               client.addListener(callbackHandler2, metadata);
-               secondCallbackRan = true;
-               log.info(this + " second callback handler installed after DOS attack");
-            }
-            catch (Throwable e)
-            {
-               log.info(this + " second callback failed", e);
-            }    
-         }
-      }.start();
-      
-      Thread.sleep(10000);
-      assertTrue(secondCallbackRan);
-      
-      client.removeListener(callbackHandler);
-      client.disconnect();
-      connector.stop();
-   }
-   
-   protected String getTransport()
-   {
-      return "bisocket";
-   }
-   
-   
-   protected void addExtraClientConfig(Map config) {}
-   protected void addExtraServerConfig(Map config) {}
-   
-
-   protected void setupServer() throws Exception
-   {
-      host = InetAddress.getLocalHost().getHostAddress();
-      port = PortUtil.findFreePort(host);
-      secondaryPort =  PortUtil.findFreePort(host);
-      locatorURI = getTransport() + "://" + host + ":" + port + "/?secondaryBindPort=" + secondaryPort;
-      String metadata = System.getProperty("remoting.metadata");
-      if (metadata != null)
-      {
-         locatorURI += "&" + metadata;
-      }
-      serverLocator = new InvokerLocator(locatorURI);
-      log.info("Starting remoting server with locator uri of: " + locatorURI);
-      HashMap config = new HashMap();
-      config.put(InvokerLocator.FORCE_REMOTE, "true");
-      addExtraServerConfig(config);
-      connector = new Connector(serverLocator, config);
-      connector.create();
-      invocationHandler = new TestInvocationHandler();
-      connector.addInvocationHandler("test", invocationHandler);
-      connector.start();
-   }
-   
-   
-   protected void shutdownServer() throws Exception
-   {
-      if (connector != null)
-         connector.stop();
-   }
-   
-   
-
-   static class TestInvocationHandler implements ServerInvocationHandler
-   {
-      public Set listeners = new HashSet();
-      
-      public void addListener(InvokerCallbackHandler callbackHandler)
-      {
-         listeners.add(callbackHandler);
-      }
-      public Object invoke(final InvocationRequest invocation) throws Throwable
-      {
-         if (CALLBACK_TEST.equals(invocation.getParameter()))
-         {
-            Iterator it = listeners.iterator();
-            while (it.hasNext())
-            {
-               InvokerCallbackHandler handler = (InvokerCallbackHandler) it.next();
-               handler.handleCallback(new Callback("test"));
-               log.info(this + " sent callback");
-            }
-         }
-         return invocation.getParameter();
-      }
-      public void removeListener(InvokerCallbackHandler callbackHandler) {}
-      public void setMBeanServer(MBeanServer server) {}
-      public void setInvoker(ServerInvoker invoker) {}
-   }
-   
-   static class TestCallbackHandler implements InvokerCallbackHandler
-   {
-      public int counter;
-      
-      public void handleCallback(Callback callback) throws HandleCallbackException
-      {
-         log.info(this + " received callback");
-         counter++;
-      }
-   }
-}
\ No newline at end of file

Copied: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/dos/DosTestCase.java (from rev 6178, remoting2/branches/2.2/src/tests/org/jboss/test/remoting/transport/bisocket/dos/DosTestCase.java)
===================================================================
--- remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/dos/DosTestCase.java	                        (rev 0)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/bisocket/dos/DosTestCase.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -0,0 +1,392 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.remoting.transport.bisocket.dos;
+
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.net.InetAddress;
+import java.net.Socket;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import javax.management.MBeanServer;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.apache.log4j.PatternLayout;
+import org.jboss.remoting.Client;
+import org.jboss.remoting.InvocationRequest;
+import org.jboss.remoting.InvokerLocator;
+import org.jboss.remoting.ServerInvocationHandler;
+import org.jboss.remoting.ServerInvoker;
+import org.jboss.remoting.callback.Callback;
+import org.jboss.remoting.callback.HandleCallbackException;
+import org.jboss.remoting.callback.InvokerCallbackHandler;
+import org.jboss.remoting.transport.Connector;
+import org.jboss.remoting.transport.PortUtil;
+import org.jboss.remoting.transport.bisocket.Bisocket;
+import org.jboss.remoting.transport.bisocket.BisocketServerInvoker;
+
+import EDU.oswego.cs.dl.util.concurrent.Semaphore;
+
+/**
+ * @author <a href="mailto:ron.sigal at jboss.com">Ron Sigal</a>
+ * @version $Rev$
+ * <p>
+ * Copyright Oct 13, 2010
+ * </p>
+ */
+public class DosTestCase extends TestCase
+{
+   private static final Logger log = Logger.getLogger(DosTestCase.class);
+   private static final String CALLBACK_TEST = "callbackTest";
+   private static final int dosMaxThreadsValue = 49;
+   private static final int dosTimeoutValue = 59;
+   
+   private static boolean firstTime = true;
+   
+   protected String host;
+   protected int port;
+   protected int secondaryPort;
+   protected String locatorURI;
+   protected InvokerLocator serverLocator;
+   protected Connector connector;
+   protected TestInvocationHandler invocationHandler;
+   protected Object lock = new Object();
+   protected boolean dosAttackThreadRan;
+   protected boolean secondCallbackRan;
+
+   
+   public void setUp() throws Exception
+   {
+      if (firstTime)
+      {
+         firstTime = false;
+         Logger.getLogger("org.jboss.remoting").setLevel(Level.INFO);
+         Logger.getLogger("org.jboss.test.remoting").setLevel(Level.INFO);
+         String pattern = "[%d{ABSOLUTE}] [%t] %5p (%F:%L) - %m%n";
+         PatternLayout layout = new PatternLayout(pattern);
+         ConsoleAppender consoleAppender = new ConsoleAppender(layout);
+         Logger.getRootLogger().addAppender(consoleAppender);  
+      }
+   }
+
+   
+   public void tearDown()
+   {
+   }
+   
+   public void testDosAttack() throws Throwable
+   {
+      log.info("entering " + getName());
+      
+      // Start server.
+      setupServer(false, false);
+      
+      // Create client.
+      HashMap clientConfig = new HashMap();
+      clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+      addExtraClientConfig(clientConfig);
+      final Client client = new Client(serverLocator, clientConfig);
+      client.connect();
+      assertEquals("abc", client.invoke("abc"));
+      log.info("client is connected");
+      
+      // Add callback handler.
+      TestCallbackHandler callbackHandler = new TestCallbackHandler();
+      HashMap metadata = new HashMap();
+      metadata.put(Bisocket.IS_CALLBACK_SERVER, "true");
+      client.addListener(callbackHandler, metadata);
+      client.invoke(CALLBACK_TEST);
+      assertEquals(1, callbackHandler.counter);
+      log.info("callback handler is installed");
+      
+      // Test DOS attack. 
+      new Thread()
+      {
+         public void run()
+         {
+            try
+            {
+               Socket s = new Socket(host, secondaryPort);
+               log.info(this + " created socket " + s);
+               synchronized (lock)
+               {
+                  dosAttackThreadRan = true;
+               } 
+            }
+            catch (IOException e)
+            {
+               log.error("unable to connect to secondaryPort: " + secondaryPort, e);
+            }
+            finally
+            {
+               synchronized (lock)
+               {
+                  lock.notifyAll();
+               }  
+            }
+         }
+      }.start();
+      
+      Thread.sleep(2000);
+      
+      synchronized (lock)
+      {
+         if (!dosAttackThreadRan)
+         {
+            long start = System.currentTimeMillis();
+            long end = start + 10000;
+            while (end - System.currentTimeMillis() > 0)
+            {
+               try
+               {
+                  lock.wait(end - System.currentTimeMillis());
+               }
+               catch (InterruptedException e){
+
+               }
+            }
+         }
+      } 
+      
+      if (!dosAttackThreadRan)
+      {
+         fail("DOS attack thread did not run");
+      }
+      
+      
+      // DOS attack has occurred.  Try to add another callback handler.
+      new Thread()
+      {
+         public void run()
+         {
+            TestCallbackHandler callbackHandler2 = new TestCallbackHandler();
+            try
+            {
+               
+               HashMap metadata = new HashMap();
+               metadata.put(Bisocket.IS_CALLBACK_SERVER, "true");
+               client.addListener(callbackHandler2, metadata);
+               secondCallbackRan = true;
+               log.info(this + " second callback handler installed after DOS attack");
+            }
+            catch (Throwable e)
+            {
+               log.info(this + " second callback failed", e);
+            }    
+         }
+      }.start();
+      
+      Thread.sleep(10000);
+      assertTrue(secondCallbackRan);
+      
+      client.removeListener(callbackHandler);
+      client.disconnect();
+      connector.stop();
+   }
+   
+   
+   public void testConfigurationDefault() throws Throwable
+   {
+      log.info("entering " + getName());
+      doConfigurationTest(false, false, Bisocket.SECONDARY_MAX_THREADS_DEFAULT, Bisocket.SECONDARY_TIMEOUT_DEFAULT);
+      log.info(getName() + " PASSES");
+   }
+
+   
+   public void testConfigurationMap() throws Throwable
+   {
+      log.info("entering " + getName());
+      doConfigurationTest(true, false, dosMaxThreadsValue, dosTimeoutValue);
+      log.info(getName() + " PASSES");
+   }
+   
+   
+   public void testConfigurationInvokerLocater() throws Throwable
+   {
+      log.info("entering " + getName());
+      doConfigurationTest(true, true, dosMaxThreadsValue, dosTimeoutValue);
+      log.info(getName() + " PASSES");
+   }
+   
+   
+   protected void doConfigurationTest(boolean setParameters, boolean useInvokerLocator, int threadCount, int timeout) throws Throwable
+   {
+      // Start server.
+      setupServer(setParameters, useInvokerLocator);
+      
+      // Create client.
+      HashMap clientConfig = new HashMap();
+      clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+      addExtraClientConfig(clientConfig);
+      final Client client = new Client(serverLocator, clientConfig);
+      client.connect();
+      assertEquals("abc", client.invoke("abc"));
+      log.info("client is connected");
+      
+      // Add callback handler.
+      TestCallbackHandler callbackHandler = new TestCallbackHandler();
+      HashMap metadata = new HashMap();
+      metadata.put(Bisocket.IS_CALLBACK_SERVER, "true");
+      client.addListener(callbackHandler, metadata);
+      client.invoke(CALLBACK_TEST);
+      assertEquals(1, callbackHandler.counter);
+      log.info("callback handler is installed");
+      
+      BisocketServerInvoker invoker = (BisocketServerInvoker) connector.getServerInvoker();
+      assertEquals(threadCount, invoker.getDosMaxThreads());
+      assertEquals(timeout, invoker.getDosTimeout());
+      verifyThreadValues(invoker, threadCount, timeout);
+
+      client.removeListener(callbackHandler);
+      client.disconnect();
+      connector.stop();
+   }
+   
+   
+   protected boolean verifyThreadValues(ServerInvoker invoker, int threadCount, int timeout) throws Exception
+   {
+      Class[] classes = BisocketServerInvoker.class.getDeclaredClasses();
+      Class threadClass = null;
+      for (int i = 0; i < classes.length; i++)
+      {
+         if (classes[i].getName().indexOf("SecondaryServerSocketThread") > -1)
+         {
+            threadClass = classes[i];
+            break;
+         }
+      }
+      log.info("threadClass: " + threadClass);
+      Field field = BisocketServerInvoker.class.getDeclaredField("secondaryServerSocketThread");
+      field.setAccessible(true);
+      Thread secondaryServerSocketThread = (Thread) field.get(invoker);
+      Field maxThreads = threadClass.getDeclaredField("maxThreads");
+      maxThreads.setAccessible(true);
+      Field localDosTimeout = threadClass.getDeclaredField("localDosTimeout");
+      localDosTimeout.setAccessible(true);
+     
+      assertEquals(threadCount, ((Semaphore)maxThreads.get(secondaryServerSocketThread)).permits());
+      assertEquals(timeout, ((Integer)localDosTimeout.get(secondaryServerSocketThread)).intValue());
+      return true;
+   }
+   
+   
+   protected String getTransport()
+   {
+      return "bisocket";
+   }
+   
+   
+   protected void addExtraClientConfig(Map config) {}
+   protected void addExtraServerConfig(Map config) {}
+   
+
+   protected void setupServer(boolean setParameters, boolean useInvokerLocator) throws Exception
+   {
+      host = InetAddress.getLocalHost().getHostAddress();
+      port = PortUtil.findFreePort(host);
+      secondaryPort =  PortUtil.findFreePort(host);
+      locatorURI = getTransport() + "://" + host + ":" + port + "/?secondaryBindPort=" + secondaryPort;
+      String metadata = System.getProperty("remoting.metadata");
+      if (metadata != null)
+      {
+         locatorURI += "&" + metadata;
+      }
+      HashMap config = new HashMap();
+      config.put(InvokerLocator.FORCE_REMOTE, "true");
+      addExtraServerConfig(config);
+      if (setParameters)
+      {
+         if (useInvokerLocator)
+         {
+            locatorURI += "&" + Bisocket.SECONDARY_MAX_THREADS + "=" + Integer.toString(dosMaxThreadsValue);
+            locatorURI += "&" + Bisocket.SECONDARY_TIMEOUT + "=" + Integer.toString(dosTimeoutValue);
+         }
+         else
+         {
+            config.put(Bisocket.SECONDARY_MAX_THREADS, Integer.toString(dosMaxThreadsValue));
+            config.put(Bisocket.SECONDARY_TIMEOUT, Integer.toString(dosTimeoutValue));
+         }
+      }
+      serverLocator = new InvokerLocator(locatorURI);
+      log.info("Starting remoting server with locator uri of: " + locatorURI);
+      connector = new Connector(serverLocator, config);
+      connector.create();
+      invocationHandler = new TestInvocationHandler();
+      connector.addInvocationHandler("test", invocationHandler);
+      connector.start();
+   }
+   
+   
+   protected void shutdownServer() throws Exception
+   {
+      if (connector != null)
+         connector.stop();
+   }
+   
+   
+
+   static class TestInvocationHandler implements ServerInvocationHandler
+   {
+      public Set listeners = new HashSet();
+      
+      public void addListener(InvokerCallbackHandler callbackHandler)
+      {
+         listeners.add(callbackHandler);
+      }
+      public Object invoke(final InvocationRequest invocation) throws Throwable
+      {
+         if (CALLBACK_TEST.equals(invocation.getParameter()))
+         {
+            Iterator it = listeners.iterator();
+            while (it.hasNext())
+            {
+               InvokerCallbackHandler handler = (InvokerCallbackHandler) it.next();
+               handler.handleCallback(new Callback("test"));
+               log.info(this + " sent callback");
+            }
+         }
+         return invocation.getParameter();
+      }
+      public void removeListener(InvokerCallbackHandler callbackHandler) {}
+      public void setMBeanServer(MBeanServer server) {}
+      public void setInvoker(ServerInvoker invoker) {}
+   }
+   
+   static class TestCallbackHandler implements InvokerCallbackHandler
+   {
+      public int counter;
+      
+      public void handleCallback(Callback callback) throws HandleCallbackException
+      {
+         log.info(this + " received callback");
+         counter++;
+      }
+   }
+}
\ No newline at end of file

Deleted: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/coyote/SetAttributeTestCase.java
===================================================================
--- remoting2/branches/2.2/src/tests/org/jboss/test/remoting/transport/coyote/SetAttributeTestCase.java	2011-04-13 20:24:24 UTC (rev 6313)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/coyote/SetAttributeTestCase.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -1,189 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2009, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.test.remoting.transport.coyote;
-
-import java.lang.reflect.Field;
-import java.net.InetAddress;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.management.MBeanServer;
-
-import junit.framework.TestCase;
-
-import org.apache.coyote.http11.Http11Protocol;
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.PatternLayout;
-import org.jboss.logging.XLevel;
-import org.jboss.remoting.InvocationRequest;
-import org.jboss.remoting.InvokerLocator;
-import org.jboss.remoting.ServerInvocationHandler;
-import org.jboss.remoting.ServerInvoker;
-import org.jboss.remoting.callback.InvokerCallbackHandler;
-import org.jboss.remoting.transport.Connector;
-import org.jboss.remoting.transport.PortUtil;
-import org.jboss.remoting.transport.coyote.CoyoteInvoker;
-
-
-/**
- * Unit test for JBREM-1281
- * 
- * @author <a href="ron.sigal at jboss.com">Ron Sigal</a>
- * @version $Revision: 1.1 $
- * <p>
- * Copyright Apr 13, 2011
- */
-public class SetAttributeTestCase extends TestCase
-{
-   private static Logger log = Logger.getLogger(SetAttributeTestCase.class);
-   
-   private static boolean firstTime = true;
-   
-   protected String host;
-   protected int port;
-   protected String locatorURI;
-   protected InvokerLocator serverLocator;
-   protected Connector connector;
-   protected TestInvocationHandler invocationHandler;
-
-   
-   public void setUp() throws Exception
-   {
-      if (firstTime)
-      {
-         firstTime = false;
-         Logger.getLogger("org.jboss.remoting").setLevel(XLevel.INFO);
-         Logger.getLogger("org.jboss.test.remoting").setLevel(Level.INFO);
-         String pattern = "[%d{ABSOLUTE}] [%t] %5p (%F:%L) - %m%n";
-         PatternLayout layout = new PatternLayout(pattern);
-         ConsoleAppender consoleAppender = new ConsoleAppender(layout);
-         Logger.getRootLogger().addAppender(consoleAppender);  
-      }
-   }
-
-   
-   public void tearDown()
-   {
-   }
-   
-   
-   public void testSetExecutor() throws Throwable
-   {
-      log.info("entering " + getName());
-      
-      // Start server.
-      host = InetAddress.getLocalHost().getHostAddress();
-      port = PortUtil.findFreePort(host);
-      locatorURI = getTransport() + "://" + host + ":" + port;
-      String metadata = System.getProperty("remoting.metadata");
-      if (metadata != null)
-      {
-         locatorURI += "/?" + metadata;
-      }
-      serverLocator = new InvokerLocator(locatorURI);
-      log.info("Starting remoting server with locator uri of: " + locatorURI);
-      HashMap config = new HashMap();
-      config.put(InvokerLocator.FORCE_REMOTE, "true");
-      
-      // Attributes set directly on Http11Protocol
-      config.put("maxSavePostSize", "3");
-      config.put("keepAlive", "false");
-      config.put("compression", "on");
-      config.put("testObject", new TestObject(5));
-      
-      // Attributes set on Http11Protocol.endpoint
-      config.put("soTimeout", "7");
-      config.put("tcpNoDelay", "true");
-      config.put("address", InetAddress.getLocalHost());      
-      
-      connector = new Connector(serverLocator, config);
-      connector.create();
-      invocationHandler = new TestInvocationHandler();
-      connector.addInvocationHandler("test", invocationHandler);
-      connector.start();
-      CoyoteInvoker invoker = (CoyoteInvoker) connector.getServerInvoker();
-      Field field = CoyoteInvoker.class.getDeclaredField("protocolHandler");
-      field.setAccessible(true);
-      Http11Protocol protocolHandler = (Http11Protocol) field.get(invoker);
-      log.info("maxSavePostSize:   " + protocolHandler.getMaxSavePostSize());
-      log.info("keepAlive:         " + protocolHandler.getKeepAlive());
-      log.info("compression:       " + protocolHandler.getCompression());
-      log.info("testObject:        " + protocolHandler.getAttribute("testObject"));
-      
-      log.info("soTimeout:         " + protocolHandler.getSoTimeout()); 
-      log.info("tcpNoDelay:        " + protocolHandler.getTcpNoDelay());
-      log.info("address:           " + protocolHandler.getAddress());
-      
-      assertEquals(new Integer(3), new Integer(protocolHandler.getMaxSavePostSize()));
-      assertEquals(Boolean.FALSE, new Boolean(protocolHandler.getKeepAlive()));
-      assertEquals("on", protocolHandler.getCompression());
-      assertEquals(new TestObject(5), protocolHandler.getAttribute("testObject"));
-      
-      assertEquals(new Integer(7), new Integer(protocolHandler.getSoTimeout()));
-      assertEquals(Boolean.TRUE, new Boolean(protocolHandler.getTcpNoDelay()));
-      assertEquals(InetAddress.getLocalHost(), protocolHandler.getAddress());
-      
-      if (connector != null)
-         connector.stop();
-      log.info(getName() + " PASSES");
-   }
-   
-   
-   protected String getTransport()
-   {
-      return "http";
-   }
-   
-   
-   protected void addExtraClientConfig(Map config) {}
-   protected void addExtraServerConfig(Map config) {}
-   
-   static class TestInvocationHandler implements ServerInvocationHandler
-   {
-      public void addListener(InvokerCallbackHandler callbackHandler) {}
-      public Object invoke(final InvocationRequest invocation) throws Throwable
-      {
-         return invocation.getParameter();
-      }
-      public void removeListener(InvokerCallbackHandler callbackHandler) {}
-      public void setMBeanServer(MBeanServer server) {}
-      public void setInvoker(ServerInvoker invoker) {}
-   }
-   
-   static class TestObject
-   {
-      private int secret;
-      public TestObject(int secret) {this.secret = secret;}
-      public boolean equals(Object o)
-      {
-         if (!(o instanceof TestObject)) return false;
-         return this.secret == ((TestObject) o).secret;
-      }
-      public String toString()
-      {
-         return "TestObject(" + secret + ")";
-      }
-   }
-}
\ No newline at end of file

Copied: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/coyote/SetAttributeTestCase.java (from rev 6313, remoting2/branches/2.2/src/tests/org/jboss/test/remoting/transport/coyote/SetAttributeTestCase.java)
===================================================================
--- remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/coyote/SetAttributeTestCase.java	                        (rev 0)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/coyote/SetAttributeTestCase.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -0,0 +1,189 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.test.remoting.transport.coyote;
+
+import java.lang.reflect.Field;
+import java.net.InetAddress;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.management.MBeanServer;
+
+import junit.framework.TestCase;
+
+import org.apache.coyote.http11.Http11Protocol;
+import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.apache.log4j.PatternLayout;
+import org.jboss.logging.XLevel;
+import org.jboss.remoting.InvocationRequest;
+import org.jboss.remoting.InvokerLocator;
+import org.jboss.remoting.ServerInvocationHandler;
+import org.jboss.remoting.ServerInvoker;
+import org.jboss.remoting.callback.InvokerCallbackHandler;
+import org.jboss.remoting.transport.Connector;
+import org.jboss.remoting.transport.PortUtil;
+import org.jboss.remoting.transport.coyote.CoyoteInvoker;
+
+
+/**
+ * Unit test for JBREM-1281
+ * 
+ * @author <a href="ron.sigal at jboss.com">Ron Sigal</a>
+ * @version $Revision: 1.1 $
+ * <p>
+ * Copyright Apr 13, 2011
+ */
+public class SetAttributeTestCase extends TestCase
+{
+   private static Logger log = Logger.getLogger(SetAttributeTestCase.class);
+   
+   private static boolean firstTime = true;
+   
+   protected String host;
+   protected int port;
+   protected String locatorURI;
+   protected InvokerLocator serverLocator;
+   protected Connector connector;
+   protected TestInvocationHandler invocationHandler;
+
+   
+   public void setUp() throws Exception
+   {
+      if (firstTime)
+      {
+         firstTime = false;
+         Logger.getLogger("org.jboss.remoting").setLevel(XLevel.INFO);
+         Logger.getLogger("org.jboss.test.remoting").setLevel(Level.INFO);
+         String pattern = "[%d{ABSOLUTE}] [%t] %5p (%F:%L) - %m%n";
+         PatternLayout layout = new PatternLayout(pattern);
+         ConsoleAppender consoleAppender = new ConsoleAppender(layout);
+         Logger.getRootLogger().addAppender(consoleAppender);  
+      }
+   }
+
+   
+   public void tearDown()
+   {
+   }
+   
+   
+   public void testSetExecutor() throws Throwable
+   {
+      log.info("entering " + getName());
+      
+      // Start server.
+      host = InetAddress.getLocalHost().getHostAddress();
+      port = PortUtil.findFreePort(host);
+      locatorURI = getTransport() + "://" + host + ":" + port;
+      String metadata = System.getProperty("remoting.metadata");
+      if (metadata != null)
+      {
+         locatorURI += "/?" + metadata;
+      }
+      serverLocator = new InvokerLocator(locatorURI);
+      log.info("Starting remoting server with locator uri of: " + locatorURI);
+      HashMap config = new HashMap();
+      config.put(InvokerLocator.FORCE_REMOTE, "true");
+      
+      // Attributes set directly on Http11Protocol
+      config.put("maxSavePostSize", "3");
+      config.put("keepAlive", "false");
+      config.put("compression", "on");
+      config.put("testObject", new TestObject(5));
+      
+      // Attributes set on Http11Protocol.endpoint
+      config.put("soTimeout", "7");
+      config.put("tcpNoDelay", "true");
+      config.put("address", InetAddress.getLocalHost());      
+      
+      connector = new Connector(serverLocator, config);
+      connector.create();
+      invocationHandler = new TestInvocationHandler();
+      connector.addInvocationHandler("test", invocationHandler);
+      connector.start();
+      CoyoteInvoker invoker = (CoyoteInvoker) connector.getServerInvoker();
+      Field field = CoyoteInvoker.class.getDeclaredField("protocolHandler");
+      field.setAccessible(true);
+      Http11Protocol protocolHandler = (Http11Protocol) field.get(invoker);
+      log.info("maxSavePostSize:   " + protocolHandler.getMaxSavePostSize());
+      log.info("keepAlive:         " + protocolHandler.getKeepAlive());
+      log.info("compression:       " + protocolHandler.getCompression());
+      log.info("testObject:        " + protocolHandler.getAttribute("testObject"));
+      
+      log.info("soTimeout:         " + protocolHandler.getSoTimeout()); 
+      log.info("tcpNoDelay:        " + protocolHandler.getTcpNoDelay());
+      log.info("address:           " + protocolHandler.getAddress());
+      
+      assertEquals(new Integer(3), new Integer(protocolHandler.getMaxSavePostSize()));
+      assertEquals(Boolean.FALSE, new Boolean(protocolHandler.getKeepAlive()));
+      assertEquals("on", protocolHandler.getCompression());
+      assertEquals(new TestObject(5), protocolHandler.getAttribute("testObject"));
+      
+      assertEquals(new Integer(7), new Integer(protocolHandler.getSoTimeout()));
+      assertEquals(Boolean.TRUE, new Boolean(protocolHandler.getTcpNoDelay()));
+      assertEquals(InetAddress.getLocalHost(), protocolHandler.getAddress());
+      
+      if (connector != null)
+         connector.stop();
+      log.info(getName() + " PASSES");
+   }
+   
+   
+   protected String getTransport()
+   {
+      return "http";
+   }
+   
+   
+   protected void addExtraClientConfig(Map config) {}
+   protected void addExtraServerConfig(Map config) {}
+   
+   static class TestInvocationHandler implements ServerInvocationHandler
+   {
+      public void addListener(InvokerCallbackHandler callbackHandler) {}
+      public Object invoke(final InvocationRequest invocation) throws Throwable
+      {
+         return invocation.getParameter();
+      }
+      public void removeListener(InvokerCallbackHandler callbackHandler) {}
+      public void setMBeanServer(MBeanServer server) {}
+      public void setInvoker(ServerInvoker invoker) {}
+   }
+   
+   static class TestObject
+   {
+      private int secret;
+      public TestObject(int secret) {this.secret = secret;}
+      public boolean equals(Object o)
+      {
+         if (!(o instanceof TestObject)) return false;
+         return this.secret == ((TestObject) o).secret;
+      }
+      public String toString()
+      {
+         return "TestObject(" + secret + ")";
+      }
+   }
+}
\ No newline at end of file

Modified: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/http/EmptyURITestCase.java
===================================================================
--- remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/http/EmptyURITestCase.java	2011-04-26 03:10:49 UTC (rev 6338)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/http/EmptyURITestCase.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -1,222 +1,222 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2009, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.test.remoting.transport.http;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.management.MBeanServer;
-
-import junit.framework.TestCase;
-
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.PatternLayout;
-import org.jboss.logging.XLevel;
-import org.jboss.remoting.CannotConnectException;
-import org.jboss.remoting.Client;
-import org.jboss.remoting.InvocationRequest;
-import org.jboss.remoting.InvokerLocator;
-import org.jboss.remoting.InvokerRegistry;
-import org.jboss.remoting.ServerInvocationHandler;
-import org.jboss.remoting.ServerInvoker;
-import org.jboss.remoting.callback.InvokerCallbackHandler;
-import org.jboss.remoting.transport.Connector;
-import org.jboss.remoting.transport.PortUtil;
-import org.jboss.remoting.transport.ServerFactory;
-import org.jboss.remoting.transport.coyote.CoyoteInvoker;
-import org.jboss.remoting.transport.http.TransportClientFactory;
-
-
-/**
- * Unit test for JBREM-1168.
- * 
- * @author <a href="ron.sigal at jboss.com">Ron Sigal</a>
- * @version $Revision: 1.1 $
- * <p>
- * Copyright Dec 13, 2009
- */
-public class EmptyURITestCase extends TestCase
-{
-   private static Logger log = Logger.getLogger(EmptyURITestCase.class);
-   
-   private static boolean firstTime = true;
-   
-   protected String host;
-   protected int port;
-   protected String locatorURI;
-   protected InvokerLocator serverLocator;
-   protected Connector connector;
-   protected TestInvocationHandler invocationHandler;
-
-   
-   public void setUp() throws Exception
-   {
-      if (firstTime)
-      {
-         firstTime = false;
-         Logger.getLogger("org.jboss.remoting").setLevel(XLevel.INFO);
-         Logger.getLogger("org.jboss.test.remoting").setLevel(Level.INFO);
-         String pattern = "[%d{ABSOLUTE}] [%t] %5p (%F:%L) - %m%n";
-         PatternLayout layout = new PatternLayout(pattern);
-         ConsoleAppender consoleAppender = new ConsoleAppender(layout);
-         Logger.getRootLogger().addAppender(consoleAppender);
-         
-         InvokerRegistry.registerInvokerFactories("http", TransportClientFactory.class, TestCoyoteInvokerFactory.class);
-      }
-   }
-
-   
-   public void tearDown()
-   {
-   }
-   
-   
-   public void testEmptyURI() throws Throwable
-   {
-      log.info("entering " + getName());
-      
-      // Start server.
-      setupServer();
-      
-      // Create client.
-      InvokerLocator clientLocator = new InvokerLocator(locatorURI);
-      HashMap clientConfig = new HashMap();
-      clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
-      addExtraClientConfig(clientConfig);
-      Client client = new Client(clientLocator, clientConfig);
-      client.connect();
-      log.info("client is connected");
-      
-      // Test connections.
-      try
-      {
-         Object response = client.invoke("abc");
-         fail("expected CannotConnectException, got: " + response);
-      }
-      catch (CannotConnectException e)
-      {
-         String message = e.getMessage();
-         assertTrue("expected CannotConnectException message to contain \"Invalid URI\"", message != null && message.indexOf("Invalid URI") > 0);
-         log.info("got expected CannotConnectException");
-      }
-      catch (Throwable t)
-      {
-         fail("expected CannotConnectException, got: " + t);         
-      }
-      
-      client.disconnect();
-      shutdownServer();
-      log.info(getName() + " PASSES");
-   }
-   
-   
-   protected String getTransport()
-   {
-      return "http";
-   }
-   
-   
-   protected void addExtraClientConfig(Map config) {}
-   protected void addExtraServerConfig(Map config) {}
-   
-
-   protected void setupServer() throws Exception
-   {
-      host = InetAddress.getLocalHost().getHostAddress();
-      port = PortUtil.findFreePort(host);
-      locatorURI = getTransport() + "://" + host + ":" + port;
-      String metadata = System.getProperty("remoting.metadata");
-      if (metadata != null)
-      {
-         locatorURI += "/?" + metadata;
-      }
-      serverLocator = new InvokerLocator(locatorURI);
-      log.info("Starting remoting server with locator uri of: " + locatorURI);
-      HashMap config = new HashMap();
-      config.put(InvokerLocator.FORCE_REMOTE, "true");
-      addExtraServerConfig(config);
-      connector = new Connector(serverLocator, config);
-      connector.create();
-      invocationHandler = new TestInvocationHandler();
-      connector.addInvocationHandler("test", invocationHandler);
-      connector.start();
-   }
-   
-   
-   protected void shutdownServer() throws Exception
-   {
-      if (connector != null)
-         connector.stop();
-   }
-   
-   
-   static class TestInvocationHandler implements ServerInvocationHandler
-   {
-      public void addListener(InvokerCallbackHandler callbackHandler) {}
-      public Object invoke(final InvocationRequest invocation) throws Throwable
-      {
-         return invocation.getParameter();
-      }
-      public void removeListener(InvokerCallbackHandler callbackHandler) {}
-      public void setMBeanServer(MBeanServer server) {}
-      public void setInvoker(ServerInvoker invoker) {}
-   }
-   
-   static public class TestCoyoteInvokerFactory implements ServerFactory
-   {
-      public ServerInvoker createServerInvoker(InvokerLocator locator, Map config) throws IOException
-      {
-         return new TestCoyoteInvoker(locator, config);
-      }
-      public boolean supportsSSL()
-      {
-         return false;
-      }
-   }
-   
-   
-   static class TestCoyoteInvoker extends CoyoteInvoker
-   {
-      public TestCoyoteInvoker(InvokerLocator locator)
-      {
-         super(locator);
-      }
-
-      public TestCoyoteInvoker(InvokerLocator locator, Map configuration)
-      {
-         super(locator, configuration);
-      }
-      
-      public void service(org.apache.coyote.Request req, org.apache.coyote.Response res) throws Exception
-      {
-         byte[] b = new byte[]{};
-         req.requestURI().setBytes(b, 0, 0);
-         log.info(this + ".service()");
-         super.service(req, res);
-      }
-   }
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.test.remoting.transport.http;
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.management.MBeanServer;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.apache.log4j.PatternLayout;
+import org.jboss.logging.XLevel;
+import org.jboss.remoting.CannotConnectException;
+import org.jboss.remoting.Client;
+import org.jboss.remoting.InvocationRequest;
+import org.jboss.remoting.InvokerLocator;
+import org.jboss.remoting.InvokerRegistry;
+import org.jboss.remoting.ServerInvocationHandler;
+import org.jboss.remoting.ServerInvoker;
+import org.jboss.remoting.callback.InvokerCallbackHandler;
+import org.jboss.remoting.transport.Connector;
+import org.jboss.remoting.transport.PortUtil;
+import org.jboss.remoting.transport.ServerFactory;
+import org.jboss.remoting.transport.coyote.CoyoteInvoker;
+import org.jboss.remoting.transport.http.TransportClientFactory;
+
+
+/**
+ * Unit test for JBREM-1168.
+ * 
+ * @author <a href="ron.sigal at jboss.com">Ron Sigal</a>
+ * @version $Revision: 1.1 $
+ * <p>
+ * Copyright Dec 13, 2009
+ */
+public class EmptyURITestCase extends TestCase
+{
+   private static Logger log = Logger.getLogger(EmptyURITestCase.class);
+   
+   private static boolean firstTime = true;
+   
+   protected String host;
+   protected int port;
+   protected String locatorURI;
+   protected InvokerLocator serverLocator;
+   protected Connector connector;
+   protected TestInvocationHandler invocationHandler;
+
+   
+   public void setUp() throws Exception
+   {
+      if (firstTime)
+      {
+         firstTime = false;
+         Logger.getLogger("org.jboss.remoting").setLevel(XLevel.INFO);
+         Logger.getLogger("org.jboss.test.remoting").setLevel(Level.INFO);
+         String pattern = "[%d{ABSOLUTE}] [%t] %5p (%F:%L) - %m%n";
+         PatternLayout layout = new PatternLayout(pattern);
+         ConsoleAppender consoleAppender = new ConsoleAppender(layout);
+         Logger.getRootLogger().addAppender(consoleAppender);
+         
+         InvokerRegistry.registerInvokerFactories("http", TransportClientFactory.class, TestCoyoteInvokerFactory.class);
+      }
+   }
+
+   
+   public void tearDown()
+   {
+   }
+   
+   
+   public void testEmptyURI() throws Throwable
+   {
+      log.info("entering " + getName());
+      
+      // Start server.
+      setupServer();
+      
+      // Create client.
+      InvokerLocator clientLocator = new InvokerLocator(locatorURI);
+      HashMap clientConfig = new HashMap();
+      clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+      addExtraClientConfig(clientConfig);
+      Client client = new Client(clientLocator, clientConfig);
+      client.connect();
+      log.info("client is connected");
+      
+      // Test connections.
+      try
+      {
+         Object response = client.invoke("abc");
+         fail("expected CannotConnectException, got: " + response);
+      }
+      catch (CannotConnectException e)
+      {
+         String message = e.getMessage();
+         assertTrue("expected CannotConnectException message to contain response code \"400\"", message != null && message.indexOf("400") > 0);
+         log.info("got expected CannotConnectException");
+      }
+      catch (Throwable t)
+      {
+         fail("expected CannotConnectException, got: " + t);         
+      }
+      
+      client.disconnect();
+      shutdownServer();
+      log.info(getName() + " PASSES");
+   }
+   
+   
+   protected String getTransport()
+   {
+      return "http";
+   }
+   
+   
+   protected void addExtraClientConfig(Map config) {}
+   protected void addExtraServerConfig(Map config) {}
+   
+
+   protected void setupServer() throws Exception
+   {
+      host = InetAddress.getLocalHost().getHostAddress();
+      port = PortUtil.findFreePort(host);
+      locatorURI = getTransport() + "://" + host + ":" + port;
+      String metadata = System.getProperty("remoting.metadata");
+      if (metadata != null)
+      {
+         locatorURI += "/?" + metadata;
+      }
+      serverLocator = new InvokerLocator(locatorURI);
+      log.info("Starting remoting server with locator uri of: " + locatorURI);
+      HashMap config = new HashMap();
+      config.put(InvokerLocator.FORCE_REMOTE, "true");
+      addExtraServerConfig(config);
+      connector = new Connector(serverLocator, config);
+      connector.create();
+      invocationHandler = new TestInvocationHandler();
+      connector.addInvocationHandler("test", invocationHandler);
+      connector.start();
+   }
+   
+   
+   protected void shutdownServer() throws Exception
+   {
+      if (connector != null)
+         connector.stop();
+   }
+   
+   
+   static class TestInvocationHandler implements ServerInvocationHandler
+   {
+      public void addListener(InvokerCallbackHandler callbackHandler) {}
+      public Object invoke(final InvocationRequest invocation) throws Throwable
+      {
+         return invocation.getParameter();
+      }
+      public void removeListener(InvokerCallbackHandler callbackHandler) {}
+      public void setMBeanServer(MBeanServer server) {}
+      public void setInvoker(ServerInvoker invoker) {}
+   }
+   
+   static public class TestCoyoteInvokerFactory implements ServerFactory
+   {
+      public ServerInvoker createServerInvoker(InvokerLocator locator, Map config) throws IOException
+      {
+         return new TestCoyoteInvoker(locator, config);
+      }
+      public boolean supportsSSL()
+      {
+         return false;
+      }
+   }
+   
+   
+   static class TestCoyoteInvoker extends CoyoteInvoker
+   {
+      public TestCoyoteInvoker(InvokerLocator locator)
+      {
+         super(locator);
+      }
+
+      public TestCoyoteInvoker(InvokerLocator locator, Map configuration)
+      {
+         super(locator, configuration);
+      }
+      
+      public void service(org.apache.coyote.Request req, org.apache.coyote.Response res) throws Exception
+      {
+         byte[] b = new byte[]{};
+         req.requestURI().setBytes(b, 0, 0);
+         log.info(this + ".service()");
+         super.service(req, res);
+      }
+   }
 }
\ No newline at end of file


Property changes on: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/http/marshal/HttpContentTypeTestCase.java
___________________________________________________________________
Deleted: svn:mergeinfo
   - 


Property changes on: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/servlet/marshal/config/ServletConfigurationMapTestClient.java
___________________________________________________________________
Deleted: svn:mergeinfo
   - 


Property changes on: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/servlet/marshal/config/WEB-INF
___________________________________________________________________
Deleted: svn:mergeinfo
   - 


Property changes on: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/servlet/marshal/config/remoting-servlet-service.xml
___________________________________________________________________
Deleted: svn:mergeinfo
   - 


Property changes on: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/servlet/remoting-servlet-service.xml
___________________________________________________________________
Deleted: svn:mergeinfo
   - 


Property changes on: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/servlet/ssl/keystore
___________________________________________________________________
Deleted: svn:mergeinfo
   - 


Property changes on: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/servlet/ssl/remoting-sslservlet-service.xml
___________________________________________________________________
Deleted: svn:mergeinfo
   - 


Property changes on: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/servlet/ssl/truststore
___________________________________________________________________
Deleted: svn:mergeinfo
   - 

Deleted: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/socket/accept/AcceptThreadPriorityTestCase.java
===================================================================
--- remoting2/branches/2.2/src/tests/org/jboss/test/remoting/transport/socket/accept/AcceptThreadPriorityTestCase.java	2011-03-19 20:51:35 UTC (rev 6284)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/socket/accept/AcceptThreadPriorityTestCase.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -1,228 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2009, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.test.remoting.transport.socket.accept;
-
-import java.lang.reflect.Field;
-import java.net.InetAddress;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.management.MBeanServer;
-
-import junit.framework.TestCase;
-
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.PatternLayout;
-import org.jboss.logging.XLevel;
-import org.jboss.remoting.Client;
-import org.jboss.remoting.InvocationRequest;
-import org.jboss.remoting.InvokerLocator;
-import org.jboss.remoting.ServerInvocationHandler;
-import org.jboss.remoting.ServerInvoker;
-import org.jboss.remoting.callback.InvokerCallbackHandler;
-import org.jboss.remoting.transport.Connector;
-import org.jboss.remoting.transport.PortUtil;
-import org.jboss.remoting.transport.socket.SocketServerInvoker;
-
-
-/**
- * Unit tests for JBREM-1277
- * 
- * @author <a href="ron.sigal at jboss.com">Ron Sigal</a>
- * @version $Revision: 1.1 $
- * <p>
- * Copyright Mar 19, 2011
- */
-public class AcceptThreadPriorityTestCase extends TestCase
-{
-   protected static String NUM_ACCEPT_THREADS = "3";
-   protected static String PRIORITY_INCREMENT = "4";
-   
-   private static Logger log = Logger.getLogger(AcceptThreadPriorityTestCase.class);
-   
-   private static boolean firstTime = true;
-   
-   protected String host;
-   protected int port;
-   protected String locatorURI;
-   protected InvokerLocator serverLocator;
-   protected Connector connector;
-   protected TestInvocationHandler invocationHandler;
-
-   
-   public void setUp() throws Exception
-   {
-      if (firstTime)
-      {
-         firstTime = false;
-         Logger.getLogger("org.jboss.remoting").setLevel(XLevel.TRACE);
-         Logger.getLogger("org.jboss.test.remoting").setLevel(Level.INFO);
-         String pattern = "[%d{ABSOLUTE}] [%t] %5p (%F:%L) - %m%n";
-         PatternLayout layout = new PatternLayout(pattern);
-         ConsoleAppender consoleAppender = new ConsoleAppender(layout);
-         Logger.getRootLogger().addAppender(consoleAppender);  
-      }
-   }
-
-   
-   public void tearDown()
-   {
-   }
-   
-   
-   public void testAcceptThreadPriority() throws Throwable
-   {
-      log.info("entering " + getName());
-      
-      // Start server.
-      setupServer(PRIORITY_INCREMENT);
-      
-      // Create client.
-      InvokerLocator clientLocator = new InvokerLocator(locatorURI);
-      HashMap clientConfig = new HashMap();
-      clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
-      addExtraClientConfig(clientConfig);
-      Client client = new Client(clientLocator, clientConfig);
-      client.connect();
-      log.info("client is connected");
-      
-      // Test connections.
-      assertEquals("abc", client.invoke("abc"));
-      log.info("connection is good");
-      
-      // Test accept threads priority.
-      int defaultPriority = Thread.NORM_PRIORITY;
-      int expectedPriority = defaultPriority + Integer.valueOf(PRIORITY_INCREMENT).intValue();
-      Field field = SocketServerInvoker.class.getDeclaredField("acceptThreads");
-      field.setAccessible(true);
-      Thread[] acceptThreads = (Thread[]) field.get((SocketServerInvoker) connector.getServerInvoker());
-      assertEquals(Integer.valueOf(NUM_ACCEPT_THREADS).intValue(), acceptThreads.length);
-      for (int i = 0; i < acceptThreads.length; i++)
-      {
-         log.info("acceptThreads[" + i + "].getPriority(): " + acceptThreads[i].getPriority());
-         assertEquals(expectedPriority, acceptThreads[i].getPriority());
-         
-      }
-      
-      client.disconnect();
-      shutdownServer();
-      log.info(getName() + " PASSES");
-   }
-   
-   public void testAcceptThreadPriorityInvalidValue() throws Throwable
-   {
-      log.info("entering " + getName());
-      
-      // Discover invalid thread priority value.
-      int invalidPriority = Thread.MAX_PRIORITY + 1;
-      
-      // Start server.
-      setupServer(Integer.toString(invalidPriority));
-      
-      // Create client.
-      InvokerLocator clientLocator = new InvokerLocator(locatorURI);
-      HashMap clientConfig = new HashMap();
-      clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
-      addExtraClientConfig(clientConfig);
-      Client client = new Client(clientLocator, clientConfig);
-      client.connect();
-      log.info("client is connected");
-      
-      // Test connections.
-      assertEquals("abc", client.invoke("abc"));
-      log.info("connection is good");
-      
-      // Test accept threads priority.
-      int defaultPriority = Thread.NORM_PRIORITY;
-      Field field = SocketServerInvoker.class.getDeclaredField("acceptThreads");
-      field.setAccessible(true);
-      Thread[] acceptThreads = (Thread[]) field.get((SocketServerInvoker) connector.getServerInvoker());
-      assertEquals(Integer.valueOf(NUM_ACCEPT_THREADS).intValue(), acceptThreads.length);
-      for (int i = 0; i < acceptThreads.length; i++)
-      {
-         log.info("acceptThreads[" + i + "].getPriority(): " + acceptThreads[i].getPriority());
-         assertEquals(defaultPriority, acceptThreads[i].getPriority());
-         
-      }
-      
-      client.disconnect();
-      shutdownServer();
-      log.info(getName() + " PASSES");
-   }
-   
-   protected String getTransport()
-   {
-      return "socket";
-   }
-   
-   
-   protected void addExtraClientConfig(Map config) {}
-   protected void addExtraServerConfig(Map config) {}
-   
-
-   protected void setupServer(String increment) throws Exception
-   {
-      host = InetAddress.getLocalHost().getHostAddress();
-      port = PortUtil.findFreePort(host);
-      locatorURI = getTransport() + "://" + host + ":" + port;
-      locatorURI += "/?numAcceptThreads=" + NUM_ACCEPT_THREADS;
-      locatorURI += "&acceptThreadPriorityIncrement=" + increment;
-      String metadata = System.getProperty("remoting.metadata");
-      if (metadata != null)
-      {
-         locatorURI += "&" + metadata;
-      }
-      serverLocator = new InvokerLocator(locatorURI);
-      log.info("Starting remoting server with locator uri of: " + locatorURI);
-      HashMap config = new HashMap();
-      config.put(InvokerLocator.FORCE_REMOTE, "true");
-      addExtraServerConfig(config);
-      connector = new Connector(serverLocator, config);
-      connector.create();
-      invocationHandler = new TestInvocationHandler();
-      connector.addInvocationHandler("test", invocationHandler);
-      connector.start();
-   }
-   
-   
-   protected void shutdownServer() throws Exception
-   {
-      if (connector != null)
-         connector.stop();
-   }
-   
-   
-   static class TestInvocationHandler implements ServerInvocationHandler
-   {
-      public void addListener(InvokerCallbackHandler callbackHandler) {}
-      public Object invoke(final InvocationRequest invocation) throws Throwable
-      {
-         return invocation.getParameter();
-      }
-      public void removeListener(InvokerCallbackHandler callbackHandler) {}
-      public void setMBeanServer(MBeanServer server) {}
-      public void setInvoker(ServerInvoker invoker) {}
-   }
-}
\ No newline at end of file

Copied: remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/socket/accept/AcceptThreadPriorityTestCase.java (from rev 6284, remoting2/branches/2.2/src/tests/org/jboss/test/remoting/transport/socket/accept/AcceptThreadPriorityTestCase.java)
===================================================================
--- remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/socket/accept/AcceptThreadPriorityTestCase.java	                        (rev 0)
+++ remoting2/branches/2.2.3-SP2_JBREM-1269_JBREM-1275_JBREM-1261_JBREM-1277_JBREM-1280_JBREM-1281/src/tests/org/jboss/test/remoting/transport/socket/accept/AcceptThreadPriorityTestCase.java	2011-04-27 14:52:43 UTC (rev 6339)
@@ -0,0 +1,278 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.test.remoting.transport.socket.accept;
+
+import java.lang.reflect.Field;
+import java.net.InetAddress;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.management.MBeanServer;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.apache.log4j.PatternLayout;
+import org.jboss.logging.XLevel;
+import org.jboss.remoting.Client;
+import org.jboss.remoting.InvocationRequest;
+import org.jboss.remoting.InvokerLocator;
+import org.jboss.remoting.ServerInvocationHandler;
+import org.jboss.remoting.ServerInvoker;
+import org.jboss.remoting.callback.InvokerCallbackHandler;
+import org.jboss.remoting.transport.Connector;
+import org.jboss.remoting.transport.PortUtil;
+import org.jboss.remoting.transport.socket.LRUPool;
+import org.jboss.remoting.transport.socket.SocketServerInvoker;
+
+
+/**
+ * Unit tests for JBREM-1277
+ * 
+ * @author <a href="ron.sigal at jboss.com">Ron Sigal</a>
+ * @version $Revision: 1.1 $
+ * <p>
+ * Copyright Mar 19, 2011
+ */
+public class AcceptThreadPriorityTestCase extends TestCase
+{
+   protected static String NUM_ACCEPT_THREADS = "3";
+   protected static String PRIORITY_INCREMENT = "4";
+   
+   private static Logger log = Logger.getLogger(AcceptThreadPriorityTestCase.class);
+   
+   private static boolean firstTime = true;
+   
+   protected String host;
+   protected int port;
+   protected String locatorURI;
+   protected InvokerLocator serverLocator;
+   protected Connector connector;
+   protected TestInvocationHandler invocationHandler;
+
+   
+   public void setUp() throws Exception
+   {
+      if (firstTime)
+      {
+         firstTime = false;
+         Logger.getLogger("org.jboss.remoting").setLevel(XLevel.TRACE);
+         Logger.getLogger("org.jboss.test.remoting").setLevel(Level.INFO);
+         String pattern = "[%d{ABSOLUTE}] [%t] %5p (%F:%L) - %m%n";
+         PatternLayout layout = new PatternLayout(pattern);
+         ConsoleAppender consoleAppender = new ConsoleAppender(layout);
+         Logger.getRootLogger().addAppender(consoleAppender);  
+      }
+   }
+
+   
+   public void tearDown()
+   {
+   }
+   
+   
+   public void testAcceptThreadPriority() throws Throwable
+   {
+      log.info("entering " + getName());
+      
+      // Start server.
+      setupServer(PRIORITY_INCREMENT);
+      
+      // Create client.
+      InvokerLocator clientLocator = new InvokerLocator(locatorURI);
+      HashMap clientConfig = new HashMap();
+      clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+      addExtraClientConfig(clientConfig);
+      Client client = new Client(clientLocator, clientConfig);
+      client.connect();
+      log.info("client is connected");
+      
+      // Test connections.
+      assertEquals("abc", client.invoke("abc"));
+      log.info("connection is good");
+      
+      // Test accept threads priority.
+      int defaultPriority = Thread.NORM_PRIORITY;
+      int expectedPriority = defaultPriority + Integer.valueOf(PRIORITY_INCREMENT).intValue();
+      Field field = SocketServerInvoker.class.getDeclaredField("acceptThreads");
+      field.setAccessible(true);
+      Thread[] acceptThreads = (Thread[]) field.get((SocketServerInvoker) connector.getServerInvoker());
+      assertEquals(Integer.valueOf(NUM_ACCEPT_THREADS).intValue(), acceptThreads.length);
+      for (int i = 0; i < acceptThreads.length; i++)
+      {
+         log.info("acceptThreads[" + i + "].getPriority(): " + acceptThreads[i].getPriority());
+         assertEquals(expectedPriority, acceptThreads[i].getPriority());
+         
+      }
+      
+      // Test worker threads priority.
+      field = SocketServerInvoker.class.getDeclaredField("clientpool");
+      field.setAccessible(true);
+      LRUPool clientpool = (LRUPool) field.get((SocketServerInvoker) connector.getServerInvoker());
+      Iterator it = clientpool.getContents().iterator();
+      while (it.hasNext())
+      {
+         Thread t = (Thread) it.next();
+         log.info(t + " priority: " + t.getPriority());
+         assertEquals(Thread.NORM_PRIORITY, t.getPriority());
+      }
+      
+      field = SocketServerInvoker.class.getDeclaredField("threadpool");
+      field.setAccessible(true);
+      List threadpool = (List) field.get((SocketServerInvoker) connector.getServerInvoker());
+      it = threadpool.iterator();
+      while (it.hasNext())
+      {
+         Thread t = (Thread) it.next();
+         log.info(t + " priority: " + t.getPriority());
+         assertEquals(Thread.NORM_PRIORITY, t.getPriority());
+      }
+      
+      client.disconnect();
+      shutdownServer();
+      log.info(getName() + " PASSES");
+   }
+   
+   public void testAcceptThreadPriorityInvalidValue() throws Throwable
+   {
+      log.info("entering " + getName());
+      
+      // Discover invalid thread priority value.
+      int invalidPriority = Thread.MAX_PRIORITY + 1;
+      
+      // Start server.
+      setupServer(Integer.toString(invalidPriority));
+      
+      // Create client.
+      InvokerLocator clientLocator = new InvokerLocator(locatorURI);
+      HashMap clientConfig = new HashMap();
+      clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+      addExtraClientConfig(clientConfig);
+      Client client = new Client(clientLocator, clientConfig);
+      client.connect();
+      log.info("client is connected");
+      
+      // Test connections.
+      assertEquals("abc", client.invoke("abc"));
+      log.info("connection is good");
+      
+      // Test accept threads priority.
+      int defaultPriority = Thread.NORM_PRIORITY;
+      Field field = SocketServerInvoker.class.getDeclaredField("acceptThreads");
+      field.setAccessible(true);
+      Thread[] acceptThreads = (Thread[]) field.get((SocketServerInvoker) connector.getServerInvoker());
+      assertEquals(Integer.valueOf(NUM_ACCEPT_THREADS).intValue(), acceptThreads.length);
+      for (int i = 0; i < acceptThreads.length; i++)
+      {
+         log.info("acceptThreads[" + i + "].getPriority(): " + acceptThreads[i].getPriority());
+         assertEquals(defaultPriority, acceptThreads[i].getPriority());
+         
+      }
+      
+      // Test worker threads priority.
+      field = SocketServerInvoker.class.getDeclaredField("clientpool");
+      field.setAccessible(true);
+      LRUPool clientpool = (LRUPool) field.get((SocketServerInvoker) connector.getServerInvoker());
+      Iterator it = clientpool.getContents().iterator();
+      while (it.hasNext())
+      {
+         Thread t = (Thread) it.next();
+         log.info(t + " priority: " + t.getPriority());
+         assertEquals(Thread.NORM_PRIORITY, t.getPriority());
+      }
+      
+      field = SocketServerInvoker.class.getDeclaredField("threadpool");
+      field.setAccessible(true);
+      List threadpool = (List) field.get((SocketServerInvoker) connector.getServerInvoker());
+      it = threadpool.iterator();
+      while (it.hasNext())
+      {
+         Thread t = (Thread) it.next();
+         log.info(t + " priority: " + t.getPriority());
+         assertEquals(Thread.NORM_PRIORITY, t.getPriority());
+      }
+      
+      client.disconnect();
+      shutdownServer();
+      log.info(getName() + " PASSES");
+   }
+   
+   protected String getTransport()
+   {
+      return "socket";
+   }
+   
+   
+   protected void addExtraClientConfig(Map config) {}
+   protected void addExtraServerConfig(Map config) {}
+   
+
+   protected void setupServer(String increment) throws Exception
+   {
+      host = InetAddress.getLocalHost().getHostAddress();
+      port = PortUtil.findFreePort(host);
+      locatorURI = getTransport() + "://" + host + ":" + port;
+      locatorURI += "/?numAcceptThreads=" + NUM_ACCEPT_THREADS;
+      locatorURI += "&acceptThreadPriorityIncrement=" + increment;
+      String metadata = System.getProperty("remoting.metadata");
+      if (metadata != null)
+      {
+         locatorURI += "&" + metadata;
+      }
+      serverLocator = new InvokerLocator(locatorURI);
+      log.info("Starting remoting server with locator uri of: " + locatorURI);
+      HashMap config = new HashMap();
+      config.put(InvokerLocator.FORCE_REMOTE, "true");
+      addExtraServerConfig(config);
+      connector = new Connector(serverLocator, config);
+      connector.create();
+      invocationHandler = new TestInvocationHandler();
+      connector.addInvocationHandler("test", invocationHandler);
+      connector.start();
+   }
+   
+   
+   protected void shutdownServer() throws Exception
+   {
+      if (connector != null)
+         connector.stop();
+   }
+   
+   
+   static class TestInvocationHandler implements ServerInvocationHandler
+   {
+      public void addListener(InvokerCallbackHandler callbackHandler) {}
+      public Object invoke(final InvocationRequest invocation) throws Throwable
+      {
+         return invocation.getParameter();
+      }
+      public void removeListener(InvokerCallbackHandler callbackHandler) {}
+      public void setMBeanServer(MBeanServer server) {}
+      public void setInvoker(ServerInvoker invoker) {}
+   }
+}
\ No newline at end of file



More information about the jboss-remoting-commits mailing list