Wednesday, August 2, 2017

RMI basic arithmetic

RMI Program for arithmetic operations:
_________________________________________________________________________________

Interaface

package RMIDemo;

import java.rmi.Remote;
import java.rmi.RemoteException;

/**
 *
 * @author yogesh
 */
public interface one extends Remote{
    public int add(int num1,int num2)throws RemoteException;
    public int sub(int num1,int num2)throws RemoteException;
    public int mul(int num1,int num2)throws RemoteException;
    public int div(int num1,int num2)throws RemoteException;

}
_________________________________________________________________________________

Implementation Class

package RMIDemo;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

/**
 *
 * @author yogesh
 */
public class two extends UnicastRemoteObject implements one{
    public two()throws RemoteException{}

    @Override
    public int add(int num1, int num2) throws RemoteException {
        System.out.println("Addition Performed");
        return ((num1+num2));
    }

    @Override
    public int sub(int num1, int num2) throws RemoteException {
        System.out.println("Subtraction Performed");
        return ((num1-num2));
    }

    @Override
    public int mul(int num1, int num2) throws RemoteException {
        System.out.println("Multiplication Performed");
        return ((num1*num2));
    }

    @Override
    public int div(int num1, int num2) throws RemoteException {
        System.out.println("Division Performed");
        return ((num1/num2));
    }
    
}
_________________________________________________________________________________

Server Class

package RMIDemo;

import java.io.IOException;
import java.net.MalformedURLException;
import java.rmi.AlreadyBoundException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.Registry;

/**
 *
 * @author yogesh
 */
public class rmiserver {
    public static void main(String[] args) throws RemoteException, AlreadyBoundException, MalformedURLException, IOException {
        Registry r = java.rmi.registry.LocateRegistry.createRegistry(1099);//1099 is the port number
        Runtime.getRuntime().exec("cmd /c C:\\Program Files\\Java\\jdk1.8.0_144\\bin\\rmic C:\\Users\\Yogesh\\Documents\\NetBeansProjects\\DSLabs\\build\\classes\\RMIDemo.two");

        two twox=new two();
        Naming.bind("add", twox);
        Naming.bind("sub", twox);
        Naming.bind("mul", twox);
        Naming.bind("div", twox);
        System.out.println("ALL OBJECTS CREATED");
        System.out.print("\nListing");
        String s[]=Naming.list("two");
        for(String str:s){
            System.out.println(""+str);
        }
    }
}

_________________________________________________________________________________

Client Class

package RMIDemo;

import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.util.Scanner;

/**
 *
 * @author yogesh
 */
public class rmiclient {
    public static void main(String[] args) throws NotBoundException, MalformedURLException, RemoteException {
        Scanner sc=new Scanner(System.in);
        System.out.print("\nEnter two Numbers:");
        int num1=sc.nextInt();
        int num2=sc.nextInt();
        one onex=(one)Naming.lookup("rmi://localhost/add");
        one oney=(one)Naming.lookup("rmi://localhost/add");
        one onez=(one)Naming.lookup("rmi://localhost/add");
        one onew=(one)Naming.lookup("rmi://localhost/add");
        System.out.println("Addition="+onex.add(num1,num2));
        System.out.println("Subtraction="+oney.sub(num1,num2));
        System.out.println("Multiplication="+onez.mul(num1,num2));
        System.out.println("Division="+onew.div(num1,num2));
        
    }
}
_________________________________________________________________________________

EXECUTING DEMO IN NETBEANS


Sunday, May 28, 2017

Installing .rpm on Ubuntu

Step 1: Installing alien 

$sudo  apt-get install alien dpkg-dev  debhelper build-essential

Step 2:Converting .rpm to .deb

$sudo alien package_name.rpm

Step 3: Installing converted .deb

$sudo dpkg -i  package_name.deb

Installing VLC on Fedora 22 or later

    $> su -
    #> dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
    #> dnf install vlc
    #> dnf install python-vlc npapi-vlc 

Installing Oracle 11g Express Edition on Ubuntu

Step 1: Download Oracle Database Express Edition.

Step 2: Instructions before install Oracle

  1. Copy the downloaded file and paste it in  directory.
  2. Unzip using the command:
    unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip 
  3. Install required packages using the command:
    sudo apt-get install alien libaio1 unixodbc
  4. Enter into the Disk1 folder using :
    cd Disk1/
  5. Convert RPM package format to DEB package format (that is used by Ubuntu) using the command:
    sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
  6. Create the required  script using the command:
    sudo gedit /sbin/chkconfig
    The  text editor is started and the commands are shown at the bottom of the screen. Now copy and paste the following into the file and save:
    #!/bin/bash
    # Oracle 11gR2 XE installer chkconfig hack for Ubuntu
    file=/etc/init.d/oracle-xe
    if [[ ! `tail -n1 $file | grep INIT` ]]; then
        echo >> $file
        echo '### BEGIN INIT INFO' >> $file
        echo '# Provides: OracleXE' >> $file
        echo '# Required-Start: $remote_fs $syslog' >> $file
        echo '# Required-Stop: $remote_fs $syslog' >> $file
        echo '# Default-Start: 2 3 4 5' >> $file
        echo '# Default-Stop: 0 1 6' >> $file
        echo '# Short-Description: Oracle 11g Express Edition' >> $file
        echo '### END INIT INFO' >> $file
    fi
    update-rc.d oracle-xe defaults 80 01
  7. Change the permission of the  file using the command:
    sudo chmod 755 /sbin/chkconfig  
  8. Set kernel parameters. Oracle 11gR2 XE requires additional kernel parameters which you need to set using the command:
    sudo gedit /etc/sysctl.d/60-oracle.conf
  9. Copy the following into the file and save:
    # Oracle 11g XE kernel parameters 
    fs.file-max=6815744  
    net.ipv4.ip_local_port_range=9000 65000  
    kernel.sem=250 32000 100 128 
    kernel.shmmax=536870912 
  10. Verify the change using the command:
    sudo cat /etc/sysctl.d/60-oracle.conf 
  11. You should see what you entered earlier. Now load the kernel parameters:
    sudo service procps start
  12. Verify the new parameters are loaded using:
    sudo sysctl -q fs.file-max
    You should see the file-max value that you entered earlier.
  13. Set up /dev/ mount point for Oracle. Create the following file using the command:
    sudo gedit /etc/rc2.d/S01shm_load
  14. Copy the following into the file and save.
    #!/bin/sh
    case "$1" in
    start)
        mkdir /var/lock/subsys 2>/dev/null
        touch /var/lock/subsys/listener
        rm /dev/shm 2>/dev/null
        mkdir /dev/shm 2>/dev/null
    *)
        echo error
        exit 1
        ;;
    
    esac 
  15. Change the permissions of the file using the command:
    sudo chmod 755 /etc/rc2.d/S01shm_load
  16. Now execute the following commands:
    sudo ln -s /usr/bin/awk /bin/awk 
    sudo mkdir /var/lock/subsys 
    sudo touch /var/lock/subsys/listener
    Now, Reboot Your System

Step 3: Install Oracle

  1. Install the  DBMS using the command:
    sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
  2. Configure Oracle using the command:
    sudo /etc/init.d/oracle-xe configure 
  3. Setup environment variables by  your .bashrc file:
    gedit ~/.bashrc
  4. Add the following lines to the end of the file:
    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
    export ORACLE_SID=XE
    export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
    export ORACLE_BASE=/u01/app/oracle
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    export PATH=$ORACLE_HOME/bin:$PATH
  5. Load the changes by executing your profile:
     777 ~/.profile
    . ~/.profile
  6. Start the Oracle 11gR2 XE:
    sudo service oracle-xe start
  7. Add user YOURUSERNAME to group dba using the command:
    sudo usermod -a -G dba YOURUSERNAME

Step 4: Using the Oracle XE Command Shell

  1. Start the Oracle XE 11gR2 server using the command:
    sudo service oracle-xe start
  2. Start command line shell as the system admin using the command:
    sqlplus sys as sysdba
    Enter the password that you gave while configuring Oracle earlier. You will now be placed in a SQL environment that only understands SQL commands.
  3. Create a regular user account in Oracle using the SQL command:
    create user USERNAME identified by PASSWORD;
    Replace USERNAME and PASSWORD with the username and password of your choice. Please remember this username and password. If you had  executing the above with a message about , then execute the following SQL command and try again:
    alter database open resetlogs;
  4. Grant privileges to the user account using the SQL command:
    grant connect, resource to USERNAME;
    Replace USERNAME and PASSWORD with the username and password of your choice. Please remember this username and password.
  5. Exit the  admin shell using the SQL command:
    exit;
  6. Start the  shell as a regular user using the command:
    sqlplus
    Now, you can run  commands... 


Installing Google Chrome .rpm package in Fedora


Step 1: Install Following Dependencies:

$sudo yum install lsb $sudo yum install libXScrnSaver

Step 2: download .rpm chrome package here or from https://www.google.com/chrome/.

Step 3: install .rpm chrome package using following command

$ sudo rpm -ivh google-chrome-stable_current_x86_64.rpm