Drop Down

Monday, January 6, 2020

Join Example

package multithreading;

class Test1 extends Thread
{
static Thread ChildTh;
@Override
  public void run()
  {
/* try
{
ChildTh.join(); // waiting for the main thread to complete
}
catch (InterruptedException e)
{
e.printStackTrace();
} */
    for(int i = 65;i<75;i++)
    {
    System.out.print((char)i+" ");
    }
  }
}

public class Join_Exp
{

public static void main(String[] args)
{
Test1.ChildTh= Thread.currentThread();
Test1 t = new Test1();
t.start();
try
{
t.join();  // waiting for child thread to complete
}
catch (InterruptedException e)
{
e.printStackTrace();
}
for(int i = 65;i<75;i++)
  {
  System.out.print(i+" ");
  }

}

}

Thread Group Example

package multithreading;

public class Adv_Thread1 {

public static void main(String[] args)
{
  ThreadGroup g1 = new ThreadGroup("First Group");
  System.out.println(g1.getParent().getName());
 
  ThreadGroup g2 = new ThreadGroup(g1,"Second group ");
  System.out.println(g2.getParent().getName());
 
  ThreadGroup g3 = new ThreadGroup(g1,"Third Group");
  System.out.println(g3.getParent().getName());
 
  Thread t1 = new Thread(g1, "thread_01");
  Thread t2 = new Thread(g1, "thread_02");
  Thread t3 = new Thread(g1, "thread_03");  
  Thread t4 = new Thread(g2, "thread_04");
 
  g1.setMaxPriority(3);
  Thread t5 = new Thread(g1, "thread_05");
  Thread t6 = new Thread(g1, "thread_06");
  System.out.println(t1.getPriority());
  System.out.println(t2.getPriority());
  System.out.println(t3.getPriority());
  System.out.println(t4.getPriority());
 
  System.out.println(t5.getPriority());
  System.out.println(t6.getPriorit:y());
 

}

}
--------------------------------------------------------------------------
output:

main
First Group
First Group
5
5
5
5
3
3

Check System threads

package multithreading;

public class System_Threads
{
public static void main(String[] args)
{
  System.out.println(Thread.currentThread().getThreadGroup().getParent().getName());
  System.out.println("*********************************************");
  ThreadGroup gr = Thread.currentThread().getThreadGroup().getParent();
  Thread [] arr = new Thread[gr.activeCount()];
  gr.enumerate(arr);
  for(Thread t1 : arr)
  {
  System.out.println(t1.getName()+"~~"+t1.isDaemon());
  }
}

}

_________________________________________________________
output:

system
*********************************************
Reference Handler~~true
Finalizer~~true
Signal Dispatcher~~true
Attach Listener~~true
main~~false

Sunday, December 8, 2019

EmployeeServiceConsumer

Consumer Steps:
--------------

1.Get the wsdl file from the Provider.
2.Test the service through SOAP UI.
3.Generate the artifacts.
C:>wsimport -d src -keep -verbose wsdl location
output: artifacts.
  1.Service class.
  2.Interface name
  3.request and response classes
  4.endpoint url.

4.Write webservice client code.

  1.create service class object
  2.call the port and it returns interface
  3.prepare the webservice request.
  4.call the getOrder API.
  5.call the getPrice API.



Step to develop client in eclipse.
1.Create java project.

2. create lib folder. copy all the jars(jaxws) in to lib folder.

3.generate artifacts using wsdl.
Goto Command prompt execute fillowing commnad

  E:\WorkSpace\webservice\JaxWsConsumer>wsimport -d src -keep -verbose http://localhost:2020/JaxWsOrderServiceProvider/online?wsdl

4. Write client application  code in main method based class.
   Steps to write logic in client class.

    1.create service class object
2.call the port and it returns interface
3.prepare the webservice request.
4.call the getOrder API.
5.call the getPrice API.




Sample example for SAOP using Apache CXF and Spring Boot.

cxf spring boot dependency
    cxf-spring-boot-starter-jars
application.properties
  cxf.jars.component-scan=true
  server.context-path=/helloapp

Steps:
1.Create maven project
2.Create End point class(service)
3.Create configuation class.
4.Test the application

======================================================================
================EmployeeServiceConsumer=======================
======================================================================

*) Parse wsdl to generate stub (artifacts) using wsimport



package test.Client;

import java.util.List;

import com.rameshit.employee.Employee;
import com.rameshit.employee.EmployeeService;
import com.rameshit.employee.EmployeeServiceImplService;

public class EmpServiceConsumer_Test
{

public static void main(String[] args)
{
//1.create service class object
EmployeeServiceImplService employeeServiceImplService = new EmployeeServiceImplService();

//2.call the port and it returns interface
EmployeeService employeeService =  employeeServiceImplService.getEmployeeServiceImplPort();

//3.prepare the webservice request. (Bean ka object bana ke access karo...)
Employee emp = new Employee();
/*emp.setCompany("Apple");
emp.setEmpid(0071);
emp.setFname("Amit Kumar");
emp.setLname("Manjhi");
emp.setLocation("Boston");
emp.setSalary(999999); */
//4.call the getOrder API.
//5.call the getPrice API.

emp = employeeService.getEmployeesInfo(505);
System.out.println("Company Name: "+emp.getCompany());
System.out.println("Employe Id: "+emp.getEmpid());
System.out.println("Employe First Name: "+emp.getFname());
System.out.println("Employe Last Name: "+emp.getLname());
System.out.println("Employe Location: "+emp.getLocation());
System.out.println("Employe Salary: "+emp.getSalary());

//---------
System.out.println("******************************************************");
List<Employee> employeeList = employeeService.getAllEmployee();
for(Employee emp_n : employeeList)
{
System.out.println("Company Name: "+emp_n.getCompany());
System.out.println("Employe Id: "+emp_n.getEmpid());
System.out.println("Employe First Name: "+emp_n.getFname());
System.out.println("Employe Last Name: "+emp_n.getLname());
System.out.println("Employe Location: "+emp_n.getLocation());
System.out.println("Employe Salary: "+emp_n.getSalary());
System.out.println();
System.out.println("**********"+emp_n.getFname()+"***************");
}

}

}



output:
Company Name: IBM
Employe Id: 555
Employe First Name: Amit
Employe Last Name: Kumar
Employe Location: Noida
Employe Salary: 98789
******************************************************
Company Name: Amazon
Employe Id: 4414
Employe First Name: Amit
Employe Last Name: Manjhi
Employe Location: Sillicon Vally
Employe Salary: 9878999

*************************Amit*****************************
Company Name: Amazon
Employe Id: 4414
Employe First Name: Amit
Employe Last Name: Manjhi
Employe Location: Sillicon Vally
Employe Salary: 9878999

*************************Amit*****************************
Company Name: Amazon
Employe Id: 4414
Employe First Name: Amit
Employe Last Name: Manjhi
Employe Location: Sillicon Vally
Employe Salary: 9878999

*************************Amit*****************************
Company Name: Amazon
Employe Id: 4414
Employe First Name: Amit
Employe Last Name: Manjhi
Employe Location: Sillicon Vally
Employe Salary: 9878999

*************************Amit*****************************
Company Name: Amazon
Employe Id: 4414
Employe First Name: Amit
Employe Last Name: Manjhi
Employe Location: Sillicon Vally
Employe Salary: 9878999

*************************Amit*****************************



=====================wsdl===============


















EmployeServiceProvider

package com.rameshit.employee;

import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public interface EmployeeService
{
@WebMethod
Employee getEmployeesInfo(Integer eid);
//List<Employee> getAllEmployee();
}
=================================

package com.rameshit.employee;

public class Employee 
{
private int empid;
private String fname;
private String lname;
private long salary;
private String company;
private String location;
public int getEmpid() {
return empid;
}
public void setEmpid(int empid) {
this.empid = empid;
}
public String getFname() {
return fname;
}
public void setFname(String fname) {
this.fname = fname;
}
public String getLname() {
return lname;
}
public void setLname(String lname) {
this.lname = lname;
}
public long getSalary() {
return salary;
}
public void setSalary(long salary) {
this.salary = salary;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
}
=====================================
package com.rameshit.employee;

import javax.jws.WebService;

@WebService(endpointInterface ="com.rameshit.employee.EmployeeService")
public class EmployeeServiceImpl implements EmployeeService 
{

@Override
public Employee getEmployeesInfo(Integer eid) 
{
// DB level code ie. DAO, get values from db.
Employee emp = new Employee();
if(eid!= null && eid > 0)
{
emp.setCompany("IBM");
emp.setEmpid(555);
emp.setFname("Amit");
emp.setLname("Kumar");
emp.setLocation("Noida");
emp.setSalary((long) 98789.89);
}
return emp;
}

}
=======================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
 The contents of this file are subject to the terms
 of the Common Development and Distribution License
 (the "License").  You may not use this file except
 in compliance with the License.
 You can obtain a copy of the license at
 https://jwsdp.dev.java.net/CDDLv1.0.html
 See the License for the specific language governing
 permissions and limitations under the License.
 When distributing Covered Code, include this CDDL
 HEADER in each file and include the License file at
 https://jwsdp.dev.java.net/CDDLv1.0.html  If applicable,
 add the following below this CDDL HEADER, with the
 fields enclosed by brackets "[]" replaced with your
 own identifying information: Portions Copyright [yyyy]
 [name of copyright owner]
-->

<endpoints xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime' version='2.0'>
    <endpoint
        name='EmployeeService'
        implementation='com.rameshit.employee.EmployeeServiceImpl'
        url-pattern='/employee'/>
</endpoints>
=================================================

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
  <display-name>EmployeeServiceProvider</display-name>
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>JAXWSServlet</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JAXWSServlet</servlet-name>
<url-pattern>/employee</url-pattern>
</servlet-mapping>
</web-app>
===============================================
===================================================================
****************TO GENERATE ARTIFACTS USING JAXWS**********************
--------------------------------------------------------------------------------------------------------------------
D:\JavaWorkSpace\webservices2\EmployeeServiceProvider>wsgen -d src -cp build/classes -keep -verbose com.rameshit.employee.EmployeeServiceImpl



=========================
* add jars and run it.   (http://localhost:8080/EmployeeServiceProvider/employee)
* output



=====
JARS
=====


===========PUBLISH WEBSERVICE===========


package test_webPublisher;

import javax.xml.ws.Endpoint;

import com.rameshit.employee.EmployeeServiceImpl;

public class SoapPublisher {

public static void main(String[] args)
{
  Endpoint.publish("http://localhost:8888/EmployeeServiceProvider/employee", new EmployeeServiceImpl());
  //System.out.println("SuccessFully Published. ");
  //System.out.println("RUNNING ON :   http://localhost:8888/EmployeeServiceProvider/employee");
  //System.out.println("Use: http://localhost:8888/EmployeeServiceProvider/employee?wsdl");
}

}











pics_Soap

Tuesday, October 8, 2019

Rough Notes for Maven

java 8 compiler
Tomcat Plugin
Servlet API
Driver (jdbc)
=========================================================

javax servlet dependency maven
---------------------------------------
https://mvnrepository.com/artifact/javax.servlet/servlet-api/3.0-alpha-1


maven tomcat plugin
--------------------------
http://tomcat.apache.org/maven-plugin-2.2/




java 8 plugin maven
------------------------
https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html


mysql8 dependency maven
-----------------------------------
https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.11

Java 8 Notes Pics