1   package org.jencks.factory;
2   
3   import EDU.oswego.cs.dl.util.concurrent.SynchronizedBoolean;
4   import org.jencks.SpringTestSupport;
5   
6   import javax.resource.spi.work.Work;
7   import javax.resource.spi.work.WorkManager;
8   
9   /***
10   * @version $Revision: 1.1 $
11   */
12  public class WorkManagerFactoryBeanTest extends SpringTestSupport {
13  
14      SynchronizedBoolean flag = new SynchronizedBoolean(false);
15      Object lock = new Object();
16  
17      public void testWorkManager() throws Exception {
18          WorkManager workManager = (WorkManager) getBean("workManager");
19          workManager.scheduleWork(new Work() {
20              public void release() {
21              }
22  
23              public void run() {
24                  flag.set(true);
25                  synchronized (lock) {
26                      lock.notifyAll();
27                  }
28              }
29          });
30  
31  
32          if (!flag.get()) {
33              synchronized (lock) {
34                  lock.wait(2000);
35              }
36          }
37  
38          assertTrue("Should have set the flag by now", flag.get());
39      }
40  
41      protected String getApplicationContextXml() {
42          return "org/jencks/factory/workManager.xml";
43      }
44  }