You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by jy...@apache.org on 2004/02/09 10:20:47 UTC
cvs commit: jakarta-jetspeed-2/cornerstone-jmx-demo/src/java/org/apache/cornerstone/framework/demo/jmx Demo1.java LogService.java LogServiceMetric.java
jyang 2004/02/09 01:20:47
Added: cornerstone-jmx-demo project.xml log4j.properties maven.log
project.properties maven.xml
cornerstone-jmx-demo/src/java/org/apache/cornerstone/framework/demo/jmx
Demo1.java LogService.java LogServiceMetric.java
Log:
Cornerstone JMX Demo code
PR:
Obtained from:
Submitted by:
Reviewed by:
CVS: ----------------------------------------------------------------------
CVS: PR:
CVS: If this change addresses a PR in the problem report tracking
CVS: database, then enter the PR number(s) here.
CVS: Obtained from:
CVS: If this change has been taken from another system, such as NCSA,
CVS: then name the system in this line, otherwise delete it.
CVS: Submitted by:
CVS: If this code has been contributed to Apache by someone else; i.e.,
CVS: they sent us a patch or a new module, then include their name/email
CVS: address here. If this is your work then delete this line.
CVS: Reviewed by:
CVS: If we are doing pre-commit code reviews and someone else has
CVS: reviewed your changes, include their name(s) here.
CVS: If you have not had it reviewed then delete this line.
Revision Changes Path
1.1 jakarta-jetspeed-2/cornerstone-jmx-demo/project.xml
Index: project.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<project>
<extend>${basedir}/../project.xml</extend>
<pomVersion>3</pomVersion>
<id>jetspeed-cornerstone-jmx-demo</id>
<name>Cornerstone JMX demo</name>
<currentVersion>1.0</currentVersion>
<package>org.apache.cornerstone</package>
<description>Cornerstone JMX demo</description>
<shortDescription>Cornerstone JMX demo</shortDescription>
<dependencies>
<dependency>
<id>jetspeed-cornerstone-jmx</id>
<groupId>jetspeed2</groupId>
<version>1.0</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
</dependency>
<dependency>
<id>log4j</id>
<version>1.2.8</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
</dependency>
<dependency>
<id>jmxri</id>
<groupId>jmx</groupId>
<version>1.2.1</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
</dependency>
<dependency>
<id>jmxtools</id>
<groupId>jmx</groupId>
<version>1.2.1</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
</dependency>
<dependency>
<id>commons-collections</id>
<version>2.1</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
</dependency>
<dependency>
<id>commons-beanutils</id>
<version>1.6.1</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
</dependency>
</dependencies>
<build>
<sourceDirectory>${basedir}/src/java</sourceDirectory>
<resources>
<resource>
<directory>${basedir}/src/resources</directory>
</resource>
</resources>
</build>
</project>
1.1 jakarta-jetspeed-2/cornerstone-jmx-demo/log4j.properties
Index: log4j.properties
===================================================================
# Set root category priority to DEBUG and its only appender to A1.
log4j.rootCategory=INFO, A1
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d %-4r [%t] %-5p %c %x - %m%n
1.1 jakarta-jetspeed-2/cornerstone-jmx-demo/maven.log
Index: maven.log
===================================================================
2004-02-09 01:16:50,958 INFO com.werken.werkz.jelly.PostGoalTag - Running post goal: clean:clean
2004-02-09 01:16:50,968 INFO org.apache.maven.cli.App - Total time: 4 seconds
2004-02-09 01:16:50,968 INFO org.apache.maven.cli.App - Finished at: Mon Feb 09 01:16:50 PST 2004
2004-02-09 01:16:50,968 INFO org.apache.maven.cli.App -
1.1 jakarta-jetspeed-2/cornerstone-jmx-demo/project.properties
Index: project.properties
===================================================================
# Remote repos
maven.repo.remote = http://www.bluesunrise.com/maven/, http://www.ibiblio.org/maven/
# Display the date on the Maven web site
maven.xdoc.date = left
# Display the maven version the web site is documenting
maven.xdoc.version = ${pom.currentVersion}
maven.checkstyle.properties=${basedir}/../checkstyle.properties
maven.compile.deprecation=on
# Include private method and field in Javadoc.
maven.javadoc.private=true
# Removed the rule ${plugin.resources}/rulesets/naming.xml from the default
# maven.pmd.rulesetfiles. This is because the LongVariableName rule is to
# restrictive. We need to increase the limit from 12 to 20
maven.pmd.rulesetfiles=${plugin.resources}/rulesets/strings.xml,${plugin.resources}/rulesets/junit.xml,${plugin.resources}/rulesets/braces.xml,${plugin.resources}/rulesets/basic.xml,${plugin.resources}/rulesets/unusedcode.xml,${plugin.resources}/rulesets/design.xml,${plugin.resources}/rulesets/imports.xml,${plugin.resources}/rulesets/codesize.xml
jar.name=${maven.final.name}.jar
1.1 jakarta-jetspeed-2/cornerstone-jmx-demo/maven.xml
Index: maven.xml
===================================================================
<project default="run-all-demos"
xmlns:j="jelly:core"
xmlns:define="jelly:define"
xmlns:reactor="reactor">
<goal name="run-all-demos">
<attainGoal name="jar:jar" />
<attainGoal name="demo-1" />
</goal>
<goal name="demo-1">
<java classname="org.apache.cornerstone.framework.demo.jmx.Demo1" fork="yes">
<sysproperty key="log4j.configuration" value="log4j.properties"/>
<classpath>
<path refid="maven.dependency.classpath"/>
<pathelement path="${maven.build.dir}/${jar.name}"/>
</classpath>
</java>
</goal>
</project>
1.1 jakarta-jetspeed-2/cornerstone-jmx-demo/src/java/org/apache/cornerstone/framework/demo/jmx/Demo1.java
Index: Demo1.java
===================================================================
package org.apache.cornerstone.framework.demo.jmx;
import java.io.IOException;
import org.apache.cornerstone.framework.api.jmx.IJMXManager;
import org.apache.cornerstone.framework.init.Cornerstone;
import org.apache.log4j.PropertyConfigurator;
public class Demo1
{
public static final String REVISION = "$Revision: 1.1 $";
public static void main(String[] args) throws Exception
{
// init log4j
String log4jConfigFilePath = System.getProperty("log4j.configuration", "log4j.properties");
PropertyConfigurator.configure(log4jConfigFilePath);
// create a service instance which can be any Object
LogService logService = new LogService(LogService.LOG_LEVEL_DEBUG);
// create an optional service metric object if you don't expose everything of the service via JMX
LogServiceMetric logServiceMetric = new LogServiceMetric(logService);
// get hold of JMX manager
IJMXManager jmxManager = (IJMXManager) Cornerstone.getManager(IJMXManager.class);
// let logServiceMetric be managed
jmxManager.manage(logServiceMetric);
// you can let the service be managed directly too
jmxManager.manage(logService);
System.out.println("\nBrowse to http://localhost:9092");
System.out.println("\nUse Ctrl-C to terminate or it terminates automatically in 1 hour");
Thread.currentThread().sleep(3600000); // 1 hour
}
}
1.1 jakarta-jetspeed-2/cornerstone-jmx-demo/src/java/org/apache/cornerstone/framework/demo/jmx/LogService.java
Index: LogService.java
===================================================================
package org.apache.cornerstone.framework.demo.jmx;
public class LogService
{
public static final String REVISION = "$Revision: 1.1 $";
public static final int LOG_LEVEL_DEBUG = 1000;
public static final int LOG_LEVEL_ERROR = 2000;
public LogService(int thresholdLevel)
{
_thresholdLevel = thresholdLevel;
}
public int getThresholdLevel()
{
return _thresholdLevel;
}
public void setThresholdLevel(int level)
{
_thresholdLevel = level;
}
public int getLogCount()
{
return _logCount;
}
public void debug(String message)
{
log(LOG_LEVEL_DEBUG, message);
}
public void error(String message)
{
log(LOG_LEVEL_ERROR, message);
}
public void log(int level, String message)
{
if (level >= _thresholdLevel)
{
System.out.println(message);
_logCount++;
}
}
protected int _thresholdLevel = LOG_LEVEL_DEBUG;
protected int _logCount = 0;
}
1.1 jakarta-jetspeed-2/cornerstone-jmx-demo/src/java/org/apache/cornerstone/framework/demo/jmx/LogServiceMetric.java
Index: LogServiceMetric.java
===================================================================
package org.apache.cornerstone.framework.demo.jmx;
public class LogServiceMetric
{
public static final String REVISION = "$Revision: 1.1 $";
public LogServiceMetric(LogService logService)
{
_logService = logService;
}
public int getThresholdLevel()
{
return _logService.getThresholdLevel();
}
public void setThresholdLevel(int level)
{
_logService.setThresholdLevel(level);
}
public int getLogCount()
{
return _logService.getLogCount();
}
// get jmx name (optional to override system default behavior)
public String getName()
{
return "logServiceMetric";
}
protected LogService _logService;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org