Wednesday, April 30, 2014

Spring JDBC Logging

# Root logger option
log4j.rootLogger=DEBUG, file, stdout

# Daily rolling file appender
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=logs/jdbc.log
log4j.appender.file.Append=true
log4j.appender.file.DatePattern='.'dd-MM-yyyy
log4j.appender.file.encoding=UTF-8
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n
#log4j.appender.file.layout.ConversionPattern=%p %t %c - %m%n

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -  %m%n`
#log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
#log4j.appender.stdout.layout.ConversionPattern=%p %t %c - %m%n

# Spring JDBC logging
log4j.logger.org.springframework.jdbc=DEBUG
log4j.logger.org.springframework.jdbc.core.JdbcTemplate=DEBUG, file
log4j.logger.org.springframework.jdbc.core.StatementCreatorUtils=TRACE, file

# Spring Transaction logging
log4j.logger.org.springframework.transaction=INFO
log4j.logger.org.springframework.transaction.interceptor=TRACE
#log4j.logger.org.springframework.jdbc.datasource.DataSourceTransactionManager=DEBUG
#log4j.logger.org.springframework.orm.jpa=INFO

# Hibernate Transaction logging
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.engine.transaction=DEBUG
log4j.logger.org.springframework.orm.hibernate3.HibernateTransactionManager=DEBUG

# BoneCP Connection Pooling logging
#log4j.category.com.jolbox=DEBUG,stdout


-------------------------------------------------------------------------------
Note:
Spring JDBCTemplate is using common-logging API to log.
And if you are using log4j in your application, you will have to add
common logging bridge for the same. Add following in your pom.xml
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-jcl</artifactId>
    <version>2.0-rc1</version>
</dependency>
-------------------------------------------------------------------------------

Note: Logging Spring in IBM Websphere click -------------------------------------------------------------------------------

Thursday, April 17, 2014

ResultSet PrintColumns

package com.jini.jdbc;

import java.sql.*;
public class PrintColumns {
    public static void main(String args[]) {
        String url = "jdbc:mysql://localhost/test";
        Connection con;
        String query = "select * from STUDENT";
        Statement stmt;
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (java.lang.ClassNotFoundException e) {
            System.err.print("ClassNotFoundException: ");
            System.err.println(e.getMessage());
        }
        try {
            con = DriverManager.getConnection(url, "root", "123");
            stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(query);
            ResultSetMetaData rsmd = rs.getMetaData();

            PrintColumnTypes.printColTypes(rsmd);
            System.out.println("");

            int numberOfColumns = rsmd.getColumnCount();

            for (int i = 1; i <= numberOfColumns; i++) {
                if (i > 1)
                    System.out.print(",  ");
                String columnName = rsmd.getColumnName(i);
                System.out.print(columnName);
            }
            System.out.println("");

            while (rs.next()) {
                for (int i = 1; i <= numberOfColumns; i++) {
                    if (i > 1)
                        System.out.print(",  ");
                    String columnValue = rs.getString(i);
                    System.out.print(columnValue);
                }
                System.out.println("");
            }

            stmt.close();
            con.close();
        } catch (SQLException ex) {
            System.err.print("SQLException: ");
            System.err.println(ex.getMessage());
        }
    }
} // end of class

class PrintColumnTypes {
    public static void printColTypes(ResultSetMetaData rsmd)
            throws SQLException {
        int columns = rsmd.getColumnCount();
        for (int i = 1; i <= columns; i++) {
            int jdbcType = rsmd.getColumnType(i);
            String name = rsmd.getColumnTypeName(i);
            System.out.print("Column " + i + " is JDBC type " + jdbcType);
            System.out.println(", which the DBMS calls " + name);
        }
    }
} // end of class

Enabling Profiling

-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=syntw.synt.com --------------------------------------------------
set JAVA_OPTS=%JAVA_OPTS%
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
--------------------------------------------------
Websphere Profiling Using Visual VM
@ Admin Console
@ Servers->Server types->WebSphere application servers->server1->Process definition->Java Virtual Machine

@ Add the following line into the field of Generic JVM Argument :
-Djavax.management.builder.initial=
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=syntw.synt.com
-Dcom.sun.management.jmxremote.local.only=false
@ Test using netstat –a
@ Connect VisualVM !
@ Alternatively you can set the properties in the management.properties file located in the installation directory of the WebSphere application server\AppServer\java\jre\lib\magagement 
 --------------------------------------------------
Analyzing Java Memory

Spring with Log4j Initialization

import org.apache.log4j.BasicConfigurator;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class zzZZMain {
    private static ApplicationContext context = null;
    static {
        BasicConfigurator.configure();
        context = new ClassPathXmlApplicationContext("classpath*:com/jini/TESTING/application*.xml");
        }
    public static Object getBean(String beanName) {
        return context.getBean(beanName);
    }
    public static void main(String[] args) throws Exception {
        System.out.println("--------- SpRiNg and lOg4j iNiTiaLiZaTion successfull --------");
    } // end of main()
} // end of class

Beanutils CopyUtil

import java.lang.reflect.InvocationTargetException;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.BeanUtilsBean;
import org.apache.commons.beanutils.converters.DateConverter;
public class BeanPropertyCopyUtil {
        public static void copyProperties(Object src, Object dest, String... properties)
                    throws IllegalAccessException, InvocationTargetException, NoSuchMethodException
         {
            DateConverter dtConverter = new DateConverter();
            dtConverter.setPattern("dd-MMM-yyyy");
            BeanUtilsBean beanUtilsBean = BeanUtilsBean.getInstance();
            beanUtilsBean.getConvertUtils().register(dtConverter, java.util.Date.class);
           
                for (String property : properties) {
                        String[] arr = property.split(" ");
                        String srcProperty;
                        String destProperty;
                        if (arr.length == 2) {
                                srcProperty = arr[0];
                                destProperty = arr[1];
                        } else {
                                srcProperty = property;
                                destProperty = property;
                        }
                        String tmpStr = BeanUtils.getProperty(src, srcProperty).trim();
                        if(!tmpStr.equals("")){
                            //System.out.println("String is :" + tmpStr+":size:"+tmpStr.length() );
                            //BeanUtils.setProperty(dest, destProperty, BeanUtils.getProperty(src, srcProperty));
                            BeanUtils.setProperty(dest, destProperty, tmpStr);
                        }
                }
        } // end of method
}

Linear Search (Grouping)

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.Data;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ListMultimap;
class LinearSearchDemo {
      public static void main( String ... args ) {
          List list = Arrays.asList(
                                      Person.create("Oscar", 0x20),
                                      Person.create("Reyes", 0x30),
                                      Person.create("Java", 0x10),
                                      Person.create("Java", 0x20),
                                      Person.create("Java", 0x30),
                                        Person.create("Java", 0x40)
                              );
 
            // Based on Generic
           List result = searchIn(list, new Matcher() {
                public boolean matches(Person p) {
                    return p.getName().equals("Java");
                }
            });
            System.out.println("Using Generic : " + result);

            result = searchIn(list, new Matcher() {
                public boolean matches(Person p) {
                    return p.getAge() > 16;
                }
            });
            System.out.println(result);
            // Based on Guava Multimap
            ListMultimap peopleByFirstName = ArrayListMultimap.create();
            for (Person person : list) {
                peopleByFirstName.put(person.getName(), person);
            }
            System.out.println("Usign Guava : " + peopleByFirstName.get("Java"));
            // Normal Coding
            Map> map = new HashMap>();
            for (Person person : list) {
                String key = person.getName();
                if (map.get(key) == null) {
                    map.put(key, new ArrayList());
                }
                map.get(key).add(person);
            }
            System.out.println("Normal Coding :" + map.get("Java"));

      } // end of main

      public static List searchIn( List list , Matcher m ) {
          List r = new ArrayList();
          for( T t : list ) {
              if( m.matches( t ) ) {
                  r.add( t );
              }
          }
          return r;
      } // end of method

    } // end of class

    interface Matcher {
      public boolean matches( T t );
    } // end of interface

    @Data
    class Person {
      String name;
      int age;
      static Person create( String name, int age ) {
          Person p = new Person();
          p.name = name;
          p.age = age;
          return p;
      }
    } // end of class

Sunday, April 6, 2014

नज़र उतारने के उपाय

उपाय 1 - नजर लगे व्यक्ति को लिटाकर फिटकरी का टुकड़ा सिर से पांव तक सात बार उतारें। ध्यान रखें हर बार सिर से पांव तक ले जाकर तलुवे छुआकर फिर सिर से घुमाना शुरु करें। इस फिटकरी के टुकड़े को कण्डे की आग पर डाल दें।
उपाय  2- राई के कुछ दाने, नमक की सात डली और सात साबुत डंठल वाली लाल सूखी मिर्च बाएं हाथ की मुट्ठी में लेकर नजर लगे व्यक्ति को लिटाकर सिर से पांव तक सात बार उतारा करें और जलते हुए चूल्हे में झोंक दें। यह टोटका अनटोका करें। यह कार्य मंगलवार व शनिवार के दिन करें तो बेहतर रहता है।
उपाय  3- यदि बच्चे को नजर लगी हो और वह दूध नहीं पी रहा हो तो थोड़ा दूध एक कटोरी में लेकर बच्चे के ऊपर से सात बार उतार कर काले कुत्ते को पिला दें। बच्चा दूध पीने लगेगा।
उपाय  4- एक साफ रुमाल पर हनुमानजी के पांव का सिंदूर लगाएं और इस रुमाल पर दस ग्राम काले तिल, दस ग्राम काले उड़द, एक लोहे की कील, तीन साबूत लाल मिर्च लेकर उसकी पोटली बना लें। जिस व्यक्ति को नजर लगी हो उसके सिरहाने यह पोटली रख दें। चौबीस घंटे के बाद यह पोटली किसी नदी या बहते हुए जल में बहा दें। यह बहुत ही प्रभावशाली टोटका है।
उपाय  5- एक रोटी बनाएं और इसे एक तरफ से ही सेकें, दूसरी तरफ से कच्ची छोड़ दें। इसके सेके हुए भाग पर तेल या घी लगाकर नजर लगे व्यक्ति के ऊपर से सात बार उतार कर किसी चौराहे पर रख आएं।
उपाय  6-जब कभी किसी छोटे बच्चों को नजर लग जाती है तो, वह दूध उलटने लगता है और दूध पीना बन्द कर देता है, ऐसे में परिवार के लोग चिंतित और परेशान हो जाते है। ऐसी स्थिति में एक बेदाग नींबू लें और उसको बीच में आधा काट दें तथा कटे वाले भाग में थोड़े काले तिल के कुछ दाने दबा दें। और फिर उपर से काला धागा लपेट दें। अब उसी नींबू को बालक पर उल्टी तरफ से 7 बार उतारें। इसके पश्चात उसी नींबू को घर से दूर किसी निर्जन स्थान पर फेंक दें। इस उपाय से शीघ्र ही लाभ मिलेगा।
उपाय  7-एक देशी अखंडित पान, गुलाब का फूल और कुछ बताशे रोगी के ऊपर से 31 बार उतारें तथा चौराहे पर रख दें। इसके प्रभाव से रोगी की दशा में शीघ्रता से सुधार होगा।
उपाय  8-एक साबूत नींबू के उपर काली स्याही से 307 लिख दें और उस व्यक्ति के उपर उल्टी तरफ से 7 बार उतारें। इसके पश्चात उसी नींबू को चार भागों में इस प्रकार से काटें कि वह नीचें से जुड़े रहें। और फिर उसी नींबू को घर से बाहर किसी निर्जन स्थान पा फेंक दें। यह उपाय करने से पीडि़त (नजरदोष से ग्रसित)  व्यक्ति शीघ्र ही स्वस्थ्य हो जायेगा।
उपाय  9-नींबू लेकर रोगी के सिर से 7 बार उल्टा घुमायें। (शनिवार) एक चाकू सिर से पैर तक धीरे-धीरे स्पर्श करते हुये नींबू को बीच से काट दें। दोनों टुकड़े दॊ दिशा मे संध्या समय फैंक दें।
उपाय  10-व्यक्तिगत बाधा के लिए एक मुट्ठी पिसा हुआ नमक लेकर शाम को अपने सिर के ऊपर से तीन बार उतार लें और उसे दरवाजे के बाहर फेंकें। ऐसा तीन दिन लगातार करें। यदि आराम न मिले तो नमक को सिर के ऊपर वार कर शौचालय में डालकर फ्लश चला दें। निश्चित रूप से लाभ मिलेगा।
उपाय  11-शनिवार को सवा किलो आलू व बैंगन की सब्जी सरसों के तेल में बनाएं। उतनी ही पूरियां सरसों के तेल में बनाकर अंधे, लंगड़े व गरीब लोगों को यह भोजन खिलायें। ( 3 शनिवार) 
उपाय  12-स्वास्थ्य लाभ हेतु मृत्यु तुल्य कष्ट से ग्रस्त रोगी को छुटकारा दिलाने के लिए जौ के आटे में काले तिल एवं सरसों का तेल मिला कर मोटी रोटी बनाएं और उसे रोगी के ऊपर से सात बार उतारकर भैंस को खिला दें। यह क्रिया करते समय ईश्वर से रोगी को शीघ्र स्वस्थ करने की प्रार्थना करते रहें।
उपाय  13- (curing infectious diseases) Take an earthen small pot, and put in it an egg, a ladoo, two coins, &Sindoor and rotate it around the head of the patient. Leave this where the four roads meet at 12 ‘O’ clock midday or during the sun set. The infectious disease will be cured.
उपाय  14- यदि किसी मनुष्य को रात में अक्सर डारवने सपने आते है । ऐसी स्थिति में उस व्यक्ति की तकिये के नीचे एक हरा नींबू रख दें, और सूख जाने पर वह नींबू हटाकर दूसरा हरा नींबू रख दें। यह क्रिया लगातार 5 बार करने से दुःस्वपन आना बन्द हो जायेंगे और ठीक से नींद भी आने लगेगी।
उपाय  15- यदि कोई व्यक्ति बगैर किसी कारण के परेशान कर रहा हो, तो शौच क्रिया काल में शौचालय में बैठे-बैठे वहीं के पानी से उस व्यक्ति का नाम लिखें और बाहर निकलने से पूर्व जहां पानी से नाम लिखा था, उस स्थान पर अपने बाएं पैर से तीन बार ठोकर मारें। ध्यान रहे, यह
उपाय  16- शत्रु शमन के लिए : साबुत उड़द की काली दाल के 38 और चावल के 40 दाने मिलाकर किसी गड्ढे में दबा दें और ऊपर से नीबू निचोड़ दें। नीबू निचोड़ते समय शत्रु का नाम लेते रहें, उसका शमन होगा और वह आपके विरुद्ध कोई कदम नहीं उठाएगा।
उपाय  17- यदि आपको शत्रु पक्ष से परेशानी हैं तो कर्पूर के काजल से शत्रु का नाम लिखकर अपने पैर से मिटा दें
उपाय  18- शनि दृष्टि दोष दूर करने के लिये
-उड़द की दाल के 4 बड़े शनिवार को प्रात: सिर से 3 बार उलटा घुमाकर कौओं को खिलाएं।
(सात शनिवार करो)।
शनि कृपा पाने के लिये
शनिवार के दिन आठ नंबर का जूता (लैदर का) शनि का दान मांगने वाले को ‘ऊँ सूर्य पुत्राय नम:’ आठ बार कहकर दें।