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 }