KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jass > as > jboss > JBOSSActivityIdGeneratorService


1 /**
2  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3  -
4  - JASS: Java Advanced tranSaction Support
5  -
6  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
7  -
8  - This module was originally developed by
9  -
10  - LSD (Distributed Systems Lab, http://lsd.ls.fi.upm.es/lsd/lsd.htm)
11  - at Universidad Politecnica de Madrid (UPM) as an ObjectWeb Consortium
12  - (http://www.objectweb.org) project.
13  -
14  - This project has been partially funded by the European Commission under
15  - the IST programme of V FP grant IST-2001-37126 and by the Spanish
16  - Ministry of Science & Technology (MCyT) grants TIC2002-10376-E and
17  - TIC2001-1586-C03-02
18  -
19  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
20  - The original code and portions created by LSD are
21  - Copyright (c) 2004 LSD (UPM)
22  - All rights reserved.
23  -
24  - Redistribution and use in source and binary forms, with or without
25  - modification, are permitted provided that the following conditions are met:
26  -
27  - -Redistributions of source code must retain the above copyright notice, this
28  - list of conditions and the following disclaimer.
29  -
30  - -Redistributions in binary form must reproduce the above copyright notice,
31  - this list of conditions and the following disclaimer in the documentation
32  - and/or other materials provided with the distribution.
33  -
34  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
35  - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
36  - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
37  - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
38  - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
39  - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
40  - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
41  - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
42  - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
43  - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
44  - POSSIBILITY OF SUCH DAMAGE.
45  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
46  -
47  - Author: Francisco Perez Sorrosal (frperezs)
48  -
49  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
50 */

51
52 package org.objectweb.jass.as.jboss;
53
54 import javax.naming.Context JavaDoc;
55 import javax.naming.InitialContext JavaDoc;
56
57 import org.jboss.system.ServiceMBeanSupport;
58 import org.objectweb.jass.as.ActivityIdGenerator;
59
60 /**
61  * MBean that creates and registers the Activity ID Generator service for the
62  * JBOSS application server.
63  * @author fran
64  * Date: Feb 12, 2004
65  * org.objectweb.jass.as.jbossActivityIdService.java
66  */

67 public class JBOSSActivityIdGeneratorService
68     extends ServiceMBeanSupport
69     implements JBOSSActivityIdGeneratorServiceMBean {
70
71     // Constants ------------------------------------------------------------------
72

73     public static String JavaDoc JNDI_NAME = "ActivityIdGeneratorService";
74
75     // Attributes -----------------------------------------------------------------
76

77     // The singleton activity id generator instance
78
private static ActivityIdGenerator activityIdGenerator =
79         ActivityIdGenerator.getSingleton();
80
81     // Public ---------------------------------------------------------------------
82

83     // ServiceMBeanSupport implementation -------------------------------------
84

85     /**
86      * Invoked when this JBOSS MBean is started.
87      */

88     public void startService() throws Exception JavaDoc {
89         Context JavaDoc ctx = new InitialContext JavaDoc();
90         // The service is binded directly
91
ctx.bind(JNDI_NAME, activityIdGenerator);
92     }
93
94     /**
95      * Invoked when this JBOSS MBean is stopped.
96      */

97     public void stopService() {
98         try {
99             Context JavaDoc ctx = new InitialContext JavaDoc();
100             ctx.unbind(JNDI_NAME);
101         } catch (Exception JavaDoc e) {
102             log.error("Failed to unbind", e);
103         }
104     }
105
106     // ActivityIdServiceMBean implementation ----------------------------------
107

108     /**
109      * Generates a new activity id by invoking the activity identifier generator
110      * implementation {@link org.objectweb.jass.as.ActivityIdGenerator}.
111      * @return the last activity id created.
112      */

113     public String JavaDoc newActivityId() {
114         return activityIdGenerator.newActivityId().print();
115     }
116
117     public String JavaDoc getLastGeneratedId() {
118         return activityIdGenerator.getLastId().print();
119     }
120 }
121
Popular Tags