/[projects]/miscJava/Test3/src/dk/thoerup/asyncsamples/WorkManagerSample.java
ViewVC logotype

Annotation of /miscJava/Test3/src/dk/thoerup/asyncsamples/WorkManagerSample.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 773 - (hide annotations) (download)
Tue Jun 1 06:34:40 2010 UTC (14 years ago) by torben
File size: 2137 byte(s)
Corrected comment
1 torben 645 /* using the workmanager api (as in JSR237 etc.)
2     *
3 torben 773 * in websphere the workmanager API is available very easy, but on glassfish .... not so simple
4 torben 645 *
5     * this code is inspired by how Spring implented their TaskExecutor for GFv3, google : org.springframework.jca.work.glassfish.GlassFishWorkManagerTaskExecutor
6     *
7     * GFv3 Compile-time dependencies: auto-depends.jar connectors-runtime.jar connectors-internal-api.jar work-management.jar
8     *
9     *
10     * if your container (eg. tomcat) does not support this take a look at CommonJ
11     */
12    
13     package dk.thoerup.asyncsamples;
14    
15     import java.io.IOException;
16     import java.util.logging.Level;
17     import java.util.logging.Logger;
18    
19     import javax.resource.spi.work.Work;
20     import javax.resource.spi.work.WorkManager;
21     import javax.servlet.ServletException;
22     import javax.servlet.http.HttpServlet;
23     import javax.servlet.http.HttpServletRequest;
24     import javax.servlet.http.HttpServletResponse;
25    
26     import com.sun.enterprise.connectors.ConnectorRuntime;
27     import com.sun.enterprise.connectors.work.CommonWorkManager;
28    
29    
30    
31    
32     /**
33     * Servlet implementation class WorkManager
34     */
35     public class WorkManagerSample extends HttpServlet {
36     private static final long serialVersionUID = 1L;
37    
38     static final Logger logger = Logger.getLogger(WorkManagerSample.class.getName());
39    
40     WorkManager mgr;
41    
42     class MyWork implements Work {
43     @Override
44     public void release() {
45     }
46    
47     @Override
48     public void run() {
49     DummyWork.doWork();
50     }
51    
52     }
53    
54     @Override
55     public void init() throws ServletException {
56     super.init();
57    
58     ConnectorRuntime rt = ConnectorRuntime.getRuntime();
59    
60     final String threadPoolName = "thread-pool-1";
61    
62     try {
63     mgr = new CommonWorkManager(threadPoolName, rt, null);
64    
65     } catch (Exception e) {
66     logger.log(Level.SEVERE, "error", e);
67     }
68     }
69    
70     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
71    
72     try {
73     mgr.scheduleWork(new MyWork());
74     } catch (Exception e) {
75     logger.log(Level.SEVERE, "error", e);
76     }
77    
78     response.getWriter().print("Finished");
79     }
80    
81     }

  ViewVC Help
Powered by ViewVC 1.1.20