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