Showing posts with label Terminal. Show all posts
Showing posts with label Terminal. Show all posts

Friday, September 28, 2012

Maven doesn't run all tests but print build success message and quit

When i am writing an end-to-end test to Apache Axis2 JSON support(End-to-end means it up a Axis2 server and deploy a service which is created on a fly, on it and test with that service and stop Axis2 server end of tests). Here i faced a problem that when i run the test using maven(mvn test) it runs isolation test(test particular functions of a class) upto my end-to-end test. it print build success message in terminal console and quit.

OOPs what happened to other isolation tests :( . then i debug the code and see are there any test failure in my end-to-end test but, believe me end-to-end test pass all tests and successfully execute @After method which is tearDown() method too. After that it return build success message and quit. How i can find a error when it says build success :) . Finally i found the solution for that. solution is add <forkMode>pertest</forkMode> to the suirefire maven test plugin. Then every things ok , it runs all test including above end-to-end.

Saturday, August 25, 2012

Install Netbeans 7.2 in Ubuntu 11.10

When I try to install Netbeans IDE by downloading netbeas*.sh file from the Netbeans website and run it in terminal, it say installation is not completed please find the log file and try again. I tried with serveral netbeans.sh files , even several versions but result is the same. After that i tried by giving path to javahome using "sh netbeans*.sh  --javahome /path/to/JDK/home ". But still i get the same error message.

Somehow I could able to solve this issue using pack which provided by Oracle. In that pack they have bundle JDK and Netbeans 7.2 together. You can find it in JDK 7u6 with Netbeas 7.2 post published by Oracle. You need to do is accept the license agreement and download it. Then you can run it using sh command as usual.

Thanks,
Shameera.

Friday, June 15, 2012

How to run Apache Zookeeper server

It is easy to up and run apache zookeeper server. First you need to download latest stable version of zookeeper distribution . Lets say you have downloaded zookeeper-3.3.4 to home directory , Then open Terminal by pressing Ctrl+Alt+t all together.Go to zookeeper bin folder(run  "cd ~/zookeeper-3.3.4/bin" command in terminal)


Then run "zkServer.sh start" command then you will see following three lines
 JMX enabled by default
Using config: /home/zookeeper-3.3.4/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED


If you can see above output in the terminal window. It means you have started Zookeeper server successfully in your local machine.

To stop the server run "zkServer.sh stop" command.

If you need You can run zookeeper default client come up with the distribution, for that, run "zkCli.sh" command. Then you will see

zookeeper-3.3.4/bin/../conf:
...............
2012-06-14 23:47:35,640 - INFO  [main:Environment@97] - Client environment:java.io.tmpdir=/tmp
2012-06-14 23:47:35,641 - INFO  [main:Environment@97] - Client environment:java.compiler=<NA>
........

connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@7369ca65
Welcome to ZooKeeper!
2012-06-14 23:47:35,697 - INFO  [main-SendThread():ClientCnxn$SendThread@1061] - Opening socket connection to server localhost/127.0.0.1:2181
JLine support is enabled
2012-06-14 23:47:35,713 - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@950] - Socket connection established to localhost/127.0.0.1:2181, initiating session
[zk: localhost:2181(CONNECTING) 0] 2012-06-14 23:47:35,915 - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@739] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x137ec2306ef0000, negotiated timeout = 30000


WATCHER::

WatchedEvent state:SyncConnected type:None path:null 


[zk: localhost:2181(CONNECTED) 0] 

Then type "ls" or what ever you will see list of available commands


[zk: localhost:2181(CONNECTED) 0] ls 
ZooKeeper -server host:port cmd args
    connect host:port
    get path [watch]
    ls path [watch]
    set path data [version]
    delquota [-n|-b] path
    quit
    printwatches on|off
    create [-s] [-e] path data acl
    stat path [watch]
    close
    ls2 path [watch]
    history
    listquota path
    setAcl path acl
    getAcl path
    sync path
    redo cmdno
    addauth scheme auth
    delete path [version]
    setquota -n|-b val path

 [zk: localhost:2181(CONNECTED) 1]

eg: If you like to list down zookeeper root directory, Type "ls / "


Note: If you need you can change zookeeper configuration file(zoo.cfg). You can fine it zookeeper-3.3.4/conf/ directory. Sometimes you need to change its default values. As an example, If you need to connect more than 10 zookeeper client to your zookeeper server Then you should probably add maxClientCnxns=# (#-any number) otherwise defalut value is 10. if you add maxClientCnxns=0 it means there is no any client limit. please refer advanced configuration in Zookeeper administrator's guide

Sunday, September 11, 2011

Apache Axis2 Server: A Developer Guide To New Contributors

Env : OS - Ubuntu 10.04(Lucid Lynx)
        
Apache Axis2 is an open source web service / soap / wsdl engine. There are two implementations Axis2/java and Axis2/C. In here I'm talking about Axis2/java. There are three ways we can run Axis2 as,
  1. Axis2 binary distribution 
  2. Axis2 source distribution 
  3. Axis2 war(Web archive) distribution
But If you need to contribute to Axis2 development, you need to checkout the source code of Axis2 trunk and build it.Here I will talk on how to build Axis2 trunk, how to up the Axis2 server and deploy a simple service in Axis2. Then I am going to talk on how we can run Axis2 Server with our changes what we have done to source code.

Checkout Axis2 trunk


Axis2 project uses subversion as its version control system therefore we need to have subversion installed in our machine (If not you can install latest subversion by typing "sudo apt-get install subversion" in terminal).

Now you can checkout Axis2 trunk to your machine by typing "svn co <url_to_trunk>  <directory_name>".
eg: svn co http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/ axis2_trunk 
This will checkout Axis2 trunk to the axis2_trunk directory in our local machine.

Build Axis2 trunk

Axis2 uses Maven2 as its building tool, which means we need install maven2 in our machine to build axis2 source code. You can install maven2 by typing "sudo apt-get install maven2" .

Lets assume  you have checked out trunk to the directory called axis2_trunk, go to that directory and type "mvn install" it will build Axis2 by default. Then go to distribution module typing "cd modules/distribution/"  and again type "mvn install". It will build the distribution module as in default profile, it doesn't build this module. That's all and now you have build latest Axis2 trunk in your machine.


Up the Axis2 server and deploy a new service

Lets see how to up Axis2 server. After building process is finished it will create a target directory in distribution module. Now type cd target/axis2-1.7.0-SNAPSHOT/bin/  to navigate to bin directory. In bin directory you can see several .sh files, to run Axis2 server run "sh axis2server.sh" command in terminal.




















 It will up axis2server in default port 8080. Now go to you browser and type http://localhost:8080/axis2/services/ you can see axis2 services list and available operations.























You have built Axis2 trunk and up the Axis2 server in localhost. Now you can deploy your services in Axis2. It is a simple thing in Axis2 as it supports hot deployment which means you can deploy a service while Axis2 is up and running as it doesn't need to down the server and up it again after adding a new service. You just need to add <service_name>.aar file to repository/serivces/ directory in  axis2-1.7.0-SNAPSHOT .

However as developers we may need to deploy the same service again and again. Then you need to create new .aar file for each attempt and this is cumbersome. No need to worry , you can deploy a service by putting a directory which has content same as .aar file.

Run Axis2 with changes we have done to the source code

If you are a new contributor to Axis2 project then you need to run Axis2 server which new changes  you have done to the source code of Axis2. There are two ways you can accomplish this.
  • Go to the axis2_trunk directory and run "mvn clean install" then go to the distribution module and run "mvn clean install" commands in terminal. Now you have built Axis2 with modifications what you have done to the source. Go to the bin directory and run "sh axis2server.sh" to up the modified Axis2 server.
  •  If you have done changes to a few modules then you don't need to build all modules. Hence you just need to build those modules as we built distribution module in previous method. Lets say you have done modifications to kernel module, then you can build kernel module running "mvn clean install" inside the kernel module, copy axis2-kernel-<version>.SNAPSHOT.jar which was created in target directory of kernel module to the target/axis2-1.7.0-SNAPSHOT/lib/ directory in distribution module. Thats all and now you can up the Axis2 server by running sh axis2server.sh command inside the bin directory of distribution module.

Sample Text

Website counter

Categories