schubertzhang / jsketch

A Java project skeleton for newbie developers of Java project. Includes the basic Buildfile(for ant) and Shell-scripts.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A Java project skeleton for newbie developers of Java project. Includes the basic Buildfile(for ant) and Shell-scripts.

------------------------------------------------

1. A simple structure for a new java project.

------------------------------------------------

2. Building (build.xml)
   A simple buildfile for Apache Ant.
   
   # clean all build generated files.
   ant cleanall
   
   # compile java
   ant compile

   # package jar (default!)
   ant package

   # javadoc
   ant javadoc
   
   # make distribution packages
   ant dist

   ...

   User customization:
   Just modify build.properties file to define your app.version and app.name.

------------------------------------------------

3. Shell-scripts (bin/*)
   In the bin directory, there are some shell scripts to make up the script-stsrem.
   This script-system make up the run-environment.

   bigdata-config.sh
   This shell script to set the configuration of the project.
   
   bigdata-daemon.sh
   This shell script to launch a local daenom.

   bigdata-daemon.sh
   This shell script to lanuch a daemon in a cluster, the cluster nodes are defined in conf/nodes.

   nodes.sh
   This shell script to execute command in a cluster, via SSH.

   * bigdata
   This shell script to execute any user defined Java class.

   * bigdata-env.sh
   This shell script to let user to set/customize environment setting.
   Usually, the user only need to modify this file for his/her specific platform.

   ~~~~~~~~~~~~~~~~~~~~

   ** helloworld-service-opts.sh
   This shell script is a template for setting user-customized options for a daemon.
   User can define his/her own such files for his/her daemons.
   
   ** helloworld-service
   This shell script is a template for writing a user daemon's start/stop script, include start/stop in a cluster.
   Use can write his/her own such files for his/her daemons.

------------------------------------------------

4. Configuration
   
   log4j.properties
   Log4j configuration file, it can use the varianbles defined in the script-system.

   commons-logging.properties
   Apache common-logging configuration files.

   nodes
   Define the node ipaddr/hostname of the cluster, one by line.

   jmxetric.xml
   jmxetric configuration file. jsketch integrated jmxetric to make it easy to integrate JMX and Ganglia.


------------------------------------------------

5. Examples to use jsketch
   
   (1) Download jsketch and build it
       $ ant

   (2) Run the HelloWorld class
       bin/bigdata com.bigdata.jsketch.HelloWorld Just do it
       This command will display following:
          _____________        _________      _____        
          ___  __ )__(_)______ ______  /_____ __  /______ _
          __  __  |_  /__  __ `/  __  /_  __ `/  __/  __ `/
          _  /_/ /_  / _  /_/ // /_/ / / /_/ // /_ / /_/ / 
          /_____/ /_/  _\__, / \__,_/  \__,_/ \__/ \__,_/
                       /____/   HelloWorld2
        Hello World!
        args[0] = Just
        args[1] = do
        args[2] = it.
  
    (3) start|stop the HelloWorld daemon local or clustering.
        bin/helloworld-service start | stop | start-cluster | stop-cluster
        Check logs directory to see the log files of the HelloWorld daemon.


------------------------------------------------

6. Done
   It is a very simple skeleton to develop, build and run(local or clustering) java project.
   Enjoy it.

Schubert Zhang 2010.10.1

About

A Java project skeleton for newbie developers of Java project. Includes the basic Buildfile(for ant) and Shell-scripts.


Languages

Language:Shell 84.6%Language:Java 15.4%