<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;AkUNRXg5fCp7ImA9WhRUE00.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039</id><updated>2012-01-23T00:44:54.624-08:00</updated><category term="log4j" /><category term="AOP" /><category term="javaSript" /><category term="practice" /><category term="Tomcat" /><category term="JMeter" /><category term="Network Programming" /><category term="JSP" /><category term="creditcard" /><category term="XPath" /><category term="Andy Myint" /><category term="log" /><category term="Hibernate" /><category term="JSTL" /><category term="XML" /><category term="Spring" /><category term="Apache" /><category term="MS SQL" /><category term="Bit" /><category term="Java" /><category term="HTTP" /><category term="JConsole" /><title>Pro Programmers</title><subtitle type="html">Not &lt;b&gt;&lt;u&gt;Professional&lt;/u&gt;&lt;/b&gt; Programmers. But &lt;b&gt;&lt;u&gt;Problematic&lt;/u&gt;&lt;/b&gt; Programmers.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://pro-programmers.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>69</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/ProProgrammers" /><feedburner:info uri="proprogrammers" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUYBRHg4fyp7ImA9WhdbGUU.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-2930507254137511894</id><published>2011-10-18T17:09:00.001-07:00</published><updated>2011-10-18T17:12:35.637-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-18T17:12:35.637-07:00</app:edited><title>java.lang.ClassFormatError: Truncated class file=javax.servlet.ServletException</title><content type="html">&lt;h1&gt;Problem&lt;/h1&gt;  &lt;p&gt;Having above exception after deploying WAR file.&lt;/p&gt;  &lt;h1&gt;Solution&lt;/h1&gt;  &lt;p&gt;Delete [Tomcat]\work\Catalina\localhost.&lt;/p&gt;  &lt;h1&gt;Cause&lt;/h1&gt;  &lt;p&gt;Tomcat’s got crazy with JSP compilation.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-2930507254137511894?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=38II2px5qqw:xLKppiHIhNY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=38II2px5qqw:xLKppiHIhNY:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=38II2px5qqw:xLKppiHIhNY:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=38II2px5qqw:xLKppiHIhNY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=38II2px5qqw:xLKppiHIhNY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/38II2px5qqw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/2930507254137511894/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=2930507254137511894" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/2930507254137511894?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/2930507254137511894?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/38II2px5qqw/javalangclassformaterror-truncated.html" title="java.lang.ClassFormatError: Truncated class file=javax.servlet.ServletException" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2011/10/javalangclassformaterror-truncated.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EHQXg7eCp7ImA9WhdQFk4.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-4109660915451200273</id><published>2011-08-17T19:42:00.001-07:00</published><updated>2011-08-17T19:47:10.600-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-17T19:47:10.600-07:00</app:edited><title>Spring Bean as Servlet Filter</title><content type="html">&lt;h2&gt;&amp;#160;&lt;/h2&gt;  &lt;h2&gt;Wish&lt;/h2&gt;  &lt;p&gt;Want to use a Spring bean as JSP Filter.&lt;/p&gt;  &lt;h2&gt;Solution&lt;/h2&gt;  &lt;p&gt;Use &lt;font face="Courier New"&gt;DelagatingFilterProxy&lt;/font&gt; from Spring libarry.&lt;/p&gt;  &lt;h2&gt;Details&lt;/h2&gt;  &lt;ul&gt;   &lt;li&gt;Implements the Spring bean from &lt;font face="Courier New"&gt;javax.servlet.Filter&lt;/font&gt; as usual Filter&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;public class &lt;font color="#000000"&gt;HeaderValidationFilter&lt;/font&gt; implements &lt;font color="#000000"&gt;Filter&lt;/font&gt;{&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ……&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;}&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;Create Spring bean (with Spring XML) as usual &lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;bean id=&amp;quot;&lt;font color="#000000"&gt;filterHeader&lt;/font&gt;” class=”&lt;font color="#000000"&gt;com.proprogrammers.HeaderValidationFilter&lt;/font&gt;”&amp;gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ……&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;/bean&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;In “web.xml” add JSP filter as below:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Notice that &amp;lt;filter-name&amp;gt; is the same as bean id above.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;filter&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;filter-name&amp;gt;&lt;font color="#000000"&gt;filterHeader&lt;/font&gt;&amp;lt;/filter-name&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;filter-class&amp;gt;&lt;font color="#000000"&gt;org.springframework.web.filter.DelegatingFilterProxy&lt;/font&gt;&amp;lt;/filter-class&amp;gt;        &lt;br /&gt;&amp;lt;/filter&amp;gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;filter-mapping&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;filter-name&amp;gt;&lt;font color="#000000"&gt;filterHeader&lt;/font&gt;&amp;lt;/filter-name&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;url-pattern&amp;gt;&lt;font color="#000000"&gt;*&lt;/font&gt;&amp;lt;/url-pattern&amp;gt;        &lt;br /&gt;&amp;lt;/filter-mapping&amp;gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;font color="#666666"&gt;&amp;lt;servlet&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;servlet-name&amp;gt;Spring&amp;lt;/servlet-name&amp;gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;servlet-class&amp;gt;org.springframework.web.servlet.DispatcherServlet&amp;lt;/servlet-class&amp;gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;load-on-startup&amp;gt;1&amp;lt;/load-on-startup&amp;gt;          &lt;br /&gt;&amp;lt;/servlet&amp;gt;&lt;/font&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Caveat&lt;/h2&gt;  &lt;p&gt;Filter bean (at step-2) cannot be defined in Spring Servlet XML file; Spring-servlet.xml in the sample. It must be in other Spring XML file.&lt;/p&gt;  &lt;h2&gt;Read More&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://static.springsource.org/spring-security/site/docs/3.0.x/reference/security-filter-chain.html"&gt;http://static.springsource.org/spring-security/site/docs/3.0.x/reference/security-filter-chain.html&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Credits&lt;/h2&gt;  &lt;p&gt;Collin Yates&lt;/p&gt;  &lt;p&gt;&lt;a href="http://forum.springsource.org/showthread.php?20230-Howto-The-joy-that-is-DelegatingFilterProxy"&gt;http://forum.springsource.org/showthread.php?20230-Howto-The-joy-that-is-DelegatingFilterProxy&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-4109660915451200273?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=AwhmgdOdaJ8:loNIaSD4zfQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=AwhmgdOdaJ8:loNIaSD4zfQ:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=AwhmgdOdaJ8:loNIaSD4zfQ:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=AwhmgdOdaJ8:loNIaSD4zfQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=AwhmgdOdaJ8:loNIaSD4zfQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/AwhmgdOdaJ8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/4109660915451200273/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=4109660915451200273" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/4109660915451200273?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/4109660915451200273?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/AwhmgdOdaJ8/spring-bean-as-servlet-filter.html" title="Spring Bean as Servlet Filter" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2011/08/spring-bean-as-servlet-filter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkAHRXg7eCp7ImA9WhdREkg.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-3813948104281254294</id><published>2011-08-01T19:04:00.001-07:00</published><updated>2011-08-01T19:05:34.600-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-01T19:05:34.600-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><title>[Java] How to Make Asynchronous Method</title><content type="html">&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I have a long-running method which I want to run asynchronously. I transform the method into asynchronous method by running it on separate thread. &lt;/p&gt;  &lt;p&gt;Original Code:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; public void mainMethod() throws InterruptedException{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.out.println(&amp;quot;Main Method start&amp;quot;);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; longRunningMethod(&amp;quot;testing&amp;quot;, new Object());      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; otherMethod();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public Integer longRunningMethod(String param1,Object parm2) throws InterruptedException{      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.out.println(&amp;quot;Long running method&amp;quot;);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Thread.sleep(5000);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //long process      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return 1;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public void otherMethod(){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.out.println(&amp;quot;Other Method&amp;quot;);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;img src="https://docs.google.com/drawings/pub?id=1qWBSHw8T9dwX3kGJoiwglYLam-HZ-BtYD1JY8wmM9tU&amp;amp;w=1032&amp;amp;&amp;amp;h=497" width="847" height="410" /&gt; &lt;/p&gt;  &lt;p&gt;New Code:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;public void mainMethod() throws InterruptedException{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.out.println(&amp;quot;Main Method start&amp;quot;);      &lt;br /&gt;&lt;strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //longRunningMethod(&amp;quot;testing&amp;quot;, new Object());       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; asyncServiceMethod(&amp;quot;testing&amp;quot;,new Object());        &lt;br /&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; otherMethod();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public Integer longRunningMethod(String param1,Object parm2) throws InterruptedException{      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.out.println(&amp;quot;Long running method&amp;quot;);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Thread.sleep(5000);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //long process      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return 1;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public void otherMethod(){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.out.println(&amp;quot;Other Method&amp;quot;);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;strong&gt;&amp;#160;&amp;#160;&amp;#160; public void asyncServiceMethod(final String parm1,final Object obj){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Runnable task = new Runnable() {&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @Override       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public void run() {        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; try {        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; longRunningMethod(parm1,obj);        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } catch (Exception ex) {        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //handle error which cannot be thrown back        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; };        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; new Thread(task, &amp;quot;ServiceThread&amp;quot;).start();        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;There are few things to consider wrapping a method into asynchronous call. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Passing Parameters must be final&lt;/li&gt;    &lt;li&gt;Exception from the long-running process cannot be thrown back to mainMethod (main thread). It has to be handled at separate thread (ServiceThread in the sample)&lt;/li&gt;    &lt;li&gt;Returning value cannot be retrieved (Integer value in this sample) from the main Method. (If one wants to retrieve, &lt;font face="Courier New"&gt;FutureTask&lt;/font&gt; should be used.)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Other to read &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Asynchronous_method_invocation"&gt;http://en.wikipedia.org/wiki/Asynchronous_method_invocation&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-3813948104281254294?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=V059kox-a2g:wfsEPQvI5Y8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=V059kox-a2g:wfsEPQvI5Y8:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=V059kox-a2g:wfsEPQvI5Y8:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=V059kox-a2g:wfsEPQvI5Y8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=V059kox-a2g:wfsEPQvI5Y8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/V059kox-a2g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/3813948104281254294/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=3813948104281254294" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/3813948104281254294?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/3813948104281254294?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/V059kox-a2g/java-how-to-make-asynchronous-method.html" title="[Java] How to Make Asynchronous Method" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2011/08/java-how-to-make-asynchronous-method.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8HSXgyeip7ImA9WhZXGUQ.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-7806796995836983072</id><published>2011-05-09T18:24:00.001-07:00</published><updated>2011-05-09T18:27:18.692-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-09T18:27:18.692-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MS SQL" /><title>MS SQL – Strip Time, Day, Month from DateTime</title><content type="html">In the database, Date Time values is stored to millisecond level and for many times, I need to group record by Day, Week or Month or Year and I want to get day only or start day of the week or start day of the month, etc. Here I just put a note on SQL for the purpose mentioned. &lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;getdate&lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;()&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;as&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt; CurrentDateTime&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;select&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: blue; font-size: x-small;"&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;DATEADD&lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;d&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;DATEDIFF&lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;d&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;0&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;getdate&lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;()),&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;0&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;as&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: black;"&gt; CurrentDate;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-size: x-small;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: black;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;select&amp;nbsp;&lt;span style="color: magenta; font-size: x-small;"&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;DATEADD&lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;wk&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;DATEDIFF&lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;wk&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;0&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;getdate&lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;()),&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;0&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;as&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: black;"&gt; CurrentStartDayOftheWeek;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: black;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;select&amp;nbsp;&lt;span style="color: magenta; font-size: x-small;"&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;DATEADD&lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;mm&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;DATEDIFF&lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;mm&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;0&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;getdate&lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;()),&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;0&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;as&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: black;"&gt; CurrentStartDayOftheMonth;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: black;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;select&amp;nbsp;&lt;span style="color: magenta; font-size: x-small;"&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;DATEADD&lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;yy&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;DATEDIFF&lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;yy&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;0&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;&lt;span style="color: magenta; font-size: x-small;"&gt;getdate&lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;()),&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;0&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;as&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: black;"&gt; CurrentStartDayOftheYear;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;span style="color: black;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;strong&gt;Result&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span style="font-size: x-small;"&gt;&lt;strong&gt;CurrentDateTime&lt;/strong&gt;        &lt;br /&gt;
-----------------------        &lt;br /&gt;
2011-05-10 11:18:54.857&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;strong&gt;CurrentDate&lt;/strong&gt;        &lt;br /&gt;
-----------------------        &lt;br /&gt;
2011-05-10 00:00:00.000&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;strong&gt;CurrentStartDayOftheWeek&lt;/strong&gt;        &lt;br /&gt;
------------------------        &lt;br /&gt;
2011-05-09 00:00:00.000&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;strong&gt;CurrentStartDayOftheMonth&lt;/strong&gt;        &lt;br /&gt;
-------------------------        &lt;br /&gt;
2011-05-01 00:00:00.000&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;strong&gt;CurrentStartDayOftheYear&lt;/strong&gt;        &lt;br /&gt;
------------------------        &lt;br /&gt;
2011-01-01 00:00:00.000        &lt;br /&gt;
&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-7806796995836983072?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=Y825_p5tP3c:IXRbdJ94YMU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=Y825_p5tP3c:IXRbdJ94YMU:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=Y825_p5tP3c:IXRbdJ94YMU:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=Y825_p5tP3c:IXRbdJ94YMU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=Y825_p5tP3c:IXRbdJ94YMU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/Y825_p5tP3c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/7806796995836983072/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=7806796995836983072" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/7806796995836983072?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/7806796995836983072?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/Y825_p5tP3c/ms-sql-strip-time-day-month-from.html" title="MS SQL – Strip Time, Day, Month from DateTime" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2011/05/ms-sql-strip-time-day-month-from.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4HRn48cSp7ImA9WhZXFUg.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-6510218194877475509</id><published>2011-05-03T18:14:00.001-07:00</published><updated>2011-05-04T17:05:37.079-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-04T17:05:37.079-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Network Programming" /><title>Java byte Array into int Array</title><content type="html">&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;public int&lt;/font&gt;[] toIntArray(&lt;font color="#0000ff"&gt;byte&lt;/font&gt;[] barr) {       &lt;br /&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Pad the size to multiple of 4        &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;int &lt;/font&gt;size = (barr.&lt;font color="#008040"&gt;length&lt;/font&gt; / 4) + ((barr.&lt;font color="#008040"&gt;length&lt;/font&gt; % 4 == 0) ? 0 : 1);&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ByteBuffer bb = ByteBuffer.allocate(size *4);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bb.put(barr);       &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#808080"&gt;//Java uses Big Endian. Network program uses Little Endian.        &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bb.order(ByteOrder.LITTLE_ENDIAN);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;int&lt;/font&gt;[] result = new &lt;font color="#0000ff"&gt;int&lt;/font&gt;[size];       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bb.rewind();       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; while (bb.remaining() &amp;gt; 0) {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; result[bb.position()/4] =bb.getInt();       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;return&lt;/font&gt; result;       &lt;br /&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Disappointed for not seeing shifting? Wanna complain about performance?&lt;/p&gt;  &lt;p&gt;This is definitely not the most efficient method to convert byte array into int array yet it can be done with simple logic and a bit of knowledge in NIO.&lt;/p&gt;  &lt;p&gt;Unless the program is to be used on 1K memory device, using &lt;font face="Courier New"&gt;ByteBuffer&lt;/font&gt; is acceptable I reckon.&lt;/p&gt;  &lt;p&gt;(I tried to convert to &lt;font face="Courier New"&gt;IntBuffer&lt;/font&gt; but in vain. If anyone could point out, that’d be great.)&lt;/p&gt;  &lt;p&gt;Peter has mentioned how to use with IntBuffer in comment section as follow:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;public int&lt;/font&gt;[] toIntArray(&lt;font color="#0000ff"&gt;byte&lt;/font&gt;[] barr) {       &lt;br /&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Pad the size to multiple of 4        &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;int &lt;/font&gt;size = (barr.&lt;font color="#008040"&gt;length&lt;/font&gt; / 4) + ((barr.&lt;font color="#008040"&gt;length&lt;/font&gt; % 4 == 0) ? 0 : 1);&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ByteBuffer bb = ByteBuffer.allocate(size *4);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bb.put(barr); &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#808080"&gt;//Java uses Big Endian. Network program uses Little Endian.       &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bb.order(ByteOrder.LITTLE_ENDIAN);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bb.rewind();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; IntBuffer ib =&amp;#160; bb.asIntBuffer();&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;int &lt;/font&gt;[] result = new &lt;font color="#0000ff"&gt;int &lt;/font&gt;[size];      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ib.get(result);      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;return&lt;/font&gt; result;       &lt;br /&gt;}&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-6510218194877475509?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=7HHpkql8apI:4iujibCm5KU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=7HHpkql8apI:4iujibCm5KU:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=7HHpkql8apI:4iujibCm5KU:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=7HHpkql8apI:4iujibCm5KU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=7HHpkql8apI:4iujibCm5KU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/7HHpkql8apI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/6510218194877475509/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=6510218194877475509" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/6510218194877475509?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/6510218194877475509?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/7HHpkql8apI/java-byte-array-into-int-array.html" title="Java byte Array into int Array" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2011/05/java-byte-array-into-int-array.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQMRXszcCp7ImA9Wx9bGUU.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-8197355824658743403</id><published>2011-03-01T05:49:00.001-08:00</published><updated>2011-03-01T05:49:44.588-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-01T05:49:44.588-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><title>BigDecimal equals method</title><content type="html">&lt;p&gt;&lt;font face="Courier New"&gt;BigDecimal&lt;/font&gt; class from &lt;font face="Courier New"&gt;java.lang.Math&lt;/font&gt; package is useful for scale manipulation. Be careful though when you want to compare two &lt;font face="Courier New"&gt;BigDecimal&lt;/font&gt; objects with equals() method since it tests not just the equality of value but also the scale as mentioned in the document as below:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;…..this method considers two BigDecimals equal only if they are equal in value and scale (thus 2.0 is not equal to 2.00 when compared by this method).&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;For the following code&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);     &lt;br /&gt;BigDecimal b = new BigDecimal(&amp;quot;2.00&amp;quot;);      &lt;br /&gt;if (a.equals(b)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; System.out.println(&amp;quot;Equals&amp;quot;);      &lt;br /&gt;}else{      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; System.out.println(&amp;quot;Not Equals&amp;quot;);      &lt;br /&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;it will return &amp;quot;Not Equals” as the scales of the objects are different.&lt;/p&gt;  &lt;p&gt;To compare values of the above two objects, &lt;font face="Courier New"&gt;compareTo&lt;/font&gt; method can be used as it implements &lt;font face="Courier New"&gt;Comparable&lt;/font&gt; interface like wrappers.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;if (a.compareTo(b)==0)     &lt;br /&gt;{      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.out.println(&amp;quot;They have same value&amp;quot;);      &lt;br /&gt;}&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-8197355824658743403?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=2EBNozi6Xmc:lco10KRoPJc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=2EBNozi6Xmc:lco10KRoPJc:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=2EBNozi6Xmc:lco10KRoPJc:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=2EBNozi6Xmc:lco10KRoPJc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=2EBNozi6Xmc:lco10KRoPJc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/2EBNozi6Xmc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/8197355824658743403/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=8197355824658743403" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/8197355824658743403?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/8197355824658743403?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/2EBNozi6Xmc/bigdecimal-equals-method.html" title="BigDecimal equals method" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2011/03/bigdecimal-equals-method.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUDSH09fyp7ImA9Wx9TFUo.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-777228738686364463</id><published>2010-11-23T20:17:00.001-08:00</published><updated>2010-11-23T20:17:59.367-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-23T20:17:59.367-08:00</app:edited><title>Chrome Proxy Setting</title><content type="html">&lt;p&gt;&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium zawgyi-one; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;span style="line-height: 19px; border-collapse: collapse; font-family: verdana, arial, helvetica, sans-serif; font-size: 15px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px" class="Apple-style-span"&gt;If you change proxy setting in Chrome using Options-&amp;gt;Under the Hood –&amp;gt; [Change Proxy Setting], it will use IE proxy setting and it will change proxy setting for all other browsers. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium zawgyi-one; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;span style="line-height: 19px; border-collapse: collapse; font-family: verdana, arial, helvetica, sans-serif; font-size: 15px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px" class="Apple-style-span"&gt;To avoid this, e&lt;/span&gt;&lt;/span&gt;&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium zawgyi-one; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;span style="line-height: 19px; border-collapse: collapse; font-family: verdana, arial, helvetica, sans-serif; font-size: 15px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px" class="Apple-style-span"&gt;xecute chrome.exe using the command line argument below: &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium zawgyi-one; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;span style="line-height: 19px; border-collapse: collapse; font-family: verdana, arial, helvetica, sans-serif; font-size: 15px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px" class="Apple-style-span"&gt;&lt;font face="Courier New"&gt;--proxy-server=PROXYSERVER:PORT&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium zawgyi-one; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;span style="line-height: 19px; border-collapse: collapse; font-family: verdana, arial, helvetica, sans-serif; font-size: 15px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px" class="Apple-style-span"&gt;&lt;font face="Courier New"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-777228738686364463?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=lCUBqPIGFpI:ZeqqM_9-aU8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=lCUBqPIGFpI:ZeqqM_9-aU8:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=lCUBqPIGFpI:ZeqqM_9-aU8:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=lCUBqPIGFpI:ZeqqM_9-aU8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=lCUBqPIGFpI:ZeqqM_9-aU8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/lCUBqPIGFpI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/777228738686364463/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=777228738686364463" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/777228738686364463?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/777228738686364463?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/lCUBqPIGFpI/chrome-proxy-setting.html" title="Chrome Proxy Setting" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2010/11/chrome-proxy-setting.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8NQng8fCp7ImA9Wx5bGUw.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-3435718176871050902</id><published>2010-11-04T17:44:00.001-07:00</published><updated>2010-11-04T17:44:53.674-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-04T17:44:53.674-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="log4j" /><category scheme="http://www.blogger.com/atom/ns#" term="Andy Myint" /><category scheme="http://www.blogger.com/atom/ns#" term="Spring" /><title>[Spring] log4J</title><content type="html">&lt;h2&gt;WEB-INF\web.xml&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;context-param&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;param-name&amp;gt;log4jConfigLocation&amp;lt;/param-name&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;param-value&amp;gt;/WEB-INF/log4j.xml&amp;lt;/param-value&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/context-param&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;listener&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;listener-class&amp;gt;org.springframework.web.util.Log4jConfigListener&amp;lt;/listener-class&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/listener&amp;gt;….&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;WEB-INF\log4j.xml&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;      &lt;br /&gt;&amp;lt;!DOCTYPE log4j:configuration SYSTEM &amp;quot;log4j.dtd&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;log4j:configuration xmlns:log4j=&amp;quot;&lt;a href="http://jakarta.apache.org/log4j/"&gt;http://jakarta.apache.org/log4j/&lt;/a&gt;&amp;quot;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;!-- An appender which writes to file --&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;appender name=&amp;quot;FILE&amp;quot; class=&amp;quot;org.apache.log4j.DailyRollingFileAppender&amp;quot;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;param name=&amp;quot;file&amp;quot; value=&amp;quot;../logs/MyApp.log&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;param name=&amp;quot;datePattern&amp;quot; value=&amp;quot;'.'yyyy-MM&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;param name=&amp;quot;append&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;layout class=&amp;quot;org.apache.log4j.PatternLayout&amp;quot;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;param name=&amp;quot;ConversionPattern&amp;quot; value=&amp;quot;%d [%t] %-5p %c{6} - %m%n&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/layout&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/appender&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;root&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;priority value =&amp;quot;info&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/root&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;lt;/log4j:configuration&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-3435718176871050902?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=mThpCcCl5pE:7ISryr_-pR4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=mThpCcCl5pE:7ISryr_-pR4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=mThpCcCl5pE:7ISryr_-pR4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=mThpCcCl5pE:7ISryr_-pR4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=mThpCcCl5pE:7ISryr_-pR4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/mThpCcCl5pE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/3435718176871050902/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=3435718176871050902" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/3435718176871050902?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/3435718176871050902?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/mThpCcCl5pE/spring-log4j.html" title="[Spring] log4J" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2010/11/spring-log4j.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEMSHczeSp7ImA9Wx5bFUU.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-3783703731253255475</id><published>2010-10-31T22:01:00.001-07:00</published><updated>2010-10-31T22:01:29.981-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-31T22:01:29.981-07:00</app:edited><title>Enable Ping (Windows 2008)</title><content type="html">&lt;p&gt;According to WiKiPedia&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Ping&lt;/strong&gt; is a computer network administration utility used to test the reachability of a host on an Internet Protocol (IP) network and to measure the round-trip time for messages sent from the originating host to a destination computer. &lt;/p&gt;    &lt;p&gt;The name comes from active sonar terminology.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;em&gt;Ping&lt;/em&gt; is used to test the hostname/IP address for DNS resolution.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Ping&lt;/em&gt; uses &lt;strong&gt;ICMP&lt;/strong&gt; protocol while &lt;em&gt;telnet&lt;/em&gt; uses &lt;strong&gt;TCP&lt;/strong&gt; protocol on specific port. &lt;/p&gt;  &lt;p&gt;Since Windows 2008, it is disabled by default. To enable it, &lt;em&gt;Networking – Echo Request(ICMPv4In)&lt;/em&gt;, from command prompt, enter following: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;netsh&lt;/strong&gt; firewall set icmpsetting 8&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-3783703731253255475?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=N8BO2xPp-N4:MjqkPRWK11w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=N8BO2xPp-N4:MjqkPRWK11w:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=N8BO2xPp-N4:MjqkPRWK11w:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=N8BO2xPp-N4:MjqkPRWK11w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=N8BO2xPp-N4:MjqkPRWK11w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/N8BO2xPp-N4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/3783703731253255475/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=3783703731253255475" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/3783703731253255475?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/3783703731253255475?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/N8BO2xPp-N4/enable-ping-windows-2008.html" title="Enable Ping (Windows 2008)" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2010/10/enable-ping-windows-2008.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MNQ3gyfyp7ImA9Wx5bEEg.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-9139098524410374925</id><published>2010-10-25T17:04:00.001-07:00</published><updated>2010-10-25T17:04:52.697-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-25T17:04:52.697-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MS SQL" /><title>[MSSQL] Reseed Identity</title><content type="html">&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;dbcc&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; checkident&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;(&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;'TABLENAME'&lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;,&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; RESEED&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;,&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; 200000000&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Details in: &lt;a href="http://blogs.techrepublic.com.com/datacenter/?p=406"&gt;http://blogs.techrepublic.com.com/datacenter/?p=406&lt;/a&gt; (Susan Harkins, 2008)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-9139098524410374925?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=mXPozPOYlu8:dV8EOHzGJCY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=mXPozPOYlu8:dV8EOHzGJCY:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=mXPozPOYlu8:dV8EOHzGJCY:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=mXPozPOYlu8:dV8EOHzGJCY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=mXPozPOYlu8:dV8EOHzGJCY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/mXPozPOYlu8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/9139098524410374925/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=9139098524410374925" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/9139098524410374925?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/9139098524410374925?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/mXPozPOYlu8/mssql-reseed-identity.html" title="[MSSQL] Reseed Identity" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2010/10/mssql-reseed-identity.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEINQn46fSp7ImA9Wx5WEE4.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-9125692286798318507</id><published>2010-09-20T18:28:00.001-07:00</published><updated>2010-09-20T18:29:53.015-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-20T18:29:53.015-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="practice" /><category scheme="http://www.blogger.com/atom/ns#" term="Spring" /><title>[Spring] Initialization Callbacks</title><content type="html">&lt;p&gt;If you want the Spring container to perform initialization work on your bean after all the properties are set, you may implement &lt;font face="Courier New"&gt;InitializationBean&lt;/font&gt; and implements &lt;font face="Courier New"&gt;afterPropertiesSet()&lt;/font&gt; method. &lt;/p&gt;  &lt;p&gt;But just as Spring documentation outlines, &lt;u&gt;that approach will couple the code to Spring&lt;/u&gt;. You should use &lt;font face="Courier New"&gt;init-metod&lt;/font&gt; instead and call any public method from your bean. You could event pass parameters using &lt;font face="Courier New"&gt;constructor-arg&lt;/font&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://static.springsource.org/spring/docs/2.0.x/reference/beans.html#beans-factory-lifecycle"&gt;&lt;font color="#0000ff"&gt;http://static.springsource.org/spring/docs/2.0.x/reference/beans.html#beans-factory-lifecycle&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-9125692286798318507?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=xC97jEHUCA4:UrupxYzIVRo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=xC97jEHUCA4:UrupxYzIVRo:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=xC97jEHUCA4:UrupxYzIVRo:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=xC97jEHUCA4:UrupxYzIVRo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=xC97jEHUCA4:UrupxYzIVRo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/xC97jEHUCA4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/9125692286798318507/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=9125692286798318507" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/9125692286798318507?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/9125692286798318507?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/xC97jEHUCA4/spring-initialization-callbacks.html" title="[Spring] Initialization Callbacks" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2010/09/spring-initialization-callbacks.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IBQ3syfyp7ImA9Wx5QFEo.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-7025150120089992313</id><published>2010-09-02T17:55:00.001-07:00</published><updated>2010-09-02T17:59:12.597-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-02T17:59:12.597-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tomcat" /><title>Tomcat 5.5 with Java 1.6</title><content type="html">&lt;p&gt;If your Tomcat is running with Java 1.5 by default and want to upgrade to Java 1.6, double click TOMCAT\bin\tomcat5w.exe&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_LFzrs9y4Am8/TIBHcP3x8qI/AAAAAAAADlk/kYO4Z0ulhKE/s1600-h/Tomcat5w.exe%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Tomcat5w.exe" border="0" alt="Tomcat5w.exe" src="http://lh3.ggpht.com/_LFzrs9y4Am8/TIBHfT1Vj8I/AAAAAAAADlo/gYOEo5pCleA/Tomcat5w.exe_thumb%5B1%5D.jpg?imgmax=800" width="487" height="495" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Change Java Virtual Machine by selecting ..\Java\jdk1.6.0_xx\jre\bin\server\jvm.dll. &lt;/li&gt;    &lt;li&gt;There is one more trick to make it work. Copy ..\Java\jdk1.6.0_xx\bin\msvcr71.dll into the same folder as jvm.dll. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;font size="1"&gt;Thanks to kellyohair &lt;font color="#7f7f7f"&gt;&lt;a href="http://forums.java.net/jive/message.jspa?messageID=155421"&gt;http://forums.java.net/jive/message.jspa?messageID=155421&lt;/a&gt;&lt;font color="#7f7f7f"&gt;&lt;font color="#7f7f7f"&gt;&lt;/font&gt; for step-2&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-7025150120089992313?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=zhARAVdcaRE:Cxkg46tE1Pw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=zhARAVdcaRE:Cxkg46tE1Pw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=zhARAVdcaRE:Cxkg46tE1Pw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=zhARAVdcaRE:Cxkg46tE1Pw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=zhARAVdcaRE:Cxkg46tE1Pw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/zhARAVdcaRE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/7025150120089992313/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=7025150120089992313" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/7025150120089992313?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/7025150120089992313?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/zhARAVdcaRE/tomcat-55-with-java-16.html" title="Tomcat 5.5 with Java 1.6" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_LFzrs9y4Am8/TIBHfT1Vj8I/AAAAAAAADlo/gYOEo5pCleA/s72-c/Tomcat5w.exe_thumb%5B1%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2010/09/tomcat-55-with-java-16.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4AQH0yeCp7ImA9WxFaEUg.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-5597002118150732508</id><published>2010-07-14T18:38:00.001-07:00</published><updated>2010-07-14T18:39:01.390-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-14T18:39:01.390-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Spring" /><title>Enable connection pooling in Spring Datasource</title><content type="html">&lt;p&gt;I use Apache Commons DBCP for the above purpose&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;bean &lt;font color="#008000"&gt;id&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;poolDataSource&amp;quot;&lt;/font&gt; &lt;font color="#008000"&gt;class&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;org.apache.commons.dbcp.BasicDataSource&amp;quot;&lt;/font&gt; &lt;font color="#008000"&gt;destroy-method&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;close&amp;quot;&lt;/font&gt;&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;property &lt;font color="#008000"&gt;name&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;driverClassName&amp;quot;&lt;/font&gt; &lt;font color="#008000"&gt;value&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;net.sourceforge.jtds.jdbc.Driver&amp;quot;&lt;/font&gt;/&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;property &lt;font color="#008000"&gt;name&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;url&amp;quot;&lt;/font&gt; &lt;font color="#008000"&gt;value&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;${url}&amp;quot;&lt;/font&gt;/&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;property &lt;font color="#008000"&gt;name&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;username&amp;quot;&lt;/font&gt; &lt;font color="#008000"&gt;value&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;${username}&amp;quot;&lt;/font&gt;/&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;property &lt;font color="#008000"&gt;name&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;password&amp;quot;&lt;/font&gt; &lt;font color="#008000"&gt;value&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;${password}&amp;quot;&lt;/font&gt;/&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;property &lt;font color="#008000"&gt;name&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;poolPreparedStatements&amp;quot;&lt;/font&gt; &lt;font color="#008000"&gt;value&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;true&amp;quot;&lt;/font&gt;/&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;property &lt;font color="#008000"&gt;name&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;maxActive&amp;quot;&lt;/font&gt; &lt;font color="#008000"&gt;value&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;10&amp;quot;&lt;/font&gt;/&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;property &lt;font color="#008000"&gt;name&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;maxIdle&amp;quot;&lt;/font&gt; &lt;font color="#008000"&gt;value&lt;/font&gt;=&lt;font color="#ff8040"&gt;&amp;quot;10&amp;quot;&lt;/font&gt;/&amp;gt;        &lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-5597002118150732508?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=vfdcfvkfTOc:QacU9ByUDX0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=vfdcfvkfTOc:QacU9ByUDX0:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=vfdcfvkfTOc:QacU9ByUDX0:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=vfdcfvkfTOc:QacU9ByUDX0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=vfdcfvkfTOc:QacU9ByUDX0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/vfdcfvkfTOc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/5597002118150732508/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=5597002118150732508" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/5597002118150732508?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/5597002118150732508?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/vfdcfvkfTOc/enable-connection-pooling-in-spring.html" title="Enable connection pooling in Spring Datasource" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2010/07/enable-connection-pooling-in-spring.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEACSXk_fSp7ImA9WxFbFkU.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-8957168812866028343</id><published>2010-07-09T07:46:00.000-07:00</published><updated>2010-07-09T07:46:08.745-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-09T07:46:08.745-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="XML" /><title>Caused by: org.xml.sax.SAXException: unable to find FieldDescriptor for 'elementName' in ClassDescriptor of ParentElement</title><content type="html">I got an error similar to the title in the course of XML binding Castor. It happens when there is namespace declared in XML document just like&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;lt;country xmlns="http://pro-programmers.com/schema"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;city&amp;gt;London&amp;lt;/city&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;lt;/country&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
For the above XML document mapping was designed as&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;lt;mapping xmlns="http://castor.exolab.org"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;class name="com.proprogrammers.pojo.Country"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;map-to xml="country" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;field name="city" type="string"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;bind-xml name="city" node="element"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/field&amp;gt;        &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/class&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;lt;/mapping&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution&lt;/b&gt;: I declared namespace in binding xml element as below:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #666666;"&gt;&amp;lt;mapping xmlns="http://castor.exolab.org"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #666666;"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;class name="com.proprogrammers.pojo.Country"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #666666;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;map-to xml="country" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #666666;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;field name="city" type="string"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #666666;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;bind-xml name="city"&amp;nbsp;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;b&gt;xmlns="http://pro-programmers.com/schema"&lt;/b&gt;&lt;/span&gt; &amp;nbsp;node="element"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #666666;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/field&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #666666;"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/class&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #666666;"&gt;&amp;lt;/mapping&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
See more &lt;a href="http://www.castor.org/xml-faq.html#How-do-I-specify-a-namespace-in-the-mapping-file?"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-8957168812866028343?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=Bh59ZIUQxzc:iA0YhBzbocI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=Bh59ZIUQxzc:iA0YhBzbocI:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=Bh59ZIUQxzc:iA0YhBzbocI:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=Bh59ZIUQxzc:iA0YhBzbocI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=Bh59ZIUQxzc:iA0YhBzbocI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/Bh59ZIUQxzc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/8957168812866028343/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=8957168812866028343" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/8957168812866028343?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/8957168812866028343?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/Bh59ZIUQxzc/caused-by-orgxmlsaxsaxexception-unable.html" title="Caused by: org.xml.sax.SAXException: unable to find FieldDescriptor for 'elementName' in ClassDescriptor of ParentElement" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2010/07/caused-by-orgxmlsaxsaxexception-unable.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08CRnc8eSp7ImA9WxFUEko.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-1584906240567173174</id><published>2010-06-22T22:44:00.001-07:00</published><updated>2010-06-22T22:44:27.971-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-22T22:44:27.971-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="log" /><category scheme="http://www.blogger.com/atom/ns#" term="practice" /><title>Log File</title><content type="html">&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Application Log files should &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;roll over&lt;/strong&gt; daily or by size &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Manual/Scheduled process should be involved to &lt;strong&gt;archive&lt;/strong&gt; log files after a period (for instance every&amp;#160; month). It is necessary to set log file archiving procedure.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;analysable&lt;/strong&gt; &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;for number &lt;strong&gt;hits/requests&lt;/strong&gt; (even if the application is not web app, it should log how many times a module is called). We keep such log in a separate log file – say “access.log”.&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;performance&lt;/strong&gt; profiling - We use perf4j and log the performance in “performance.log” which can be enabled as needed.&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Database requests&lt;/strong&gt; - Not every developer can tell how many DB access application submit in a certain time or for a request. This is very helpful in optimising performance.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;follow industrial &lt;strong&gt;standard&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;such as &lt;strong&gt;Apache log format&lt;/strong&gt; so that it can be analysed with tools available (e.g; Web Log Expert)&lt;/li&gt;      &lt;li&gt;Even if the log file is not for web application, it may be formatted in Apache log format to be analysed with tool.&lt;/li&gt;      &lt;li&gt;Log file may be formatted in CSV sometimes.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;be Visible for &lt;strong&gt;Errors&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;We keep any application error in a separate log file, “error.log” which improves visibility and we have a monitor program to raise alarm if any given exception is thrown.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;include &lt;strong&gt;start-up&lt;/strong&gt; states&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;log file should have application restart time,&lt;/li&gt;      &lt;li&gt;which modules are running and which are not&lt;/li&gt;      &lt;li&gt;which configurations are used&lt;/li&gt;      &lt;li&gt;Operation/Production team who starts the system should be able to view the log clearly and should be fully aware of how application is started and how it will behave after start-up. &lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;be &lt;strong&gt;configurable&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;from INFO to DEBUG without restarting the system&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;be &lt;strong&gt;Compact&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;There were times when application server froze since there was no space left in the HDD. Developers log whatever the want and as a result log file is bloated with unnecessary statements. Apart from consuming storage space, bloated log file reduce the visibility.&lt;/li&gt;      &lt;li&gt;Code review should involve checking log statement.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Conceal &lt;/strong&gt;sensitive data&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Data like password or credit card number should never be in the log file.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;viewed by Log file &lt;strong&gt;monitoring tool&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;We use BareTail to monitor log file which is very good especially with large size file and searching log statement in regex&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;/li&gt;    &lt;li&gt;(This post will be updated as I can think of any standard for log file in our team…)&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-1584906240567173174?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=BX7wkQ6211c:LFW3SSYiX4k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=BX7wkQ6211c:LFW3SSYiX4k:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=BX7wkQ6211c:LFW3SSYiX4k:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=BX7wkQ6211c:LFW3SSYiX4k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=BX7wkQ6211c:LFW3SSYiX4k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/BX7wkQ6211c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/1584906240567173174/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=1584906240567173174" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/1584906240567173174?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/1584906240567173174?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/BX7wkQ6211c/log-file.html" title="Log File" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2010/06/log-file.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUHRXs8fyp7ImA9WxFUEks.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-3696857026279320109</id><published>2010-06-22T18:15:00.001-07:00</published><updated>2010-06-22T21:27:14.577-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-22T21:27:14.577-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="creditcard" /><title>Credit Card Track2 Data</title><content type="html">&lt;img src="http://docs.google.com/drawings/pub?id=1zTasmncxWK2HEFSOWZxqSTji9mSb7nuNHY3az1FWsF0&amp;amp;w=526&amp;amp;h=389" /&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-3696857026279320109?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=yMytKVS_Ax0:q9CZn5uhnvE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=yMytKVS_Ax0:q9CZn5uhnvE:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=yMytKVS_Ax0:q9CZn5uhnvE:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=yMytKVS_Ax0:q9CZn5uhnvE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=yMytKVS_Ax0:q9CZn5uhnvE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/yMytKVS_Ax0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/3696857026279320109/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=3696857026279320109" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/3696857026279320109?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/3696857026279320109?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/yMytKVS_Ax0/credit-card-track2-data.html" title="Credit Card Track2 Data" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2010/06/credit-card-track2-data.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EHQXg-eyp7ImA9WxFQEkw.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-3295613823221190420</id><published>2010-05-06T22:53:00.001-07:00</published><updated>2010-05-06T22:53:50.653-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-06T22:53:50.653-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="HTTP" /><category scheme="http://www.blogger.com/atom/ns#" term="Network Programming" /><title>Remove Transfer-Encoding:chunked from HTTP Response Header</title><content type="html">&lt;p&gt;Note From &lt;a href="http://en.wikipedia.org/wiki/Chunked_transfer_encoding" target="_blank"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Chunked Transfer Encoding is a mechanism that allows HTTP messages to be split in several parts. This can be applied to both HTTP requests (from client to server) and HTTP responses (from server to client). &lt;/p&gt;    &lt;p&gt;HTTP Chunked Transfer Encoding allows a server to maintain a HTTP persistent connection for dynamically generated content. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If HTTP Response has “&lt;strong&gt;Transfer-Encoding&lt;/strong&gt;” header, it causes client to wait for closing the connection. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Cause&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If there is no&amp;#160; &lt;strong&gt;“Content-Length”&lt;/strong&gt; is defined in HTTP response header, it will be &lt;em&gt;chunked&lt;/em&gt; transmission. HTTP Response must have either “Transfer-Encoding” or “Content-Length” attribute.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Define “Content-Length” attribute if it can be done.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-3295613823221190420?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=rFXbfFs__gk:2R6OmR2aUj0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=rFXbfFs__gk:2R6OmR2aUj0:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=rFXbfFs__gk:2R6OmR2aUj0:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=rFXbfFs__gk:2R6OmR2aUj0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=rFXbfFs__gk:2R6OmR2aUj0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/rFXbfFs__gk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/3295613823221190420/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=3295613823221190420" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/3295613823221190420?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/3295613823221190420?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/rFXbfFs__gk/remove-transfer-encodingchunked-from.html" title="Remove Transfer-Encoding:chunked from HTTP Response Header" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2010/05/remove-transfer-encodingchunked-from.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4BQ3k-cSp7ImA9WxFTF0o.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-7937703474471416895</id><published>2010-04-08T18:27:00.001-07:00</published><updated>2010-04-08T18:35:52.759-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-08T18:35:52.759-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="practice" /><category scheme="http://www.blogger.com/atom/ns#" term="Hibernate" /><title>HibernateSystemException: could not set a field value by reflection setter</title><content type="html">&lt;p&gt;The above error is caught when NULL value in a database column is attempted to set to a setter in an Entity bean whose attribute mapped to that column type is of primitive type.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="HibernateSystemException" border="0" alt="HibernateSystemException" src="http://lh6.ggpht.com/_LFzrs9y4Am8/S76CcBDjXGI/AAAAAAAADcg/uRQgMhPghPc/HibernateSystemException%5B10%5D.jpg?imgmax=800" width="493" height="170" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Never ever use primitive for attribute type in Entity Bean. &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Since Java 5, with a feature called “&lt;strong&gt;&lt;em&gt;Autoboxing&lt;/em&gt;&lt;/strong&gt;”, we can seamlessly treat wrapper as primitive type as below&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Integer deptId;     &lt;br /&gt;deptId = 5;       &lt;br /&gt;//deptId = new Integer(5);&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;int a;      &lt;br /&gt;a = deptId;      &lt;br /&gt;//a = deptId.intValue();&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Compiler will handle it.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-7937703474471416895?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=IDTegtjC5YM:Ib2HHgdVkLQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=IDTegtjC5YM:Ib2HHgdVkLQ:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=IDTegtjC5YM:Ib2HHgdVkLQ:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=IDTegtjC5YM:Ib2HHgdVkLQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=IDTegtjC5YM:Ib2HHgdVkLQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/IDTegtjC5YM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/7937703474471416895/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=7937703474471416895" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/7937703474471416895?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/7937703474471416895?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/IDTegtjC5YM/hibernatesystemexception-could-not-set.html" title="HibernateSystemException: could not set a field value by reflection setter" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_LFzrs9y4Am8/S76CcBDjXGI/AAAAAAAADcg/uRQgMhPghPc/s72-c/HibernateSystemException%5B10%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2010/04/hibernatesystemexception-could-not-set.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UGQHs4eyp7ImA9WxFTFkU.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-2404985737712279484</id><published>2010-04-06T19:28:00.001-07:00</published><updated>2010-04-07T17:07:01.533-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-07T17:07:01.533-07:00</app:edited><title>Preventing NullPointerException</title><content type="html">&lt;p&gt;We have several ways to avoid getting NullPointerException caught such as a method returning empty array or List rather than NULL as following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt; String[] getNames(){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;return new&lt;/font&gt; String[0];&lt;font color="#808080"&gt;//return null        &lt;br /&gt;&lt;/font&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This code will have the method caller in peace who can just write code without having to worry about NULL value something like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;for&lt;/font&gt;(String name:getNames()){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //Do Something       &lt;br /&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;But there could be a scenario where we want to have empty value different from NULL in return, for instance:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt; String getName(){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;return null;&lt;/font&gt;&lt;font color="#808080"&gt;        &lt;br /&gt;&lt;/font&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;For that reason, we can never assume that a method could not return NULL. Whether a method returns NULL or empty value should be described in Javadoc I believe. Consider this code:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;(person.getName().equals(&lt;font color="#ff8040"&gt;&amp;quot;John&amp;quot;&lt;/font&gt;)){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Do Something       &lt;br /&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The above code will give NullPointerException when getName() returns NULL and it should be written as below if we know that NULL can be returned.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt; (&lt;font color="#ff8040"&gt;&amp;quot;John&amp;quot;&lt;/font&gt;.equals(person.getName())){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //Do Something       &lt;br /&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The conditional clause above will yield false if getName() returns NULL. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-2404985737712279484?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=5FFxZqEVzyI:cAFGw8asWS8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=5FFxZqEVzyI:cAFGw8asWS8:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=5FFxZqEVzyI:cAFGw8asWS8:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=5FFxZqEVzyI:cAFGw8asWS8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=5FFxZqEVzyI:cAFGw8asWS8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/5FFxZqEVzyI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/2404985737712279484/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=2404985737712279484" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/2404985737712279484?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/2404985737712279484?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/5FFxZqEVzyI/preventing-nullpointerexception.html" title="Preventing NullPointerException" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2010/04/preventing-nullpointerexception.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8CQ30zcSp7ImA9WxBUFE0.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-473504335059066966</id><published>2010-02-28T16:53:00.001-08:00</published><updated>2010-02-28T16:54:22.389-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-28T16:54:22.389-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Bit" /><title>Zip Vs GZip</title><content type="html">&lt;table border="1" cellspacing="0" cellpadding="0" width="90%"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="50%"&gt;         &lt;p align="center"&gt;&lt;strong&gt;GZip&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p align="center"&gt;&lt;strong&gt;Zip&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;compresses single file              &lt;br /&gt;(can concatenate the contents to compress multiple files) &lt;/li&gt;            &lt;li&gt;ideal for only one data stream &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;compresses multiple files &lt;/li&gt;            &lt;li&gt;ideal for &lt;em&gt;archiving&lt;/em&gt; files &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;deflates the content &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;tries to choose which one will product the smallest output (Unix uses “deflate” algorithm) &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;Java classes: &lt;font face="Courier New"&gt;GZipOutputStream&lt;/font&gt;, &lt;font face="Courier New"&gt;GZipInputStream&lt;/font&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;Java classes: &lt;font face="Courier New"&gt;GZipOutputStream&lt;/font&gt;, &lt;font face="Courier New"&gt;GZipInputStream&lt;/font&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-473504335059066966?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=byYnlZmMpJ8:ebm5bEhDZr4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=byYnlZmMpJ8:ebm5bEhDZr4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=byYnlZmMpJ8:ebm5bEhDZr4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=byYnlZmMpJ8:ebm5bEhDZr4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=byYnlZmMpJ8:ebm5bEhDZr4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/byYnlZmMpJ8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/473504335059066966/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=473504335059066966" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/473504335059066966?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/473504335059066966?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/byYnlZmMpJ8/zip-vs-gzip.html" title="Zip Vs GZip" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2010/02/zip-vs-gzip.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAMRX4yeSp7ImA9WxNaEE4.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-5935792629775710024</id><published>2009-11-23T20:41:00.001-08:00</published><updated>2009-11-23T20:43:04.091-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-23T20:43:04.091-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><title>What is faster: System.currentTimeMillis() or new Date().getTime()?</title><content type="html">&lt;p&gt;For micro-optimisation or trivial memory utilization improvement, &lt;font face="Courier New"&gt;System.currentTimeMillis()&lt;/font&gt; is faster and better. The constructor in the &lt;font face="Courier New"&gt;Date&lt;/font&gt; class uses &lt;font face="Courier New"&gt;System.currentTimeMillis()&lt;/font&gt;. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt; Date() {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;this&lt;/font&gt;(&lt;em&gt;System.currentTimeMillis()&lt;/em&gt;);      &lt;br /&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Thus, just to get a long value for current time in millisecond, it’s good to use &lt;font face="Courier New"&gt;System.currentTimeMillis()&lt;/font&gt;.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;long&lt;/font&gt; start = &lt;em&gt;System.currentTimeMillis()&lt;/em&gt;;      &lt;br /&gt;&lt;font color="#808080"&gt;//process&lt;/font&gt;      &lt;br /&gt;&lt;font color="#0000ff"&gt;long&lt;/font&gt; elapsed = &lt;em&gt;System.currentTimeMillis()&lt;/em&gt; - start;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Above code saves garbage collector from cleaning up a couple of unnecessary Date objects. &lt;/p&gt;  &lt;p&gt;If you want more precision, use &lt;font face="Courier New"&gt;System.nanoTime()&lt;/font&gt; which returns the current value of the most precise available system timer, in nanoseconds. This is especially useful when the elapsed time is resulted as zero millisecond in the above code.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-5935792629775710024?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=t5zoIh1LfZU:qb8PK6ICZ6E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=t5zoIh1LfZU:qb8PK6ICZ6E:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=t5zoIh1LfZU:qb8PK6ICZ6E:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=t5zoIh1LfZU:qb8PK6ICZ6E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=t5zoIh1LfZU:qb8PK6ICZ6E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/t5zoIh1LfZU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/5935792629775710024/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=5935792629775710024" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/5935792629775710024?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/5935792629775710024?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/t5zoIh1LfZU/what-is-faster-systemcurrenttimemillis.html" title="What is faster: System.currentTimeMillis() or new Date().getTime()?" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2009/11/what-is-faster-systemcurrenttimemillis.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cERX4yeyp7ImA9WxNbFko.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-4293073557108549406</id><published>2009-11-19T15:56:00.001-08:00</published><updated>2009-11-19T15:56:44.093-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-19T15:56:44.093-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MS SQL" /><title>Database Diagram support object cannot be installed</title><content type="html">&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; When using &lt;em&gt;Microsoft SQL Server Management Studio&lt;/em&gt; to create database diagram, I got this error message:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_LFzrs9y4Am8/SwXbMPVQMNI/AAAAAAAADJo/k_0NNDPC0to/s1600-h/DBDiagram%5B7%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DBDiagram" border="0" alt="DBDiagram" src="http://lh3.ggpht.com/_LFzrs9y4Am8/SwXbOBrxlAI/AAAAAAAADJs/XxwiGlEw-CM/DBDiagram_thumb%5B3%5D.jpg?imgmax=800" width="644" height="150" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;: I run the following query:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;EXEC sp_dbcmptlevel &lt;em&gt;'DB_NAME'&lt;/em&gt;, '90';      &lt;br /&gt;go      &lt;br /&gt;ALTER AUTHORIZATION ON DATABASE::&lt;em&gt;DB_NAME&lt;/em&gt; TO &amp;quot;&lt;em&gt;LOGIN&lt;/em&gt;&amp;quot;      &lt;br /&gt;go      &lt;br /&gt;use [DB_NAME]      &lt;br /&gt;go      &lt;br /&gt;EXECUTE AS USER = N'dbo' REVERT      &lt;br /&gt;go&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;where DB_NAME and LOGIN are variable. In my case, &lt;em&gt;LOGIN&lt;/em&gt; is NT User name since I’m using Windows Login. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-4293073557108549406?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=6WW4VhY7L24:WS029soUHPI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=6WW4VhY7L24:WS029soUHPI:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=6WW4VhY7L24:WS029soUHPI:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=6WW4VhY7L24:WS029soUHPI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=6WW4VhY7L24:WS029soUHPI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/6WW4VhY7L24" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/4293073557108549406/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=4293073557108549406" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/4293073557108549406?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/4293073557108549406?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/6WW4VhY7L24/database-diagram-support-object-cannot.html" title="Database Diagram support object cannot be installed" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_LFzrs9y4Am8/SwXbOBrxlAI/AAAAAAAADJs/XxwiGlEw-CM/s72-c/DBDiagram_thumb%5B3%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2009/11/database-diagram-support-object-cannot.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEHQ386fip7ImA9WxNQFkU.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-6855976092810035753</id><published>2009-09-22T23:50:00.001-07:00</published><updated>2009-09-22T23:50:32.116-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-22T23:50:32.116-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Spring" /><title>Creating ThreadPool in Spring</title><content type="html">&lt;blockquote&gt;   &lt;p&gt;&amp;lt;bean id=&amp;quot;threadPoolExecutor&amp;quot; class=&amp;quot;java.util.concurrent.ThreadPoolExecutor&amp;quot; init-method=&amp;quot;prestartCoreThread&amp;quot;&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;constructor-arg index=&amp;quot;0&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;16&amp;quot;/&amp;gt;&amp;lt;!--Minimum Thread--&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;constructor-arg index=&amp;quot;1&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;256&amp;quot;/&amp;gt; &amp;lt;!--Maximum Thread--&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;constructor-arg index=&amp;quot;2&amp;quot; type=&amp;quot;long&amp;quot; value=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;!--Thread lifespan--&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;constructor-arg index=&amp;quot;3&amp;quot; type=&amp;quot;java.util.concurrent.TimeUnit&amp;quot; &amp;gt;&amp;lt;!--Time Unit--&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;bean class=&amp;quot;java.util.concurrent.TimeUnit&amp;quot; factory-method=&amp;quot;valueOf&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;constructor-arg&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;value&amp;gt;HOURS&amp;lt;/value&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/constructor-arg&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/bean&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/constructor-arg&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;constructor-arg index=&amp;quot;4&amp;quot; type=&amp;quot;java.util.concurrent.BlockingQueue&amp;quot;&amp;gt;&amp;lt;!--workQueue--&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;bean class=&amp;quot;java.util.concurrent.SynchronousQueue&amp;quot;/&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/constructor-arg&amp;gt;      &lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-6855976092810035753?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=HvSUGN92UQg:CqdjqfQuL3k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=HvSUGN92UQg:CqdjqfQuL3k:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=HvSUGN92UQg:CqdjqfQuL3k:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=HvSUGN92UQg:CqdjqfQuL3k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=HvSUGN92UQg:CqdjqfQuL3k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/HvSUGN92UQg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/6855976092810035753/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=6855976092810035753" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/6855976092810035753?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/6855976092810035753?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/HvSUGN92UQg/creating-threadpool-in-spring.html" title="Creating ThreadPool in Spring" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2009/09/creating-threadpool-in-spring.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8DQHw8eSp7ImA9WxJbEEg.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-3302725633301867266</id><published>2009-07-19T18:51:00.001-07:00</published><updated>2009-07-19T18:54:31.271-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-19T18:54:31.271-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JSP" /><title>[JSP] Include : Directive Vs Action</title><content type="html">&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_LFzrs9y4Am8/SmPNtRVjb5I/AAAAAAAAC-g/RGOFxvv2w_A/JSPInclude_thumb%5B1%5D.jpg?imgmax=800"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="JSPInclude" border="0" alt="JSPInclude" src="http://lh4.ggpht.com/_LFzrs9y4Am8/SmPNtRVjb5I/AAAAAAAAC-o/31vF13E5ZB4/JSPInclude_thumb%5B4%5D.jpg?imgmax=800" width="644" height="482" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-3302725633301867266?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=Af_aLvl-fJs:iQxh3JUucqk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=Af_aLvl-fJs:iQxh3JUucqk:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=Af_aLvl-fJs:iQxh3JUucqk:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=Af_aLvl-fJs:iQxh3JUucqk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=Af_aLvl-fJs:iQxh3JUucqk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/Af_aLvl-fJs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/3302725633301867266/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=3302725633301867266" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/3302725633301867266?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/3302725633301867266?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/Af_aLvl-fJs/jsp-include-directive-vs-action.html" title="[JSP] Include : Directive Vs Action" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_LFzrs9y4Am8/SmPNtRVjb5I/AAAAAAAAC-o/31vF13E5ZB4/s72-c/JSPInclude_thumb%5B4%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2009/07/jsp-include-directive-vs-action.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEERHw9cCp7ImA9WxJVFUQ.&quot;"><id>tag:blogger.com,1999:blog-4772643796095616039.post-4508765688251609483</id><published>2009-07-02T19:11:00.001-07:00</published><updated>2009-07-02T22:23:25.268-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-02T22:23:25.268-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><title>[JMeter] – Max Threads with Rump up and Loop Count</title><content type="html">&lt;h2&gt;Synopsis &lt;/h2&gt;  &lt;p&gt;Wish to simulate a test plan with, say, 3000 or 4000 threads per minute.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_LFzrs9y4Am8/Sk1ooYCARoI/AAAAAAAAC9Q/CYhYxBdF-PY/s1600-h/Threads%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Threads" border="0" alt="Threads" src="http://lh5.ggpht.com/_LFzrs9y4Am8/Sk1opUf-LjI/AAAAAAAAC9U/Brini4jqAjA/Threads_thumb%5B1%5D.jpg?imgmax=800" width="378" height="148" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So JMeter is set up as above.&lt;/p&gt;  &lt;h2&gt;Problem&lt;/h2&gt;  &lt;p&gt;Every time it is run, JMeter stops at around 2500 threads. It looks like JMeter has max thread count.&lt;/p&gt;  &lt;h2&gt;Causes&lt;/h2&gt;  &lt;p&gt;JMeter does not have thread limit but &lt;u&gt;JMeter creates all the thread (4000 in this case) up-front before it starts running the first thread&lt;/u&gt;. When it attempts to create 4000 thread, &lt;u&gt;System (OS) might not allow to create that high number of thread&lt;/u&gt;. JMeter creates as much as it is allowed and that’s the reason JMeter stops at around 2500 threads. &lt;/p&gt;  &lt;p&gt;In fact JMeter run all the threads it has created; it just couldn’t create the number of threads specified. Number of max thread JMeter can created can be checked with JConsole monitor at the execution time.&lt;/p&gt;  &lt;h2&gt;Practice&lt;/h2&gt;  &lt;p&gt;Use Loop count instead rather than using high number of threads. &lt;/p&gt;  &lt;h2&gt;Solution&lt;/h2&gt;  &lt;p&gt;To achieve the same requirement it is configured like following:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_LFzrs9y4Am8/Sk1oqejsXDI/AAAAAAAAC9Y/T70ihiepCj0/s1600-h/Threads2%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Threads2" border="0" alt="Threads2" src="http://lh4.ggpht.com/_LFzrs9y4Am8/Sk1oradJ58I/AAAAAAAAC9c/kNgvS3c-TBE/Threads2_thumb%5B1%5D.jpg?imgmax=800" width="424" height="144" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;That will allow us to send 400 requests in 6 seconds and will repeat for 10 times and 4000 request will be sent after a minute.&lt;/p&gt;  &lt;h2&gt;Catch&lt;/h2&gt;  &lt;p&gt;If we simulate high number of hits with Loop count, requests are not distributed evenly across the Ramp-up time. &lt;/p&gt;  &lt;p&gt;Following result is from the test plan configured as :    &lt;br /&gt;Number of Threads = 6     &lt;br /&gt;Ramp-Up in sec = 60     &lt;br /&gt;Loop Count = 5     &lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_LFzrs9y4Am8/Sk1osTAIcII/AAAAAAAAC9g/tj6MddnktPs/s1600-h/Threads3%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Threads3" border="0" alt="Threads3" src="http://lh5.ggpht.com/_LFzrs9y4Am8/Sk1ot88QQUI/AAAAAAAAC9k/m9ZnvMqthdY/Threads3_thumb%5B1%5D.jpg?imgmax=800" width="311" height="502" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Following result is from the test plan configured as :    &lt;br /&gt;Number of Threads = 30     &lt;br /&gt;Ramp-Up in sec = 60     &lt;br /&gt;Loop Count = 1&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_LFzrs9y4Am8/Sk1ovwdcQTI/AAAAAAAAC9o/HOjfx6hrbqY/s1600-h/Threads4%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Threads4" border="0" alt="Threads4" src="http://lh5.ggpht.com/_LFzrs9y4Am8/Sk1oxQraayI/AAAAAAAAC9s/RUGSlNFmoBs/Threads4_thumb%5B1%5D.jpg?imgmax=800" width="333" height="502" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This illustration can help us clearly see how 30 requests are distributed in a minute.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_LFzrs9y4Am8/Sk1pLATs0-I/AAAAAAAAC94/ZKW0xnfuYaU/s1600-h/Threads5%5B11%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Threads5" border="0" alt="Threads5" src="http://lh4.ggpht.com/_LFzrs9y4Am8/Sk1pMamZufI/AAAAAAAAC98/R30to7Q6eUo/Threads5_thumb%5B5%5D.jpg?imgmax=800" width="553" height="433" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Final Solutions&lt;/h2&gt;  &lt;p&gt;If we want to simulate high number of test cases (samples) then it is better we use &lt;a href="http://jakarta.apache.org/jmeter/usermanual/test_plan.html#timers" target="_blank"&gt;Constant throughput Time&lt;/a&gt; or some other type of Timer which allow us to simulate, for instance, 6000 hits per minute for the whole day by creating only one thread. How? Find out yourself.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4772643796095616039-4508765688251609483?l=pro-programmers.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=4pTCJ3kVO2U:MzzxqDM3eE8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=4pTCJ3kVO2U:MzzxqDM3eE8:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=4pTCJ3kVO2U:MzzxqDM3eE8:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ProProgrammers?a=4pTCJ3kVO2U:MzzxqDM3eE8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ProProgrammers?i=4pTCJ3kVO2U:MzzxqDM3eE8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProProgrammers/~4/4pTCJ3kVO2U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pro-programmers.blogspot.com/feeds/4508765688251609483/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4772643796095616039&amp;postID=4508765688251609483" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/4508765688251609483?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4772643796095616039/posts/default/4508765688251609483?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProProgrammers/~3/4pTCJ3kVO2U/jmeter-max-threads-with-rump-up-and.html" title="[JMeter] – Max Threads with Rump up and Loop Count" /><author><name>Andy Myint</name><uri>http://www.blogger.com/profile/04441850183513599266</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_LFzrs9y4Am8/SM-Adwc-f6I/AAAAAAAACFk/X-gmHK525s4/S220/WeSheMeFamily.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_LFzrs9y4Am8/Sk1opUf-LjI/AAAAAAAAC9U/Brini4jqAjA/s72-c/Threads_thumb%5B1%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://pro-programmers.blogspot.com/2009/07/jmeter-max-threads-with-rump-up-and.html</feedburner:origLink></entry></feed>

