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

How to send http post request using apache commons httpclient




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, August 10, 2012

How to Convert JSON object to String in JavaScript

If you have JSON object and you need to convert it to string you just need to use stringify method and pass your JSON object to it as a method parameter. see the example below.
 
var jsonString = JSON.stringify(passJSONobjectHere);


Friday, July 13, 2012

How to read XML Schema File as Apache commons XmlSchema Object


First you need to get the file as InputStream and then get XmlSchemaCollection of that InputStream. Using this XmlSchemaCollection object you can read XmlSchema. You can find Sample code below, Which get sample.xml XSD file to XmlSchema Object.



Now you can use this XmlSchema object to iterate the XSD file. If you need to know how to do it then have a look my previous post "How to process Apache commons XmlSchema"

How to process Apache commons XmlSchema.


Hi all,

Today I'am going to show you how to iterate XmlSchema to print all complex and simple Types elements and identify whether it is an array or not and also the type of the element.



Thursday, July 5, 2012

Add eclipse jdt core dependency and third party repository

Artifact details
Group: org.eclipse.jdt
Artifact id: core
Version: 3.4.2.v_883_R34x
Version type: Unknown
Repository: JBoss Thirdparty Releases
Repository url: https://repository.jboss.org/nexus/content/repositories/thirdparty-releases


Maven dependency



Maven repository



add this maven repository to your pom file as

<project>
.........
  <repositories>
        <repository>
         ......
      </repository>
    </repositories>
</project>

Friday, June 29, 2012

How to deploy a .aar service in Axis2 server.

I am going to explain this using a simple service which has only a echoString method, which is in-out operation and a ping method, which is in-only operation.

Write your sample service.

write services.xml file for your sample service



There is a folder structure for .aar file, In this case it should be


services.xml file should be inside the META-INF directory. Otherwise you will get an error saying services.xml file is not detecte. Ok now your are ready to create Sample.aar file.

Step 1. Compile above project and Select META-INF and org(which contain SimpleService.class) directories and create sample.zip file using that directories. If you created this in correct way, when you unzip this sample.zip file you will get above both directories not a sample directory.

Step 2. Now rename this sample.zip file to sample.aar (just change the extension .zip to .aar)

Step 3. Now you can deploy this service in axis2. For that you should copy this sample.aar file to AXIS2_HOME/repository/services/

Step 4. Start Axis2 server. (How to start Axis2 server).

Step 5. Open you web browser and go to http://localhost:8080/axis2/services/ you will see your sample service withing this deployed services.

Step 6. You can use soapUI to check the above service(How to use SoapUI). (Hint- click on the SampleService in service list you will get wsdl of this service, save it )

Java Best Practice - Strings Concatenation

1. How to concatenate two Strings inside a loop

Think you need to concatenate strings to an one string, Then probably you chose one of loop in java. But there is a good practice in doing this concatenation which help to increase performance and memory utilization.


Bad  practice

code in line 4 is like

In this syntax it creates a new String object using both previous str object and reStr objects and now str variable is pointed to newly created object. Remember String object is an immutable object hence we can't modify it. Instead of this, we can use StringBuffer to concatenate Strings without creating new objects. see below good practice code segment.

Good practice

here it uses StringBuffer, In initialization it provides first string and inside for loop it append reStr String to that buffer. Therefore this avoid creating immutable string object in each loop. This will help to decrease memory utilization, and increase the performance.

Wednesday, June 27, 2012

How to use SoapUI client

You can download SoapUI from here  ,
Unzip the soapui-4.*.*-*-bin.zip to your preferable place , lets assume you unzip to your home directory ,
Then go to bin directory - run this command in terminal "cd soapui-4.*.*/bin/".
To run the SoapUI client use "sh soapui.sh " command.



Ok now you ready to create a new soapui project using your wsdl :)

Go to File--> New soapui Project



Then you can see a pop up window like below


Give a name to your project , and select you wsdl file
click ok button to create a new project.

select a operation in request window and fill out the request message. Now click on green arrow button which is at the top left conner of Request window to send your request to the service. Here I am sending echoString request giving "sample" as my string.


 If you have deploy your service at particular endpoint then you will receive response and you can see it right side pane of Request window.




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

Saturday, January 28, 2012

Configure pom.xml to use JAVA_HOME to compile a mavan project

If you have a new maven project then you will definitely need to use another jdk version instead of maven default jdk version which is jdk_1.3 to build your maven project. Here I point you out how to use your JAVA_HOME to build your maven project. It is simple what you need is just add maven-compiler-plugin to pom.xml file of your project as i have mentioned below.

I have exported jdk_1.6.0_30 as my JAVA_HOME variable in .bashrc file and have set PATH bin.

i.e : export JAVA_HOME=/path/to/jdk
export PATH=$JAVA_HOME/bin:$PATH 

Here is how i uses my jdk_1.6 to build my maven project.

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <executable>${java.home}/bin</executable>
                </configuration>
            </plugin>
        </plugins>
    </build>

Friday, January 20, 2012

How to Install Maven2/Maven3 in ubuntu

Maven is a java building tool which can uses for compile,run test, install, etc.. Today I'm going to tell you how to install maven2/maven3 in ubuntu by manually and by apt-get package manager.

Install Maven2 manually

1. First you need to download maven 2.2.1 binary file.
2.Extract downloaded binary file to a directory where you like to keep maven . Let's say you created a directory call "maven-2.2.1" in your home directory.
3. Now you need to set maven classpath in ".bashrc" file.
         i. Open your terminal and type "cd" to go to home directory where .bashrc has located
         ii. Now Type "gedit .bashrc" in your terminal. It will open .bashrc file via gedit.
         iii. Add this line to the end of .bashrc file "export PATH=/home/your_home_directory_name/maven-2.2.1/bin:$PATH" (note: replace your home directory name with "your_home_directory_name", i have added "export PATH=/home/shameera/maven-2.2.1/bin:$PATH"  as my home directory name is "shameera") 

 4. Save and close .bashrc file.

5. Get a new terminal and type "mvn --version" then you will get below line and some other information like java versin and java home. If you need to install oracal(sun) java 1.7 on your machine see my previous post Install Oracle(sun) jdk 1.7 in ubuntu.

          Apache Maven 2.2.1 (r801777; 2009-08-07 00:46:01+0530)



6. If you get same out put then you have installed maven2 on your machine. NOTE: if you used previous terminal for  this before type "mvn --version" type "source .bashrc".
 
 Install Maven3 using manual

This is same as Maven2 installation. Download apache-maven-3.0.4 instead of maven2 


Install Maven2 using apt-get 

Open a new terminal and type "sudo apt-get install maven2". Then it will ask your password type your password. After that it will ask to install some necessary packages including openjdk if you like to install openjdk on your machine type "y" if not type "n" and use Install Maven2 manuall procedure to install maven2/maven3 on your machine. 

Sample Text

Website counter

Categories