Hi,
we extended the build process of the core module by including XDoclet / JMXDoclet based MBean interface generation. Using JMXDoclet all MBean interfaces can be created automatically based on meta information in the implementing classes hence avoiding tedious copy/paste duplication.
To do so we included the xdoclet plugin for maven as outlined in the xdoclet documentation (see http://xdoclet.sourceforge.net/maven-plugin.html), adjusted the build files for the core module accordingly, added meta information to all mbean implementors and removed the respective interfaces (which are now created when building via maven).
Here is how to make use of the functionality for a simple example (patch includes all changes of course :-)):
/**
* @jmx.mbean
*/
public class ClassSpace extends URLClassLoader implements ClassSpaceMBean {
public ClassSpace(URL[] urls) {
super(urls);
}/**
* @jmx.managed-operation
* @jmx.managed-parameter type="List" name="urls" */
public void addURLs(List urls) {
for (Iterator i = urls.iterator(); i.hasNext();) {
URL url = (URL) i.next();
addURL(url);
}
}
}
Besides applying the patch, the following classes have to be removed:
org.apache.geronimo.deployment.DeploymentControllerMBean.java org.apache.geronimo.deployment.DeploymentInfoMBean.java org.apache.geronimo.deployment.loader.ClassSpaceMBean.java org.apache.geronimo.deployment.repository.ComponentRepositoryMBean.java org.apache.geronimo.deployment.scanner.DeploymentScannerMBean.java org.apache.geronimo.deployment.service.ServiceDeploymentMBean.java org.apache.geronimo.deployment.service.ServiceDeploymentPlannerMBean.java org.apache.geronimo.jmx.RelationshipMBean.java
We hope someone will apply this patch,
cheers,
Steffen Schluff and Kristian K�hler
Index: modules/common/.cvsignore
===================================================================
RCS file: modules/common/.cvsignore
diff -N modules/common/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ modules/common/.cvsignore 15 Aug 2003 20:57:13 -0000
@@ -0,0 +1,4 @@
+target
+.classpath
+.project
+maven.log
Index: modules/core/.cvsignore
===================================================================
RCS file: modules/core/.cvsignore
diff -N modules/core/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ modules/core/.cvsignore 15 Aug 2003 20:57:13 -0000
@@ -0,0 +1,4 @@
+target
+.classpath
+.project
+maven.log
Index: modules/core/maven.xml
===================================================================
RCS file: /home/cvspublic/incubator-geronimo/modules/core/maven.xml,v
retrieving revision 1.5
diff -u -r1.5 maven.xml
--- modules/core/maven.xml 14 Aug 2003 17:23:38 -0000 1.5
+++ modules/core/maven.xml 15 Aug 2003 20:57:13 -0000
@@ -12,6 +12,10 @@
</preGoal>
<preGoal name="java:compile">
+
+ <!-- generate MBean interfaces via XDoclet -->
+ <attainGoal name="xdoclet:jmxdoclet"/>
+
<!--
<j:set var="maven.javacc.compile.src" value="target/gen-src"/>
<ant:path id="maven.javacc.compile.src.set"
location="${maven.javacc.compile.src}"/>
Index: modules/core/project.properties
===================================================================
RCS file: /home/cvspublic/incubator-geronimo/modules/core/project.properties,v
retrieving revision 1.3
diff -u -r1.3 project.properties
--- modules/core/project.properties 11 Aug 2003 17:59:08 -0000 1.3
+++ modules/core/project.properties 15 Aug 2003 20:57:14 -0000
@@ -6,6 +6,15 @@
maven.simian.linecount = 3
maven.compile.source=1.4
maven.compile.target=1.4
+
+#####################################################
+# XDoclet
+#####################################################
+maven.xdoclet.jmxdoclet.destDir=${maven.build.dir}/xdoclet/jmxdoclet
+maven.xdoclet.jmxdoclet.fileset.0=true
+maven.xdoclet.jmxdoclet.fileset.0.include=**/*.java
+maven.xdoclet.jmxdoclet.mbeaninterface.0=true
+
#####################################################
# Properties related to project-site
#####################################################
Index: modules/core/project.xml
===================================================================
RCS file: /home/cvspublic/incubator-geronimo/modules/core/project.xml,v
retrieving revision 1.5
diff -u -r1.5 project.xml
--- modules/core/project.xml 14 Aug 2003 17:08:00 -0000 1.5
+++ modules/core/project.xml 15 Aug 2003 20:57:14 -0000
@@ -96,6 +96,11 @@
<version>SNAPSHOT</version>
</dependency>
+ <dependency>
+ <id>xdoclet+jmx-module</id>
+ <version>1.2b2</version>
+ </dependency>
+
</dependencies>
Index: modules/core/src/.cvsignore
===================================================================
RCS file: modules/core/src/.cvsignore
diff -N modules/core/src/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ modules/core/src/.cvsignore 15 Aug 2003 20:57:14 -0000
@@ -0,0 +1,3 @@
+target
+maven.log
+velocity.log
Index:
modules/core/src/java/org/apache/geronimo/deployment/DeploymentController.java
===================================================================
RCS file:
/home/cvspublic/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/DeploymentController.java,v
retrieving revision 1.5
diff -u -r1.5 DeploymentController.java
---
modules/core/src/java/org/apache/geronimo/deployment/DeploymentController.java
14 Aug 2003 00:02:34 -0000 1.5
+++
modules/core/src/java/org/apache/geronimo/deployment/DeploymentController.java
15 Aug 2003 20:57:16 -0000
@@ -90,6 +90,8 @@
*
*
* @version $Revision: 1.5 $ $Date: 2003/08/14 00:02:34 $
+ *
+ * @jmx.mbean
*/
public class DeploymentController implements MBeanRegistration,
DeploymentControllerMBean {
private static final ObjectName DEFAULT_NAME =
JMXUtil.getObjectName("geronimo.deployment:role=DeploymentController");
@@ -145,6 +147,12 @@
public void postDeregister() {
}
+
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="ObjectName" name="source"
+ * @jmx.managed-parameter type="Set" name="urlInfos"
+ */
public synchronized void planDeployment(ObjectName source, Set urlInfos) {
// find new and existing urlInfos
for (Iterator i = urlInfos.iterator(); i.hasNext();) {
@@ -194,6 +202,11 @@
}
}
+
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="URL" name="url"
+ */
public synchronized void deploy(URL url) throws DeploymentException {
if (isDeployed(url)) {
return;
@@ -217,6 +230,11 @@
}
}
+
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="URL" name="url"
+ */
public synchronized void undeploy(URL url) {
if (!isDeployed(url)) {
return;
Index: modules/core/src/java/org/apache/geronimo/deployment/DeploymentInfo.java
===================================================================
RCS file:
/home/cvspublic/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/DeploymentInfo.java,v
retrieving revision 1.2
diff -u -r1.2 DeploymentInfo.java
--- modules/core/src/java/org/apache/geronimo/deployment/DeploymentInfo.java
11 Aug 2003 17:59:10 -0000 1.2
+++ modules/core/src/java/org/apache/geronimo/deployment/DeploymentInfo.java
15 Aug 2003 20:57:17 -0000
@@ -66,6 +66,8 @@
*
*
* @version $Revision: 1.2 $ $Date: 2003/08/11 17:59:10 $
+ *
+ * @jmx.mbean
*/
public class DeploymentInfo implements DeploymentInfoMBean {
private final URL url;
@@ -79,6 +81,9 @@
this.url = url;
}
+ /**
+ * @jmx.managed-operation
+ */
public URL getURL() {
return url;
}
@@ -86,19 +91,33 @@
public ObjectName getName() {
return name;
}
-
+
+ /**
+ * @jmx.managed-operation
+ */
public ObjectName getParent() {
return parent;
}
+ /**
+ * @jmx.managed-operation
+ */
public Collection getChildren() {
return Collections.unmodifiableCollection(children);
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="ObjectName" name="childName"
+ */
public synchronized void addChild(ObjectName childName) {
children.add(childName);
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="ObjectName" name="childName"
+ */
public synchronized void removeChild(ObjectName childName) {
children.remove(childName);
}
Index:
modules/core/src/java/org/apache/geronimo/deployment/loader/ClassSpace.java
===================================================================
RCS file:
/home/cvspublic/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/loader/ClassSpace.java,v
retrieving revision 1.1
diff -u -r1.1 ClassSpace.java
--- modules/core/src/java/org/apache/geronimo/deployment/loader/ClassSpace.java
11 Aug 2003 17:59:10 -0000 1.1
+++ modules/core/src/java/org/apache/geronimo/deployment/loader/ClassSpace.java
15 Aug 2003 20:57:18 -0000
@@ -64,12 +64,18 @@
*
*
* @version $Revision: 1.1 $ $Date: 2003/08/11 17:59:10 $
+ *
+ * @jmx.mbean
*/
public class ClassSpace extends URLClassLoader implements ClassSpaceMBean {
public ClassSpace(URL[] urls) {
super(urls);
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="List" name="urls"
+ */
public void addURLs(List urls) {
for (Iterator i = urls.iterator(); i.hasNext();) {
URL url = (URL) i.next();
Index:
modules/core/src/java/org/apache/geronimo/deployment/repository/ComponentRepository.java
===================================================================
RCS file:
/home/cvspublic/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/repository/ComponentRepository.java,v
retrieving revision 1.2
diff -u -r1.2 ComponentRepository.java
---
modules/core/src/java/org/apache/geronimo/deployment/repository/ComponentRepository.java
14 Aug 2003 08:41:10 -0000 1.2
+++
modules/core/src/java/org/apache/geronimo/deployment/repository/ComponentRepository.java
15 Aug 2003 20:57:19 -0000
@@ -84,6 +84,8 @@
* downloaded to the local machine.
*
* @version $Revision: 1.2 $ $Date: 2003/08/14 08:41:10 $
+ *
+ * @jmx.mbean
*/
public class ComponentRepository implements
ComponentRepositoryMBean,MBeanRegistration {
private final Log log = LogFactory.getLog(getClass().getName());
@@ -119,28 +121,65 @@
public void postDeregister() {
}
+ /**
+ * Return the local root directory
+ * @return the local root directory
+ *
+ * @jmx.managed-operation
+ */
public File getLocalRoot() {
return localRoot;
}
+ /**
+ * @jmx.managed-operation
+ */
public Set getRemoteRoots() {
return Collections.unmodifiableSet(remoteRoots);
}
+ /**
+ * Add a remote repository
+ * @param root the location of the remote repository
+ *
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="URL" name="root"
+ */
public void addRemoteRoot(URL root) {
remoteRoots.add(root);
}
+ /**
+ * Remove a remote repository
+ * @param root the location to remove
+ *
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="URL" name="root"
+ */
public void removeRemoteRoot(URL root) {
remoteRoots.remove(root);
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="String" name="name"
+ * @jmx.managed-parameter type="String" name="version"
+ * @jmx.managed-parameter type="String" name="location"
+ */
public void ensureLocal(String name, String version, String location) {
// @todo get rid of this and use a property editor
ComponentDescription desc = new ComponentDescription(name, version,
location);
ensureLocal(desc);
}
+ /**
+ * Ensure a component is available in the local repository
+ * @param desc the component to add
+ * @return true if the component is present; false if it could not be
found or downloaded
+ *
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="ComponentDescription" name="desc"
+ */
public boolean ensureLocal(ComponentDescription desc) {
String location = desc.getLocation();
File localFile = new File(localRoot, location);
@@ -205,12 +244,25 @@
return false;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="String" name="name"
+ * @jmx.managed-parameter type="String" name="version"
+ * @jmx.managed-parameter type="String" name="location"
+ */
public void removeLocal(String name, String version, String location) {
// @todo get rid of this and use a property editor
ComponentDescription desc = new ComponentDescription(name, version,
location);
removeLocal(desc);
}
+ /**
+ * Remove a local copy
+ * @param desc the component to remove from the local repository
+ *
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="ComponentDescription" name="desc"
+ */
public void removeLocal(ComponentDescription desc) {
String location = desc.getLocation();
File localFile = new File(localRoot, location);
@@ -219,12 +271,22 @@
}
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="String" name="name"
+ * @jmx.managed-parameter type="String" name="version"
+ * @jmx.managed-parameter type="String" name="location"
+ */
public void deploy(String name, String version, String location) throws
DeploymentException {
// @todo get rid of this and use a property editor
ComponentDescription desc = new ComponentDescription(name, version,
location);
deploy(desc);
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="ComponentDescription" name="desc"
+ */
public void deploy(ComponentDescription desc) throws DeploymentException {
if (!ensureLocal(desc)) {
throw new DeploymentException("Could not obtain local copy of
"+desc.getName()+" "+desc.getVersion());
Index:
modules/core/src/java/org/apache/geronimo/deployment/scanner/DeploymentScanner.java
===================================================================
RCS file:
/home/cvspublic/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/scanner/DeploymentScanner.java,v
retrieving revision 1.6
diff -u -r1.6 DeploymentScanner.java
---
modules/core/src/java/org/apache/geronimo/deployment/scanner/DeploymentScanner.java
13 Aug 2003 01:56:06 -0000 1.6
+++
modules/core/src/java/org/apache/geronimo/deployment/scanner/DeploymentScanner.java
15 Aug 2003 20:57:20 -0000
@@ -80,6 +80,8 @@
*
*
* @version $Revision: 1.6 $ $Date: 2003/08/13 01:56:06 $
+ *
+ * @jmx.mbean
*/
public class DeploymentScanner implements DeploymentScannerMBean,
MBeanRegistration {
private static final Log log = LogFactory.getLog(DeploymentScanner.class);
@@ -108,22 +110,42 @@
public void postDeregister() {
}
+ /**
+ * @jmx.managed-operation
+ */
public synchronized long getScanInterval() {
return scanInterval;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="long" name="scanInterval"
+ */
public synchronized void setScanInterval(long scanInterval) {
this.scanInterval = scanInterval;
}
+ /**
+ * @jmx.managed-operation
+ */
public synchronized Set getWatchedURLs() {
return Collections.unmodifiableSet(new HashSet(scanners.keySet()));
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="String" name="url"
+ * @jmx.managed-parameter type="boolean" name="recurse"
+ */
public void addURL(String url, boolean recurse) throws
MalformedURLException {
addURL(new URL(url), recurse);
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="URL" name="url"
+ * @jmx.managed-parameter type="boolean" name="recurse"
+ */
public synchronized void addURL(URL url, boolean recurse) {
if (!scanners.containsKey(url)) {
Scanner scanner = getScannerForURL(url, recurse);
@@ -142,10 +164,19 @@
}
}
+
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="String" name="url"
+ */
public void removeURL(String url) throws MalformedURLException {
removeURL(new URL(url));
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="URL" name="url"
+ */
public synchronized void removeURL(URL url) {
scanners.remove(url);
}
@@ -154,6 +185,9 @@
return run;
}
+ /**
+ * @jmx.managed-operation
+ */
public synchronized void start() {
if (scanThread == null) {
run = true;
@@ -172,6 +206,9 @@
}
}
+ /**
+ * @jmx.managed-operation
+ */
public synchronized void stop() {
run = false;
if (scanThread != null) {
@@ -180,6 +217,9 @@
}
}
+ /**
+ * @jmx.managed-operation
+ */
public void scanNow() {
boolean logTrace = log.isTraceEnabled();
Index:
modules/core/src/java/org/apache/geronimo/deployment/service/ServiceDeployment.java
===================================================================
RCS file:
/home/cvspublic/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/service/ServiceDeployment.java,v
retrieving revision 1.1
diff -u -r1.1 ServiceDeployment.java
---
modules/core/src/java/org/apache/geronimo/deployment/service/ServiceDeployment.java
11 Aug 2003 17:59:11 -0000 1.1
+++
modules/core/src/java/org/apache/geronimo/deployment/service/ServiceDeployment.java
15 Aug 2003 20:57:21 -0000
@@ -64,6 +64,8 @@
*
*
* @version $Revision: 1.1 $ $Date: 2003/08/11 17:59:11 $
+ *
+ * @jmx.mbean extends="org.apache.geronimo.deployment.DeploymentInfoMBean"
*/
public class ServiceDeployment extends DeploymentInfo implements
ServiceDeploymentMBean {
public ServiceDeployment(ObjectName name, ObjectName parent, URL url) {
Index:
modules/core/src/java/org/apache/geronimo/deployment/service/ServiceDeploymentPlanner.java
===================================================================
RCS file:
/home/cvspublic/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/service/ServiceDeploymentPlanner.java,v
retrieving revision 1.3
diff -u -r1.3 ServiceDeploymentPlanner.java
---
modules/core/src/java/org/apache/geronimo/deployment/service/ServiceDeploymentPlanner.java
15 Aug 2003 15:27:42 -0000 1.3
+++
modules/core/src/java/org/apache/geronimo/deployment/service/ServiceDeploymentPlanner.java
15 Aug 2003 20:57:23 -0000
@@ -100,6 +100,8 @@
*
*
* @version $Revision: 1.3 $ $Date: 2003/08/15 15:27:42 $
+ *
+ * @jmx.mbean extends="org.apache.geronimo.deployment.DeploymentPlannerMBean"
*/
public class ServiceDeploymentPlanner implements
ServiceDeploymentPlannerMBean, MBeanRegistration {
private MBeanServer server;
Index: modules/core/src/java/org/apache/geronimo/jmx/Relationship.java
===================================================================
RCS file:
/home/cvspublic/incubator-geronimo/modules/core/src/java/org/apache/geronimo/jmx/Relationship.java,v
retrieving revision 1.3
diff -u -r1.3 Relationship.java
--- modules/core/src/java/org/apache/geronimo/jmx/Relationship.java 13 Aug
2003 21:17:28 -0000 1.3
+++ modules/core/src/java/org/apache/geronimo/jmx/Relationship.java 15 Aug
2003 20:57:24 -0000
@@ -70,6 +70,8 @@
*
*
* @version $Revision: 1.3 $ $Date: 2003/08/13 21:17:28 $
+ *
+ * @jmx.mbean
*/
public class Relationship implements MBeanRegistration, RelationshipMBean{
private final Log log = LogFactory.getLog(getClass());
@@ -113,6 +115,9 @@
public void postDeregister() {
}
+ /**
+ * @jmx.managed-operation
+ */
public void create() throws Exception {
RelationServiceMBean relationService =
JMXUtil.getRelationService(server);
RoleInfo[] roleInfo = {
@@ -123,6 +128,9 @@
relationService.createRelationType(name, roleInfo);
}
+ /**
+ * @jmx.managed-operation
+ */
public void destroy() {
RelationServiceMBean relationService =
JMXUtil.getRelationService(server);
try {
@@ -136,122 +144,227 @@
}
}
+ /**
+ * @jmx.managed-operation
+ */
public String getName() {
return name;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="String" name="name"
+ */
public void setName(String name) {
this.name = name;
}
+ /**
+ * @jmx.managed-operation
+ */
public String getLeftRoleName() {
return leftRoleName;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="String" name="leftRoleName"
+ */
public void setLeftRoleName(String leftRoleName) {
this.leftRoleName = leftRoleName;
}
+ /**
+ * @jmx.managed-operation
+ */
public String getLeftRoleClass() {
return leftRoleClass;
}
-
+
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="String" name="leftRoleClass"
+ */
public void setLeftRoleClass(String leftRoleClass) {
this.leftRoleClass = leftRoleClass;
}
+ /**
+ * @jmx.managed-operation
+ */
public boolean isLeftRoleReadable() {
return leftRoleReadable;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="boolean" name="leftRoleReadable"
+ */
public void setLeftRoleReadable(boolean leftRoleReadable) {
this.leftRoleReadable = leftRoleReadable;
}
+ /**
+ * @jmx.managed-operation
+ */
public boolean isLeftRoleWritable() {
return leftRoleWritable;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="boolean" name="leftRoleWriteable"
+ */
public void setLeftRoleWritable(boolean leftRoleWritable) {
this.leftRoleWritable = leftRoleWritable;
}
+ /**
+ * @jmx.managed-operation
+ */
public int getLeftRoleMinimum() {
return leftRoleMinimum;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="int" name="leftRoleMinimum"
+ */
public void setLeftRoleMinimum(int leftRoleMinimum) {
this.leftRoleMinimum = leftRoleMinimum;
}
+ /**
+ * @jmx.managed-operation
+ */
public int getLeftRoleMaximum() {
return leftRoleMaximum;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="int" name="leftRoleMaximum"
+ */
public void setLeftRoleMaximum(int leftRoleMaximum) {
this.leftRoleMaximum = leftRoleMaximum;
}
+ /**
+ * @jmx.managed-operation
+ */
public String getLeftRoleDescription() {
return leftRoleDescription;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="String" name="leftRoleDescription"
+ */
public void setLeftRoleDescription(String leftRoleDescription) {
this.leftRoleDescription = leftRoleDescription;
}
+ /**
+ * @jmx.managed-operation
+ */
public String getRightRoleName() {
return rightRoleName;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="String" name="rightRoleName"
+ */
public void setRightRoleName(String rightRoleName) {
this.rightRoleName = rightRoleName;
}
+ /**
+ * @jmx.managed-operation
+ */
public String getRightRoleClass() {
return rightRoleClass;
}
-
+
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="String" name="rightRoleClass"
+ */
public void setRightRoleClass(String rightRoleClass) {
this.rightRoleClass = rightRoleClass;
}
+ /**
+ * @jmx.managed-operation
+ */
public boolean isRightRoleReadable() {
return rightRoleReadable;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="boolean" name="rightRoleReadable"
+ */
public void setRightRoleReadable(boolean rightRoleReadable) {
this.rightRoleReadable = rightRoleReadable;
}
+ /**
+ * @jmx.managed-operation
+ */
public boolean isRightRoleWritable() {
return rightRoleWritable;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="boolean" name="rightRoleWritable"
+ */
public void setRightRoleWritable(boolean rightRoleWritable) {
this.rightRoleWritable = rightRoleWritable;
}
+ /**
+ * @jmx.managed-operation
+ */
public int getRightRoleMinimum() {
return rightRoleMinimum;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="int" name="rightRoleMinimum"
+ */
public void setRightRoleMinimum(int rightRoleMinimum) {
this.rightRoleMinimum = rightRoleMinimum;
}
+ /**
+ * @jmx.managed-operation
+ */
public int getRightRoleMaximum() {
return rightRoleMaximum;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="int" name="rightRoleMaximum"
+ */
public void setRightRoleMaximum(int rightRoleMaximum) {
this.rightRoleMaximum = rightRoleMaximum;
}
+ /**
+ * @jmx.managed-operation
+ */
public String getRightRoleDescription() {
return rightRoleDescription;
}
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="String" name="rightRoleDescription"
+ */
public void setRightRoleDescription(String rightRoleDescription) {
this.rightRoleDescription = rightRoleDescription;
}
Index:
modules/core/src/java/org/apache/geronimo/lock/ConcurrentInstanceLock.java
===================================================================
RCS file:
/home/cvspublic/incubator-geronimo/modules/core/src/java/org/apache/geronimo/lock/ConcurrentInstanceLock.java,v
retrieving revision 1.2
diff -u -r1.2 ConcurrentInstanceLock.java
--- modules/core/src/java/org/apache/geronimo/lock/ConcurrentInstanceLock.java
11 Aug 2003 17:59:12 -0000 1.2
+++ modules/core/src/java/org/apache/geronimo/lock/ConcurrentInstanceLock.java
15 Aug 2003 20:57:25 -0000
@@ -69,7 +69,7 @@
public class ConcurrentInstanceLock implements InstanceLock {
private final ReadWriteLock lock;
private Object writer;
- private final HashSet readers = new HashSet();;
+ private final HashSet readers = new HashSet();
public ConcurrentInstanceLock() {
this.lock = new WriterPreferenceReadWriteLock();
Index: modules/twiddle/.cvsignore
===================================================================
RCS file: modules/twiddle/.cvsignore
diff -N modules/twiddle/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ modules/twiddle/.cvsignore 15 Aug 2003 20:57:26 -0000
@@ -0,0 +1,4 @@
+target
+.classpath
+.project
+maven.log
Index: modules/xmlbeans/.cvsignore
===================================================================
RCS file: /home/cvspublic/incubator-geronimo/modules/xmlbeans/.cvsignore,v
retrieving revision 1.1
diff -u -r1.1 .cvsignore
--- modules/xmlbeans/.cvsignore 14 Aug 2003 20:16:46 -0000 1.1
+++ modules/xmlbeans/.cvsignore 15 Aug 2003 20:57:26 -0000
@@ -1,2 +1,4 @@
target
maven.log
+.classpath
+.project
