Wednesday, December 14, 2011

How to enable remote access to MySQL server on Windows


1. Open a DOS command prompt on the server.
2. Run the following command from the mysql\bin directory:
mysql -u root --password=
or type "mysql -uROOT -pPASSWORD" directly in command prompt, if you added mysql\bin to PATH environment variable.
3. A mysql> prompt should be displayed.
4. To create a remote user account with root privileges, run the following commands:
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'IP' IDENTIFIED BY 'PASSWORD';

'USERNAME' is the username to be created.
'IP' is the public IP address of the remote connection.
'PASSWORD' is the password to be assigned for this username.
(IP can be replaced with % to allow this user to logon from any host or IP)

mysql> FLUSH PRIVILEGES;
mysql> exit;

Thursday, December 1, 2011

Reading Property Files in java


Load property files via static blocks and retrieve them file those block when ever you want to read a property. This way we don't have to open file stream when we want to read a property.

private static Properties prop = null;
static{
java.io.InputStream inst = MyClass.class.getClassLoader().getResourceAsStream("com/../../Resources/PropFile.properties");
prop=new Properties();
try {
prop.load(inst);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}

//Retrieving value of a key
prop.getProperty("Key")

Friday, October 14, 2011

Using Logger in Java

Logger is very important in many applications, using logger we can log message in a program/project.
Steps to use logger:
1. Download "logging-log4j.X.X.X" from apache website and extract it to your favorite place.
2. Add "logging-log4j.X.X.X\dist\lib" to your "classpath" environment variable.
Note: Download and adding "xercesImpl.jar", "xmlParserAPIs.jar" to classpath if you have any issues.
3. Add "log4j.jar" to "Referenced Libraries" folder of your Java project.
4. create "log4j.properties" file in "/src" folder with below content
#-----Content start

log4j.rootCategory=INFO, S, R

log4j.logger.com.dappit.Dapper.parser=ERROR
log4j.logger.org.w3c.tidy=FATAL

log4j.appender.S = org.apache.log4j.ConsoleAppender
log4j.appender.S.layout = org.apache.log4j.PatternLayout
log4j.appender.S.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n

log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File = ./logs/MyLog.log
log4j.appender.R.Append = true
log4j.appender.R.DatePattern = '.'yyy-MM-dd
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n
#---Content end

4. Create your class file, add import statement like "import org.apache.log4j.*;"
5. Instantiate logger "Logger log = Logger.getLogger(LoggerUsage.class);"
Note: Here "LoggerUsage" will be your class where you are using logger.
6. Start logging various incidents like

log.info("Logging info");
log.error("Logging Error...");
7. This will log print message to console and also to a file "/logs/MyLog.log" because we added below entry in log4j.properties file.
log4j.appender.R.File = ./logs/MyLog.log


If log4j.jar is not found in classpath then we get error saying
"log4j:WARN Please initialize the log4j system properly."