<?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;A0ADQXwyfip7ImA9WhRUFks.&quot;"><id>tag:blogger.com,1999:blog-26670725</id><updated>2012-01-27T21:09:30.296+08:00</updated><category term="logging" /><category term="jdbc" /><category term="java 5" /><category term="green_ui" /><category term="web" /><category term="bug" /><category term="apple" /><category term="as3" /><category term="profiler" /><category term="blogspot" /><category term="competitor" /><category term="junit" /><category term="gwt" /><category term="tomcat" /><category term="gadget" /><category term="net beans" /><category term="blazeds" /><category term="test" /><category term="iphone" /><category term="testng" /><category term="guice" /><category term="plugin" /><category term="spring" /><category term="klocwork" /><category term="sun" /><category term="performance" /><category term="eclipse" /><category term="actionscript" /><category term="solaris" /><category term="flex_4" /><category term="database" /><category term="facebook" /><category term="vs" /><category term="hack" /><category term="hibernate" /><category term="ant" /><category term="air" /><category term="java" /><category term="security" /><category term="memory" /><category term="links" /><category term="flex" /><category term="tip" /><category term="java 6" /><category term="blogger" /><category term="unix" /><category term="rival" /><category term="microsoft" /><category term="fix" /><category term="fun" /><category term="framework" /><category term="informix" /><category term="google" /><title>Something About J</title><subtitle type="html">A simple blog about Java, Web and their related technologies.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://abtj.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://abtj.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>37</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/AboutJ" /><feedburner:info uri="aboutj" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DUEER3c9eyp7ImA9WhZbEUk.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-7592319534486124185</id><published>2011-06-15T22:20:00.000+08:00</published><updated>2011-06-15T22:20:06.963+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-15T22:20:06.963+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex" /><category scheme="http://www.blogger.com/atom/ns#" term="spring" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title>How to create a custom Spring LoginMessageInterceptor?</title><content type="html">&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px;"&gt;&lt;div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; clear: both; font-size: 14px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;From&amp;nbsp;&lt;a href="http://static.springsource.org/spring-flex/docs/1.5.x/reference/html/index.html#message-interceptors" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Spring-Flex reference&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://static.springsource.org/spring-flex/docs/1.5.x/javadoc-api/org/springframework/flex/security3/LoginMessageInterceptor.html#getAuthenticationResult%28%29" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Spring Flex Javadoc&lt;/a&gt;, have your class implements MessageInterceptor or override the default class provided by Spring, register it with desired&amp;nbsp;&lt;strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;position&lt;/strong&gt;&amp;nbsp;attribute of the&amp;nbsp;&lt;strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;message-interceptor&lt;/strong&gt;&amp;nbsp;configuration tag. Example for my case:&lt;/div&gt;&lt;pre class="default prettyprint" style="background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; max-height: 600px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; vertical-align: baseline; width: auto;"&gt;&lt;code style="background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;span class="tag" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: maroon; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&amp;lt;bean&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span class="atn" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: red; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;id&lt;/span&gt;&lt;span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;=&lt;/span&gt;&lt;span class="atv" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: blue; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;"myMessageInterceptor"&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span class="atn" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: red; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;class&lt;/span&gt;&lt;span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;=&lt;/span&gt;&lt;span class="atv" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: blue; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;"my.mimos.kec.ooes.security.LoginMessageInterceptor"&lt;/span&gt;&lt;span class="tag" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: maroon; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
&lt;/span&gt;&lt;span class="tag" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: maroon; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&amp;lt;flex:message-broker&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span class="atn" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: red; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;mapping-order&lt;/span&gt;&lt;span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;=&lt;/span&gt;&lt;span class="atv" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: blue; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;"1"&lt;/span&gt;&lt;span class="tag" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: maroon; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&amp;gt;&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: maroon; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&amp;lt;flex:message-interceptor&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span class="atn" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: red; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;position&lt;/span&gt;&lt;span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;=&lt;/span&gt;&lt;span class="atv" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: blue; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;"LOGIN_MESSAGE_INTERCEPTOR"&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span class="atn" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: red; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;ref&lt;/span&gt;&lt;span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;=&lt;/span&gt;&lt;span class="atv" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: blue; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;"myMessageInterceptor"&lt;/span&gt;&lt;span class="tag" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: maroon; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: maroon; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&amp;lt;flex:mapping&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span class="atn" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: red; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;pattern&lt;/span&gt;&lt;span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;=&lt;/span&gt;&lt;span class="atv" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: blue; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;"/messagebroker/*"&lt;/span&gt;&lt;span class="tag" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: maroon; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: maroon; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&amp;lt;flex:message-service&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: red; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;default-channels&lt;/span&gt;&lt;span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;=&lt;/span&gt;&lt;span class="atv" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: blue; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;"my-streaming-amf,my-longpolling-amf,my-polling-amf"&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span class="tag" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: maroon; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: maroon; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&amp;lt;flex:secured&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span class="tag" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: maroon; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
&lt;/span&gt;&lt;span class="tag" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: maroon; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&amp;lt;/flex:message-broker&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-7592319534486124185?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/WhD0Bp8tLT4" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=7592319534486124185" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/7592319534486124185?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/7592319534486124185?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/WhD0Bp8tLT4/how-to-create-custom-spring.html" title="How to create a custom Spring LoginMessageInterceptor?" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>5</thr:total><feedburner:origLink>http://abtj.blogspot.com/2011/06/how-to-create-custom-spring.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQHR3s6fCp7ImA9WhZWGEw.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-8562872598785775435</id><published>2011-05-19T21:05:00.000+08:00</published><updated>2011-05-19T21:05:36.514+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-19T21:05:36.514+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex" /><category scheme="http://www.blogger.com/atom/ns#" term="as3" /><category scheme="http://www.blogger.com/atom/ns#" term="blazeds" /><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><title>FlashDevelop and Dynamic RemoteObject Endpoint in ActionScript 3</title><content type="html">If you are using FlashDevelop with RemoteObject, you may need to hardcode endpoint in your code but this make the compiled binary SWF not portable. What you can do is:&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;At Project =&amp;gt; Properties =&amp;gt; Compiler Options =&amp;gt; Additional Compiler Options, add:&lt;/div&gt;&lt;blockquote&gt;-context-root &amp;lt;your_context&amp;gt;&lt;br /&gt;
-services &amp;lt;full_path_of_your_services-config.xml&amp;gt;&lt;/blockquote&gt;At Project =&amp;gt; Properties =&amp;gt; Output =&amp;gt; Output file, set it to the path our your &amp;lt;tomcat&amp;gt;/webapps/&amp;lt;your_context&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At Project =&amp;gt; Properties =&amp;gt;&amp;nbsp;Test Movie, choose Run custom Command, Edit to http://&amp;lt;your_host&amp;gt;:&amp;lt;your_port&amp;gt;/&amp;lt;your_context&amp;gt;/&amp;lt;your_swf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At code:&lt;br /&gt;
&lt;blockquote&gt;var ro:RemoteObject = new RemoteObject();&lt;br /&gt;
var cs:ChannelSet = new ChannelSet();&lt;br /&gt;
var customChannel:Channel = ServerConfig.getChannel("my-amf");&lt;br /&gt;
cs.addChannel(customChannel);&lt;br /&gt;
ro.channelSet = cs;&lt;br /&gt;
ro.destination = "your_service_name";&lt;/blockquote&gt;&lt;br /&gt;
Start your Tomcat, then build and run your project in FlashDevelop. Your remote object should be able to be invoked successfully. Let me know if you have other easier way.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-8562872598785775435?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/ycGH_yAmf0E" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=8562872598785775435" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/8562872598785775435?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/8562872598785775435?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/ycGH_yAmf0E/flashdevelop-and-dynamic-remoteobject.html" title="FlashDevelop and Dynamic RemoteObject Endpoint in ActionScript 3" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2011/05/flashdevelop-and-dynamic-remoteobject.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QDQH46fyp7ImA9Wx9bEEo.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-2810106365716750901</id><published>2011-02-17T22:10:00.001+08:00</published><updated>2011-02-19T08:29:31.017+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-19T08:29:31.017+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex" /><category scheme="http://www.blogger.com/atom/ns#" term="as3" /><category scheme="http://www.blogger.com/atom/ns#" term="framework" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="air" /><title>Robotlegs Study Guide / Getting Started Tutorial</title><content type="html">My current project&amp;nbsp;will use  &lt;a href="http://www.robotlegs.org/"&gt;Robotlegs&lt;/a&gt;&amp;nbsp;Model-View-Controller + Service (MVCS) as design architecture, thus I have created this study guide for my team members, and I think is good to be shared here.&lt;br /&gt;
&lt;div&gt;&lt;div class="ExternalClassCB530C42B6B54AFDB34609DA98C14A09"&gt;&lt;/div&gt;&lt;div class="ExternalClassCB530C42B6B54AFDB34609DA98C14A09"&gt;&lt;u&gt;Study Guides (&lt;span style="color: red;"&gt;*&lt;/span&gt; indicates important)&lt;/u&gt;&lt;/div&gt;&lt;div class="ExternalClassCB530C42B6B54AFDB34609DA98C14A09"&gt;&lt;ul&gt;&lt;li&gt;Tutorial  &lt;ul&gt;&lt;li&gt;&lt;span style="color: red;"&gt;*&lt;/span&gt;&amp;nbsp;&lt;a href="http://www.developria.com/2010/06/an-introduction-to-robotlegs-a.html"&gt;Basic  01&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;Context and Mediators&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: red;"&gt;*&lt;/span&gt;&amp;nbsp;&lt;a href="http://www.developria.com/2010/06/an-introduction-to-robotlegs-a-1.html"&gt;Basic  02&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;Models&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: red;"&gt;*&lt;/span&gt;&amp;nbsp;&lt;a href="http://www.developria.com/2010/06/an-introduction-to-robotlegs-a-2.html"&gt;Basic  03&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;Services&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: red;"&gt;*&lt;/span&gt; &lt;a href="http://joelhooks.com/2010/05/02/modular-robotlegs/"&gt;Modular&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Class Diagram  &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.robotlegs.org/diagram/"&gt;01&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href="http://314bits.com/blog/wp-content/uploads/robotlegs-diagram-by-abe.png"&gt;02&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Slides  &lt;ul&gt;&lt;li&gt;Basic &lt;a href="http://www.slideshare.net/rumblingskies/robotlegs-introduction?from=ss_embed"&gt;01&lt;/a&gt;,   &lt;/li&gt;
&lt;li&gt;Intermediate &lt;a href="http://www.slideshare.net/joelhooks/fatc-2010"&gt;01&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="color: red;"&gt;*&lt;/span&gt; Summary is in this &lt;a href="http://blog.grifo.tv/downloads/robotlegs.pdf"&gt;reference  card&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Examples  &lt;ul&gt;&lt;li&gt;&lt;a href="https://github.com/robotlegs/robotlegs-demos-Bundle"&gt;Demos&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;Skip AcmeWidgetFactory, it is outdated as does not use modular  utilities.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: red;"&gt;* &lt;/span&gt;Modular &lt;a href="https://github.com/awassenaar/robotlegs-examples-dynmodules"&gt;01&lt;/a&gt;&amp;nbsp;(with  Flex Module)  &lt;/li&gt;
&lt;li&gt;&lt;span style="color: red;"&gt;*&lt;/span&gt;&amp;nbsp;Intermediate &lt;u&gt;&lt;span style="color: #0066cc;"&gt;01&lt;/span&gt;&lt;/u&gt;,&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-2810106365716750901?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/RaFvKfIYRb8" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=2810106365716750901" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/2810106365716750901?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/2810106365716750901?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/RaFvKfIYRb8/robotlegs-study-guide.html" title="Robotlegs Study Guide / Getting Started Tutorial" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2011/02/robotlegs-study-guide.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YMQHY4cCp7ImA9Wx9XE08.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-2720762704542250928</id><published>2011-01-06T22:46:00.000+08:00</published><updated>2011-01-06T22:46:21.838+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-06T22:46:21.838+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hibernate" /><category scheme="http://www.blogger.com/atom/ns#" term="gwt" /><category scheme="http://www.blogger.com/atom/ns#" term="fix" /><title>Gilead, GWT, GWT-Dispatch and SerializationException</title><content type="html">If you ever saw error like the below when you try to integrate Gilead, GWT, GWT-Dispatch with OneToMany relationship:&lt;br /&gt;
&lt;blockquote&gt;com.google.gwt.user.client.rpc.SerializationException: Type 'org.hibernate.collection.PersistentSet' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded&lt;/blockquote&gt;&amp;nbsp;Ensure your class that implements net.customware.gwt.dispatch.shared.Result has BOTH setter and getter for fields that you want to return, not just add setter and getter for your domain/model object only.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-2720762704542250928?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/84tHdkcOvHc" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=2720762704542250928" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/2720762704542250928?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/2720762704542250928?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/84tHdkcOvHc/gilead-gwt-gwt-dispatch-and.html" title="Gilead, GWT, GWT-Dispatch and SerializationException" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2011/01/gilead-gwt-gwt-dispatch-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMFQn47cCp7ImA9Wx9SF0o.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-6130292514322608540</id><published>2010-12-08T09:56:00.000+08:00</published><updated>2010-12-08T09:56:53.008+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-08T09:56:53.008+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gwt" /><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><title>(Solved) IncompatibleRemoteServiceException Error</title><content type="html">&lt;div&gt;If you ever face&amp;nbsp;IncompatibleRemoteServiceException Error, e.g.&lt;/div&gt;&lt;blockquote&gt;com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException: This application is out of date, please click the refresh button on your browser. ( Expecting version 6 from server, got 5.)&lt;/blockquote&gt;&lt;br /&gt;
This is due to your&amp;nbsp;gwt-servlet.jar at&amp;nbsp;WEB-INF\lib has different version than your GWT SDK version (e.g. after migrating to newer GWT version or importing others' project). The solution is to replace the&amp;nbsp;gwt-servlet.jar that come with your SDK.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-6130292514322608540?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/cL3hJbV7tJs" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=6130292514322608540" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/6130292514322608540?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/6130292514322608540?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/cL3hJbV7tJs/solved-incompatibleremoteserviceexcepti.html" title="(Solved) IncompatibleRemoteServiceException Error" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://abtj.blogspot.com/2010/12/solved-incompatibleremoteserviceexcepti.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUGRns7fip7ImA9WxFUGUo.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-4569967351344605293</id><published>2010-07-01T15:08:00.001+08:00</published><updated>2010-07-01T17:23:47.506+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-01T17:23:47.506+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex" /><category scheme="http://www.blogger.com/atom/ns#" term="flex_4" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="fix" /><title>Away3D, Flint Particle System and Flash Player 10</title><content type="html">If your Flex/ActionScript project have used Away3D,&amp;nbsp;Flint Particle System with Flash Player 10 and you have the below compilation error.&lt;br /&gt;
&lt;blockquote&gt;1046: Type was not found or was not a compile-time constant: Matrix3D&lt;/blockquote&gt;Try to remove Flint3d.swc from your project, download, include Flint library source and update (find and replace all) org.flintparticles.threeD.away3d.utils.Convert class from&lt;br /&gt;
&lt;blockquote&gt;away3d.core.math.Matrix3D&lt;/blockquote&gt;to&lt;br /&gt;
&lt;blockquote&gt;away3d.core.math.MatrixAway3D&lt;/blockquote&gt;This should solve you problem. This is due to Away3D have changed Matrix3D to&amp;nbsp;MatrixAway3D for Flash Player 10.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-4569967351344605293?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/nAhRxCbiNTA" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=4569967351344605293" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/4569967351344605293?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/4569967351344605293?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/nAhRxCbiNTA/away3d-flint-particle-system-and-flash.html" title="Away3D, Flint Particle System and Flash Player 10" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2010/07/away3d-flint-particle-system-and-flash.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYDQH8zeCp7ImA9WxFUEk0.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-6620245114378435797</id><published>2010-06-22T17:42:00.001+08:00</published><updated>2010-06-22T18:39:31.180+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-22T18:39:31.180+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex" /><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term="flex_4" /><category scheme="http://www.blogger.com/atom/ns#" term="air" /><category scheme="http://www.blogger.com/atom/ns#" term="fix" /><title>Upgrade From AIR 2 Beta to AIR 2 Official, Application Stop Working</title><content type="html">In case, you have just upgraded&amp;nbsp;AIR 2 Beta (Beta 1, Beta 2 etc) to&amp;nbsp;AIR 2 Official (currently 2.0.2), it seems like you can't launch/start/invoke your AIR application from Flex Builder/Flash Builder (launch has no response) even there is no error, remember to check your application xml (eg main-app.xml), ensure namespace is point to 2.0 and not Beta.&lt;br /&gt;
&lt;br /&gt;
From&lt;br /&gt;
&lt;blockquote&gt;&amp;lt;application xmlns="http://ns.adobe.com/air/application/2.0&lt;span class="Apple-style-span" style="color: red;"&gt;Beta2&lt;/span&gt;"&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;
To&lt;br /&gt;
&lt;blockquote&gt;&amp;lt;application xmlns="http://ns.adobe.com/air/application/2.0"&amp;gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-6620245114378435797?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/9OIe3jguTC8" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=6620245114378435797" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/6620245114378435797?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/6620245114378435797?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/9OIe3jguTC8/upgrade-from-air-2-beta-to-air-2.html" title="Upgrade From AIR 2 Beta to AIR 2 Official, Application Stop Working" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://abtj.blogspot.com/2010/06/upgrade-from-air-2-beta-to-air-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4DQXgzcCp7ImA9WxFQFEU.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-8499108065508057683</id><published>2010-05-10T18:39:00.000+08:00</published><updated>2010-05-10T18:39:30.688+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-10T18:39:30.688+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex" /><category scheme="http://www.blogger.com/atom/ns#" term="as3" /><category scheme="http://www.blogger.com/atom/ns#" term="flex_4" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><title>mx.core.WindowedApplication, mx.core.Window and theme(s) 'halo'</title><content type="html">If you ever face below errors after you upgraded to Flex SDK 4&lt;br /&gt;
&lt;blockquote&gt;The style 'backgroundGradientAlphas' is only supported by type 'mx.core.WindowedApplication' with the theme(s) 'halo'.&lt;br /&gt;
The style 'backgroundGradientColors' is only supported by type 'mx.core.WindowedApplication' with the theme(s) 'halo'.&lt;br /&gt;
The style 'dropShadowColor' is only supported by type 'mx.core.Window' with the theme(s) 'halo'.&lt;br /&gt;
The style 'dropShadowEnabled' is only supported by type 'mx.core.Window' with the theme(s) 'halo'.&lt;br /&gt;
The style 'themeColor' is only supported by type 'mx.containers.VBox' with the theme(s) 'halo'.&lt;/blockquote&gt;The solution is to add&lt;br /&gt;
&lt;blockquote&gt;-theme=${flexlib}/themes/Halo/halo.swc&lt;/blockquote&gt;at your additional compiler arguments.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-8499108065508057683?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/jbonHfa92Qk" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=8499108065508057683" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/8499108065508057683?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/8499108065508057683?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/jbonHfa92Qk/mxcorewindowedapplication-mxcorewindow.html" title="mx.core.WindowedApplication, mx.core.Window and theme(s) 'halo'" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>5</thr:total><feedburner:origLink>http://abtj.blogspot.com/2010/05/mxcorewindowedapplication-mxcorewindow.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMHSHo-cSp7ImA9WxNTF0s.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-6512998913921571899</id><published>2009-08-20T18:17:00.000+08:00</published><updated>2009-08-20T18:17:19.459+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-20T18:17:19.459+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="bug" /><title>Shutdown Hook and Eclipse</title><content type="html">If you would like to get shutdown hook to execute on a process launched from Eclipse, by clicking the red stop button, it won't be called. Here is the reported &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38016"&gt;Eclipse bug&lt;/a&gt;, which is opened since 2003-05-23, and the Resolution is WONTFIX. :)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-6512998913921571899?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/FMP_v-_8cdY" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=6512998913921571899" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/6512998913921571899?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/6512998913921571899?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/FMP_v-_8cdY/shutdown-hook-and-eclipse.html" title="Shutdown Hook and Eclipse" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://abtj.blogspot.com/2009/08/shutdown-hook-and-eclipse.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUFR3gyfSp7ImA9WxJbF0Q.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-7733636302451845555</id><published>2009-07-28T17:35:00.005+08:00</published><updated>2009-07-28T23:50:16.695+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-28T23:50:16.695+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="web" /><category scheme="http://www.blogger.com/atom/ns#" term="tomcat" /><title>How to Add/Deploy WAR file into Eclipse Tomcat Server</title><content type="html">In some scenario, you wish to deploy a default web application into Eclipse Tomcat which is not part of your project, you may just add the war file into the below directory:&lt;br /&gt;&lt;br /&gt;   &lt;your&gt;%your_workspace%\.metadata\.plugins\org.eclipse.wst.server.core\tmp&lt;x&gt;X\webapps&lt;br /&gt;&lt;br /&gt;where tmpX could be tmp0, tmp1 etc&lt;br /&gt;&lt;br /&gt;&lt;/x&gt;&lt;/your&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-7733636302451845555?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/FfpAmzupzYY" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=7733636302451845555" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/7733636302451845555?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/7733636302451845555?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/FfpAmzupzYY/how-to-adddeploy-war-file-into-eclipse.html" title="How to Add/Deploy WAR file into Eclipse Tomcat Server" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>6</thr:total><feedburner:origLink>http://abtj.blogspot.com/2009/07/how-to-adddeploy-war-file-into-eclipse.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcGRX4yfCp7ImA9WxVVF0g.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-3851668664736917149</id><published>2009-03-11T15:29:00.002+08:00</published><updated>2009-03-11T15:37:04.094+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-11T15:37:04.094+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="sun" /><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term="unix" /><category scheme="http://www.blogger.com/atom/ns#" term="solaris" /><title>Why My Java Program Shows Wrong Timestamp?</title><content type="html">It may due to you set up time zone wrongly if you are in Solaris or Unix machine. For the below example, if you use GMT[+/-] format instead of City or a valid timzone name, you will got wrong timestamp. Refer to my previous post about how to set &lt;a href="http://abtj.blogspot.com/2009/03/how-to-set-time-zone-tz-correctly-in.html"&gt;TZ&lt;/a&gt; correctly.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;fwsst36 scadm$ echo $TZ;date;date -u;java DateUtils&lt;br /&gt;CST6CDT&lt;br /&gt;Tue Mar 10 03:53:35 CDT 2009&lt;br /&gt;Tue Mar 10 08:53:35 GMT 2009&lt;br /&gt;Tue Mar 10 03:53:35 CDT 2009&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;fwsst36 scadm$ echo $TZ;date;date -u;java DateUtils&lt;br /&gt;Asia/Jakarta&lt;br /&gt;Tue Mar 10 15:54:05 WIT 2009&lt;br /&gt;Tue Mar 10 08:54:05 GMT 2009&lt;br /&gt;Tue Mar 10 15:54:05 WIT 2009&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;fwsst36 scadm$ echo $TZ;date;date -u;java DateUtils&lt;br /&gt;GMT-7&lt;br /&gt;Tue Mar 10 15:54:26 &lt;span style="color:#ff0000;"&gt;GMT&lt;/span&gt; 2009&lt;br /&gt;Tue Mar 10 08:54:26 GMT 2009&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Tue Mar 10 01:54:26&lt;/span&gt; GMT-07:00 2009&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;(This is wrong)&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-3851668664736917149?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/PiEObh8S-DM" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=3851668664736917149" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/3851668664736917149?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/3851668664736917149?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/PiEObh8S-DM/why-my-java-program-shows-wrong.html" title="Why My Java Program Shows Wrong Timestamp?" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2009/03/why-my-java-program-shows-wrong.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcESH08eyp7ImA9WxFQFEU.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-7953367325912617378</id><published>2009-03-11T15:14:00.005+08:00</published><updated>2010-05-10T18:40:09.373+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-10T18:40:09.373+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sun" /><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term="unix" /><category scheme="http://www.blogger.com/atom/ns#" term="solaris" /><title>How To Set Time Zone (TZ) Correctly in a Unix/Solaris System?</title><content type="html">First, check your environ manual:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&amp;gt; man -s5 environ&lt;br /&gt;
...&lt;br /&gt;
TZ&lt;br /&gt;
&lt;br /&gt;
Timezone information. The contents of this environment&lt;br /&gt;
variable are used by the functions ctime(3C),&lt;br /&gt;
localtime(3C), strftime(3C), and mktime(3C) to override&lt;br /&gt;
the default timezone. The value of TZ has one of the two&lt;br /&gt;
formats (spaces inserted for clarity):&lt;br /&gt;
&lt;br /&gt;
:characters&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
std offset dst offset, rule&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: red;"&gt;If TZ is of the first format (that is, if the first&lt;br /&gt;
character is a colon (:)), or if TZ is not of the second&lt;br /&gt;
format, then TZ designates a path to a timezone database&lt;br /&gt;
file relative to /usr/share/lib/zoneinfo/&lt;/span&gt;, ignoring a&lt;br /&gt;
leading colon if one exists.&lt;br /&gt;
...&lt;/blockquote&gt;&lt;br /&gt;
Second, check is your city is under /usr/share/lib/zoneinfo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;csdbld03: zoneinfo&amp;gt; find . -name Kuala_Lumpur&lt;br /&gt;
./Asia/Kuala_Lumpur&lt;/blockquote&gt;&lt;br /&gt;
Third, update TZ at your /etc/TIMEZONE. Example TZ=Asia/Kuala_Lumpur.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Avoid&lt;/strong&gt; to use GMT[+/-] format as it is obsolete.&lt;br /&gt;
&lt;blockquote&gt;&amp;gt; cat /usr/share/lib/zoneinfo/src/README&lt;br /&gt;
...&lt;br /&gt;
&lt;span style="color: red;"&gt;The following files have been removed from the release:&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT-12&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT-11&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT-10&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT-9&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT-8&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT-7&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT-6&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT-5&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT-4&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT-3&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT-2&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT-1&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT+1&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT+2&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT+3&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT+4&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT+5&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT+6&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT+7&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT+8&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT+9&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT+10&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT+11&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT+12&lt;br /&gt;
/usr/share/lib/zoneinfo/GMT+13&lt;br /&gt;
...&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-7953367325912617378?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/UvkvE6py9Uw" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=7953367325912617378" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/7953367325912617378?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/7953367325912617378?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/UvkvE6py9Uw/how-to-set-time-zone-tz-correctly-in.html" title="How To Set Time Zone (TZ) Correctly in a Unix/Solaris System?" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2009/03/how-to-set-time-zone-tz-correctly-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4FRH49fSp7ImA9WxVWE0o.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-7243399593121580654</id><published>2009-02-23T16:45:00.002+08:00</published><updated>2009-02-23T16:48:35.065+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-23T16:48:35.065+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term="informix" /><category scheme="http://www.blogger.com/atom/ns#" term="database" /><title>How to solve error "Informix -567: Cannot write sorted rows"?</title><content type="html">Try to get the related ISAM error (Follow &lt;a href="http://abtj.blogspot.com/2008/07/how-to-enable-informix-isamrsam-error.html"&gt;this&lt;/a&gt; for JDBC). If it is "2: No such file or directory", look for your DBSPACETEMP or PSORT_DBTEMP value (via &lt;span style="font-family:courier new;"&gt;onstat -g env&lt;/span&gt; or &lt;span style="font-family:courier new;"&gt;onstat -c&lt;/span&gt;). Ensure the folder points by DBSPACETEMP or PSORT_DBTEMP exists.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-7243399593121580654?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/CMfwgI7tpPc" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=7243399593121580654" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/7243399593121580654?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/7243399593121580654?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/CMfwgI7tpPc/how-to-solve-error-informix-567-cannot.html" title="How to solve error &quot;Informix -567: Cannot write sorted rows&quot;?" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2009/02/how-to-solve-error-informix-567-cannot.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YNQn46cCp7ImA9WxRWFkQ.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-6585143337621238115</id><published>2008-11-03T15:53:00.003+08:00</published><updated>2008-11-03T15:59:53.018+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-03T15:59:53.018+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term="logging" /><category scheme="http://www.blogger.com/atom/ns#" term="informix" /><title>How To Check Is Your Informix Server Shutdown Gracefully?</title><content type="html">Compare the first set of Informix log:&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;20:28:34 Checkpoint Completed: duration was 1 seconds.&lt;br /&gt;20:28:34 Checkpoint loguniq 1, logpos 0xd40018, timestamp: 0xf638&lt;br /&gt;20:28:34 Maximum server connections 1&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;20:28:35 IBM Informix Dynamic Server Stopped.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;20:28:36 IBM Informix Dynamic Server Started.&lt;br /&gt;&lt;br /&gt;Sat Oct 11 20:28:36 2008&lt;br /&gt;&lt;br /&gt;20:28:36 Event alarms enabled. ALARMPROG = '/usr/informix/etc/log_full.sh'&lt;br /&gt;20:28:36 Booting Language &lt;c&gt;from module &lt;&gt;&lt;br /&gt;20:28:36 Loading Module &lt;cnull&gt;&lt;br /&gt;20:28:36 Booting Language &lt;builtin&gt;from module &lt;&gt;&lt;br /&gt;20:28:36 Loading Module &lt;builtinnull&gt;&lt;br /&gt;20:28:41 DR: DRAUTO is 0 (Off)&lt;br /&gt;20:28:41 IBM Informix Dynamic Server Version 10.00.UC7 Software Serial Number AAA#B000000&lt;br /&gt;20:28:43 IBM Informix Dynamic Server Initialized -- Shared Memory Initialized.&lt;br /&gt;&lt;br /&gt;20:28:43 Physical Recovery Started at Page (1:2283).&lt;br /&gt;20:28:43 Physical Recovery Complete: 0 Pages Examined, 0 Pages Restored.&lt;br /&gt;20:28:43 Logical Recovery Started.&lt;br /&gt;20:28:43 10 recovery worker threads will be started.&lt;br /&gt;20:28:46 Logical Recovery has reached the transaction cleanup phase.&lt;br /&gt;20:28:46 Logical Recovery Complete.&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;0 Committed, 0 Rolled Back, 0 Open, 0 Bad Locks&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;20:28:46 Dataskip is now OFF for all dbspaces&lt;br /&gt;20:28:47 Checkpoint Completed: duration was 0 seconds.&lt;br /&gt;20:28:47 Checkpoint loguniq 1, logpos 0xd41018, timestamp: 0xf648&lt;br /&gt;&lt;br /&gt;20:28:47 Maximum server connections 0&lt;br /&gt;20:28:47 On-Line Mode&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;and second set of log:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;19:11:22 Maximum server connections 39&lt;br /&gt;19:16:22 Fuzzy Checkpoint Completed: duration was 0 seconds, 4 buffers not flushed.&lt;br /&gt;19:16:22 Checkpoint loguniq 5, logpos 0x2c63080, timestamp: 0x4958f6&lt;br /&gt;&lt;br /&gt;19:16:22 Maximum server connections 39&lt;br /&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;No stopped message listed. The engine did not shutdown cleanly.&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;19:23:37 IBM Informix Dynamic Server Started.&lt;br /&gt;&lt;br /&gt;Tue Oct 21 19:23:39 2008&lt;br /&gt;&lt;br /&gt;19:23:39 Event alarms enabled. ALARMPROG = '/usr/informix/etc/log_full.sh'&lt;br /&gt;19:23:40 Booting Language &lt;c&gt;from module &lt;&gt;&lt;br /&gt;19:23:40 Loading Module &lt;cnull&gt;&lt;br /&gt;19:23:40 Booting Language &lt;builtin&gt;from module &lt;&gt;&lt;br /&gt;19:23:40 Loading Module &lt;builtinnull&gt;&lt;br /&gt;19:23:56 DR: DRAUTO is 0 (Off)&lt;br /&gt;19:23:56 IBM Informix Dynamic Server Version 10.00.UC7 Software Serial Number AAA#B000000&lt;br /&gt;19:23:59 IBM Informix Dynamic Server Initialized -- Shared Memory Initialized.&lt;br /&gt;&lt;br /&gt;19:23:59 Physical Recovery Started at Page (1:4321).&lt;br /&gt;19:23:59 Physical Recovery Complete: 0 Pages Examined, 0 Pages Restored.&lt;br /&gt;19:23:59 Logical Recovery Started.&lt;br /&gt;19:23:59 10 recovery worker threads will be started.&lt;br /&gt;19:24:02 Logical Recovery has reached the transaction cleanup phase.&lt;br /&gt;19:24:02 Logical Recovery Complete.&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;21 Committed, 0 Rolled Back, 0 Open, 0 Bad Locks&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;19:24:04 Dataskip is now OFF for all dbspaces&lt;br /&gt;19:24:04 (11) connection rejected - no calls allowed for sqlexec&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;19:24:04 listener-thread: err = -27002: oserr = 0: errstr = : No connections are allowed in quiescent mode.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;19:24:04 (13) connection rejected - no calls allowed for sqlexec&lt;br /&gt;19:24:04 listener-thread: err = -27002: oserr = 0: errstr = : No connections are allowed in quiescent mode.&lt;br /&gt;&lt;br /&gt;19:24:05 Checkpoint Completed: duration was 1 seconds.&lt;br /&gt;19:24:05 Checkpoint loguniq 5, logpos 0x2c69018, timestamp: 0x4959d3&lt;br /&gt;&lt;br /&gt;19:24:05 Maximum server connections 0&lt;br /&gt;19:24:05 On-Line Mode&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The first one came right to online mode in 11 seconds. If you look at the log you will see the engine was stopped right before restarting it. When the engine is stopped, all transactions are cleaned up. They are either rolled back or committed and the physical log is also cleared out. If you look at the second startup, there was &lt;strong&gt;no clean shutdown&lt;/strong&gt;, This was due to someone &lt;strong&gt;killing the oninit process or perhaps the OS getting rebooted&lt;/strong&gt;. Regardless the engine was still performing work. When the engine was restarted, it discovered that there were open transactions that needed to be dealt with . This explains the &lt;strong&gt;additional time it took to come online&lt;/strong&gt;. The 27002 errors were due to users trying to connect before the engine was ready for them. The engine is working as designed.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-6585143337621238115?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/pYdXHJLntxQ" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=6585143337621238115" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/6585143337621238115?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/6585143337621238115?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/pYdXHJLntxQ/how-to-check-is-your-informix-server.html" title="How To Check Is Your Informix Server Shutdown Gracefully?" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2008/11/how-to-check-is-your-informix-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQHQHYyeip7ImA9WxdUE00.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-7751620363548618448</id><published>2008-07-29T11:52:00.004+08:00</published><updated>2008-07-29T12:05:31.892+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-29T12:05:31.892+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term="informix" /><category scheme="http://www.blogger.com/atom/ns#" term="database" /><category scheme="http://www.blogger.com/atom/ns#" term="jdbc" /><title>How to enable Informix ISAM/RSAM error in JDBC?</title><content type="html">You will not able to get Informix RSAM / ISAM error with normal SQLException. ISAM error is important to find the real database problem. For example, if an SQLCODE message says that a table cannot be created, the RSAM message states the reason, which might be insufficient disk space. You need to get the nested/chained exception via SQLException.getNextException(). Code example is at &lt;a href="http://exampledepot.com/egs/java.sql/GetSqlException.html"&gt;Java Developers Almanac&lt;/a&gt;.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-7751620363548618448?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/m06xSOyWKEM" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=7751620363548618448" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/7751620363548618448?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/7751620363548618448?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/m06xSOyWKEM/how-to-enable-informix-isamrsam-error.html" title="How to enable Informix ISAM/RSAM error in JDBC?" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2008/07/how-to-enable-informix-isamrsam-error.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EAQXo-eSp7ImA9WxZQEEk.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-4820861722933244389</id><published>2008-02-15T09:53:00.003+08:00</published><updated>2008-02-15T10:14:00.451+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-15T10:14:00.451+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="fun" /><category scheme="http://www.blogger.com/atom/ns#" term="facebook" /><category scheme="http://www.blogger.com/atom/ns#" term="microsoft" /><title>When you should give up on Facebook?</title><content type="html">You should give up on Facebook when you getting some 8,000 requests per day like &lt;a href="http://blogs.wsj.com/biztech/2008/02/12/bill-gates-quits-facebook/"&gt;Bill Gates&lt;/a&gt;. Bill Gates has stopped using it because he was inundated with friend requests, so stop to &lt;a href="http://www.facebook.com/s.php?q=bill+gates&amp;amp;n=50431654&amp;amp;k=400000000010&amp;amp;init=r"&gt;add him as friend&lt;/a&gt;. Yesterday I was still able to check his friends as View Friends link was there (It is good to know who he has added). He has friends about 120 something count. However, he just disable it recently. Maybe is good I should cache it yesterday. :)&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-4820861722933244389?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/111sIDz5mX4" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=4820861722933244389" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/4820861722933244389?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/4820861722933244389?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/111sIDz5mX4/when-you-should-give-up-on-facebook.html" title="When you should give up on Facebook?" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2008/02/when-you-should-give-up-on-facebook.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4BSX48eip7ImA9WB9XFE4.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-2329876440313180567</id><published>2007-11-07T19:10:00.000+08:00</published><updated>2007-11-07T19:12:38.072+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-07T19:12:38.072+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="klocwork" /><title>How to refer/get info for a Klocwork code problems, security vulnerabilities category easily?</title><content type="html">If you run Klocwork in Eclipse, you can click the Help button (Question button) in InForce Error Details view/window (right upper corner by default). By doing this, you do not need to refer to separate Klocwork manual pdf file.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-2329876440313180567?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/eoc2GmRlMwc" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=2329876440313180567" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/2329876440313180567?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/2329876440313180567?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/eoc2GmRlMwc/how-to-referget-info-for-klocwork-code.html" title="How to refer/get info for a Klocwork code problems, security vulnerabilities category easily?" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2007/11/how-to-referget-info-for-klocwork-code.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQDRXc5eip7ImA9WB9TEU0.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-1406962183990137880</id><published>2007-09-18T14:10:00.000+08:00</published><updated>2007-09-18T17:06:14.922+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-18T17:06:14.922+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="java 5" /><category scheme="http://www.blogger.com/atom/ns#" term="bug" /><category scheme="http://www.blogger.com/atom/ns#" term="java 6" /><category scheme="http://www.blogger.com/atom/ns#" term="memory" /><category scheme="http://www.blogger.com/atom/ns#" term="fix" /><title>Famous Java Concurrent Library Memory Leak Bug</title><content type="html">The famous Java concurrent library memory leak bug: &lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6460501"&gt;6460501 Synchronizer timed acquire still leaks memory&lt;/a&gt; is fixed and backported to &lt;a href="http://java.sun.com/j2se/1.5.0/ReleaseNotes.html"&gt;1.5.0_12&lt;/a&gt; and &lt;a href="http://java.sun.com/javase/6/webnotes/ReleaseNotes.html"&gt;1.6.0_02&lt;/a&gt;. You should upgrade your Java version if you use Java concurrent library. The test code now does not show OOME on iteration.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;D:\&gt;java -showversion -Xmx16m -esa -ea Leak6&lt;br /&gt;java version "1.6.0_02"Java(TM) SE Runtime Environment (build 1.6.0_02-b05)Java HotSpot(TM) Client VM (build 1.6.0_02-b05, mixed mode, sharing)&lt;br /&gt;&lt;br /&gt;Free: 4996912&lt;br /&gt;Memory used: 70104&lt;br /&gt;D:\&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-1406962183990137880?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/H_ffbd6r4ss" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=1406962183990137880" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/1406962183990137880?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/1406962183990137880?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/H_ffbd6r4ss/famous-java-concurrent-library-memory.html" title="Famous Java Concurrent Library Memory Leak Bug" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2007/09/famous-java-concurrent-library-memory.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcBQXY8fCp7ImA9WB5aGU4.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-3874814419040377092</id><published>2007-09-16T16:37:00.000+08:00</published><updated>2007-09-16T16:57:30.874+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-16T16:57:30.874+08:00</app:edited><title>Google Reader Search and Google Gear</title><content type="html">If you are unable to find/user search text box under Google Reader in Firefox, you can disable Google Gear plugin/extension (Tools -&gt; Add-ons -&gt; Google Gear -&gt; Disable) and restart your Firefox. You do not need to uninstall Google Gear. No problem is reported for IE 7.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-3874814419040377092?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/FU5Hy03YPSg" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=3874814419040377092" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/3874814419040377092?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/3874814419040377092?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/FU5Hy03YPSg/google-reader-search-and-google-gear.html" title="Google Reader Search and Google Gear" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2007/09/google-reader-search-and-google-gear.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QMQXw9fip7ImA9WB5aFkU.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-6601937191693006134</id><published>2007-09-13T13:57:00.000+08:00</published><updated>2007-09-13T21:16:20.266+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-13T21:16:20.266+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term="plugin" /><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="klocwork" /><title>Eclipse and Klocwork Developer Plugin</title><content type="html">If you ever see the below error when you try to run Klocwork InForce for Eclipse plugin (version 7.0) in Windows environment, &lt;blockquote&gt;&lt;p&gt;Cannot load profile file: unknown protocol: c&lt;br /&gt;Error:InforceJava: Exiting with error: Error during loading checkers xml file: unknown protocol: c&lt;br /&gt;Error: cannot parse error report.&lt;/p&gt;&lt;p&gt;OR&lt;/p&gt;&lt;p&gt;Cannot load profile file: unknown protocol: d&lt;br /&gt;Error:InforceJava: Exiting with error: Error during loading checkers xml file: unknown protocol: d&lt;br /&gt;Error: cannot parse error report. &lt;/p&gt;&lt;p&gt;etc&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;try to move your Eclipse directory to root (C:\ or D:\) instead of subdirectory (C:\Program Files, D:\Program Files etc). It should solve the problem.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-6601937191693006134?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/YYJkQ5Z3Kpk" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=6601937191693006134" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/6601937191693006134?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/6601937191693006134?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/YYJkQ5Z3Kpk/eclipse-and-klocwork.html" title="Eclipse and Klocwork Developer Plugin" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2007/09/eclipse-and-klocwork.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MERHc7cSp7ImA9WB5aEkQ.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-8591172735211147943</id><published>2007-09-09T08:02:00.000+08:00</published><updated>2007-09-09T08:56:45.909+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-09T08:56:45.909+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sun" /><category scheme="http://www.blogger.com/atom/ns#" term="green_ui" /><category scheme="http://www.blogger.com/atom/ns#" term="gadget" /><category scheme="http://www.blogger.com/atom/ns#" term="competitor" /><category scheme="http://www.blogger.com/atom/ns#" term="iphone" /><category scheme="http://www.blogger.com/atom/ns#" term="rival" /><category scheme="http://www.blogger.com/atom/ns#" term="apple" /><title>iPhone™ idea in 15 years ago?</title><content type="html">I have just uploaded a video from &lt;a href="http://blogs.sun.com/jag/entry/the_green_ui"&gt;James Gosling's blog&lt;/a&gt; to Youtube. It shows Sun has a similar finger touch sensitive UI project in year 1992. &lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Note: I did not contact James Gosling about posting this video to Youtube. The original video is in mpeg format with file size 141MB and it took me awhile to watch the full video. Before I upload to Youtube, I have to convert it to another format to make it smaller than 100MB file size (Youtube set file size limit to 100MB). I believe this is a good video to be shared and James Gosling is busy to do this. Hope father of Java does not mind to let us know some history about this project easier (in streaming video).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/fMT0vPXMNoU"&gt;&lt;embed src="http://www.youtube.com/v/fMT0vPXMNoU" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-8591172735211147943?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/AdycHR0jpCM" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=8591172735211147943" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/8591172735211147943?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/8591172735211147943?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/AdycHR0jpCM/iphone-idea-in-15-years-ago.html" title="iPhone™ idea in 15 years ago?" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2007/09/iphone-idea-in-15-years-ago.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UGQH8yfyp7ImA9WB5XGU4.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-4171058019655320534</id><published>2007-07-20T20:43:00.000+08:00</published><updated>2007-07-20T21:47:01.197+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-20T21:47:01.197+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term="profiler" /><category scheme="http://www.blogger.com/atom/ns#" term="java 6" /><category scheme="http://www.blogger.com/atom/ns#" term="memory" /><title>How To Solve "management agent is not enabled" Problem for JConsole</title><content type="html">JConsole from JDK 6 supports dynamic attach capability, this means it is able to attach any running Java application which does not need to start with -Dcom.sun.management.jmxremote option. However, you may not able to attach a running Java process because of "The management agent is not enabled on this process" error. To solve this, just create a new temporary directory (e.g. C:\tmp) and points your TMP environment to there. (Control Panel -&gt; System -&gt; Advanced -&gt; Environment Variables). Restart your Java application and now your JConsole should be able to attach it now. For more troubleshooting tip, you may read &lt;a href="http://blogs.sun.com/jmxetc/entry/troubleshooting_connection_problems_in_jconsole"&gt;Daniel Fuchs Blogs&lt;/a&gt; and &lt;a href="http://forum.java.sun.com/thread.jspa?threadID=730397&amp;amp;tstart=150"&gt;Sun Forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-4171058019655320534?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/Estd3DsJCJs" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=4171058019655320534" title="12 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/4171058019655320534?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/4171058019655320534?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/Estd3DsJCJs/how-to-solve-management-agent-is-not.html" title="How To Solve &quot;management agent is not enabled&quot; Problem for JConsole" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>12</thr:total><feedburner:origLink>http://abtj.blogspot.com/2007/07/how-to-solve-management-agent-is-not.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8BQns9eSp7ImA9WB5SFkQ.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-3559523252258206793</id><published>2007-06-13T08:42:00.000+08:00</published><updated>2007-06-13T09:07:33.561+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-06-13T09:07:33.561+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="guice" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="links" /><title>Google Guice Links and Resources</title><content type="html">&lt;div style="text-align: left;"&gt;Here are some useful links and resources for Google Guice, besides its &lt;a href="http://code.google.com/p/google-guice/"&gt;official site&lt;/a&gt; where you can find its Javadocs, user's guide etc:&lt;br /&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Official slides in pdf &lt;a href="http://google-guice.googlecode.com/files/Java%20on%20Guice%20-%20Developer%20Day%20Slides.pdf"&gt;01&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Official slides in pdf &lt;a href="http://google-guice.googlecode.com/files/JavaOnGuice20070426.pdf"&gt;02&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=x_NpraeC3tk"&gt;Youtube video&lt;/a&gt; in Google Developer Day Beijing, using slide 01&lt;/li&gt;&lt;li&gt;&lt;a href="http://video.google.com/videoplay?docid=2948853912335655747&amp;amp;q=user%3A%22Google+engEDU%22"&gt;Presentation video&lt;/a&gt; in OSS Speaker Series Google Video, using slide 02&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://best-practice-software-engineering.blogspot.com/2007/04/tech-dependency-injection-with-guice.html"&gt;Blog article&lt;/a&gt; from Software Engineering - Best Practices&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-3559523252258206793?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/zmlX6Isb9XU" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=3559523252258206793" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/3559523252258206793?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/3559523252258206793?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/zmlX6Isb9XU/google-guice-links-and-resources.html" title="Google Guice Links and Resources" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2007/06/google-guice-links-and-resources.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUGRXw5fip7ImA9WBFVE0U.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-3091109986565566756</id><published>2007-04-12T21:00:00.000+08:00</published><updated>2007-04-12T21:23:44.226+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-12T21:23:44.226+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="junit" /><title>JUnit 4.3 and Primitive Array</title><content type="html">Finally, the below simple primitive array test case has passed with JUnit 4.3&lt;br /&gt;&lt;blockquote&gt;int[] intArr00 = {1};&lt;br /&gt;int[] intArr01 = {1};&lt;br /&gt;assert&lt;span style="color:#ff0000;"&gt;Array&lt;/span&gt;Equals(intArr00, intArr01); &lt;/blockquote&gt;If you use Eclipse IDE, you need not upgrade the internal JUnit jar, just include the JUnit 4.3 jar in your build path and remove the default JUnit jar (Eclipse 3.2 come with 4.1 JUnit jar)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-3091109986565566756?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/oQ3eJYnfwX4" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=3091109986565566756" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/3091109986565566756?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/3091109986565566756?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/oQ3eJYnfwX4/junit-43-and-primitive-array.html" title="JUnit 4.3 and Primitive Array" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2007/04/junit-43-and-primitive-array.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cDSH07eSp7ImA9WBFXEUU.&quot;"><id>tag:blogger.com,1999:blog-26670725.post-8310947965990655652</id><published>2007-03-18T07:46:00.000+08:00</published><updated>2007-03-18T10:31:19.301+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-03-18T10:31:19.301+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="java 5" /><category scheme="http://www.blogger.com/atom/ns#" term="profiler" /><category scheme="http://www.blogger.com/atom/ns#" term="java 6" /><category scheme="http://www.blogger.com/atom/ns#" term="memory" /><title>Java Profiler and Java/JDK 6/1.6</title><content type="html">In many cases, if your Java profiler (mine is IBM Rational Purify 7 for Windows) does not work as before after your upgrade your Java version to 6 and throws the below error&lt;br /&gt;&lt;blockquote&gt;FATAL ERROR: JVMPI, an experimental interface, is no longer supported.&lt;br /&gt;Please use the supported interface: the JVM Tool Interface (JVM TI).&lt;br /&gt;&lt;/blockquote&gt;This is because in JDK 6, Virtual Machine Tool Interface (JVM TI) has replaced Java Virtual Machine Profiler Interface (JVMPI) and the Java Virtual Machine Debug Interface (JVMDI). See Sun official note at &lt;a href="http://java.sun.com/javase/6/docs/technotes/guides/jvmti/"&gt;here&lt;/a&gt;. The workaround is to install JRE/JDK 5 and set your Java environment (JAVA_HOME) and path (use java -version to check which java version your are using) before bringing up your Java application with your Java profiler.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-5975245645139345";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-12-30: http://abtj.blogspot.com/
google_ad_channel = "6304668894";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26670725-8310947965990655652?l=abtj.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AboutJ/~4/Um-EIyVZH60" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26670725&amp;postID=8310947965990655652" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/8310947965990655652?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26670725/posts/default/8310947965990655652?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AboutJ/~3/Um-EIyVZH60/java-profiler-and-javajdk-616.html" title="Java Profiler and Java/JDK 6/1.6" /><author><name>CK Lee</name><uri>http://www.blogger.com/profile/18056808260815913916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://abtj.blogspot.com/2007/03/java-profiler-and-javajdk-616.html</feedburner:origLink></entry></feed>

