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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.20