User: ejort   
  Date: 02/03/24 05:12:13

  Modified:    src/main/test/compliance/query QueryTestCase.java
  Log:
  merge RelMX_1_0_0_12 to RelMX_1_0_0_13 to dev branch
  
  Revision  Changes    Path
  1.2       +64 -0     jmx/src/main/test/compliance/query/QueryTestCase.java
  
  Index: QueryTestCase.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/test/compliance/query/QueryTestCase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- QueryTestCase.java        15 Mar 2002 20:26:40 -0000      1.1
  +++ QueryTestCase.java        24 Mar 2002 13:12:13 -0000      1.2
  @@ -1001,6 +1001,38 @@
      }
   
      /**
  +    * Test threading, tests that running the same query in multiple threads
  +    * works. This test might not catch a threading problem on every run.
  +    */
  +   public void testThreading() throws Exception
  +   {
  +      MBeanServer server1 = MBeanServerFactory.createMBeanServer("server1");
  +      MBeanServer server2 = MBeanServerFactory.createMBeanServer("server2");
  +      try
  +      {
  +         ObjectName name = new ObjectName("Domain1:type=instance1");
  +         NumberTest bean1 = new NumberTest(1);
  +         NumberTest bean2 = new NumberTest(2);
  +         server1.registerMBean(bean1, name);
  +         server2.registerMBean(bean2, name);
  +         QueryExp query = Query.eq(Query.attr("Number"), Query.value(2));
  +         QueryThread thread1 = new QueryThread(server1, query, 0);
  +         QueryThread thread2 = new QueryThread(server2, query, 1);
  +         thread1.start();
  +         thread2.start();
  +         thread1.join(10000);
  +         thread1.check();
  +         thread2.join(10000);
  +         thread2.check();
  +      }
  +      finally
  +      {
  +         MBeanServerFactory.releaseMBeanServer(server1);
  +         MBeanServerFactory.releaseMBeanServer(server2);
  +      }
  +   }
  +
  +   /**
       * Test pathological
       */
      public void testPathological() throws Exception
  @@ -1553,6 +1585,38 @@
            {
               fail("Expected instance " + iterator.next()
                      + "\nfor query " + queryExp);
  +         }
  +      }
  +   }
  +
  +   public class QueryThread
  +      extends Thread
  +   {
  +      MBeanServer server;
  +      QueryExp query;
  +      int expected;
  +      int result;
  +      public QueryThread(MBeanServer server, QueryExp query, int expected)
  +      {
  +         this.server = server;
  +         this.query = query;
  +         this.expected = expected;
  +      }
  +      public int getExpected()
  +      {
  +         return expected;
  +      }
  +      public void check()
  +      {
  +         assertEquals(expected, result);
  +      }
  +      public void run()
  +      {
  +         for (int i = 0; i < 1000; i++)
  +         {
  +            result = server.queryNames(null, query).size();
  +            if (result != expected)
  +               return;
            }
         }
      }
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to