<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3116452135983591711</id><updated>2011-12-05T07:49:04.430-08:00</updated><category term='SQL Performance'/><category term='J2ME'/><category term='Web Design'/><category term='JBoss'/><category term='GWT'/><category term='Performance'/><category term='IceSoft'/><category term='Google Docreader'/><category term='JSF1'/><category term='Design Pattern'/><category term='Hibernate'/><category term='SSO'/><category term='Java Swing'/><category term='Java Reporting'/><category term='Google_Idea'/><title type='text'>(¯`'•.¸(¯`'•.¸JaVa ExPeRiEnCe¸.•'´¯)¸.•'´¯)</title><subtitle type='html'>All About Jimmy6, Java, Gwt, Spring, Hibernate, Google...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-7285969074254007494</id><published>2011-12-05T06:11:00.001-08:00</published><updated>2011-12-05T07:49:04.447-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Swing'/><category scheme='http://www.blogger.com/atom/ns#' term='IceSoft'/><title type='text'>LadderSoft Research Project</title><content type='html'>A research project that enable&amp;nbsp;circuit&amp;nbsp;diagram being built easily even for primary student. That is to unleash the creativity from our kid.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-_vBsZEe58XE/TtzW0LVMRrI/AAAAAAAAAfQ/l6CVvwvO3rU/s640/2011-12-05%25252022.35.11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-_vBsZEe58XE/TtzW0LVMRrI/AAAAAAAAAfQ/l6CVvwvO3rU/s1600/2011-12-05%25252022.35.11.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;LadderSoft IDE - Draw&amp;nbsp;circuit&amp;nbsp;diagram by just using visualise tool.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-t2wn6tafJ0Q/TtzHqGncUII/AAAAAAAAAeU/GceeygEsuYg/s800/ledersoft.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="392" src="http://3.bp.blogspot.com/-t2wn6tafJ0Q/TtzHqGncUII/AAAAAAAAAeU/GceeygEsuYg/s640/ledersoft.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;Video of robot car coming soon!!!&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-w9acY-W7qgA/TtzElPuMapI/AAAAAAAAAew/sjRBRuF9beY/s512/2011-11-20%25252013.14.54.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-w9acY-W7qgA/TtzElPuMapI/AAAAAAAAAew/sjRBRuF9beY/s320/2011-11-20%25252013.14.54.jpg" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-7285969074254007494?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/7285969074254007494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=7285969074254007494' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/7285969074254007494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/7285969074254007494'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2011/12/laddersoft-research-project.html' title='LadderSoft Research Project'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-_vBsZEe58XE/TtzW0LVMRrI/AAAAAAAAAfQ/l6CVvwvO3rU/s72-c/2011-12-05%25252022.35.11.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-2978186146759490419</id><published>2010-09-03T00:59:00.003-07:00</published><updated>2010-09-03T01:23:09.916-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IceSoft'/><title type='text'>My First Android App in Samsung Galaxy S</title><content type='html'>&lt;pre&gt;&lt;br /&gt;&lt;img src="http://lh6.ggpht.com/_wLrNToe-pls/TICsNyZ2ZuI/AAAAAAAAAHM/UK7C4Sf-FaI/s512/icon.png" /&gt;&lt;img src="http://lh5.ggpht.com/_wLrNToe-pls/TICsNdFPFnI/AAAAAAAAAHA/4kuo6apfqf8/s512/country.png" /&gt;&lt;br /&gt;&lt;img src="http://lh5.ggpht.com/_wLrNToe-pls/TICsYkqGrvI/AAAAAAAAAHU/e_4kAlGNlso/s512/schedule.png" /&gt;&lt;img src="http://lh5.ggpht.com/_wLrNToe-pls/TICsOFZEZUI/AAAAAAAAAHQ/B2sG8jvYIR4/s512/race.png" /&gt;&lt;br /&gt;&lt;img src="http://lh5.ggpht.com/_wLrNToe-pls/TICsN8k9MdI/AAAAAAAAAHI/mAnym-TirFc/s512/halloffame.png" /&gt;&lt;img src="http://lh6.ggpht.com/_wLrNToe-pls/TICsNp5PKzI/AAAAAAAAAHE/RCVAd4w8DXQ/s512/driver.png" /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-2978186146759490419?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/2978186146759490419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=2978186146759490419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/2978186146759490419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/2978186146759490419'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2010/09/my-first-android-app-in-samsung-galaxy_6716.html' title='My First Android App in Samsung Galaxy S'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_wLrNToe-pls/TICsNyZ2ZuI/AAAAAAAAAHM/UK7C4Sf-FaI/s72-c/icon.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-7619189380925985999</id><published>2010-01-25T06:54:00.000-08:00</published><updated>2010-01-27T21:51:57.116-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Performance'/><title type='text'>SQL Best Practise</title><content type='html'>&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/u70mkgDnDdU&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/u70mkgDnDdU&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Isolating indexed field&lt;/strong&gt;&lt;br /&gt;//Bad Idea.&lt;br /&gt;Where TO_DAYS(order_created) - TO_DAYS(CURRENT_DATE())&gt;= 7&lt;br /&gt;&lt;br /&gt;//Better Idea. CURRENT_DATE() not working for query cache&lt;br /&gt;Where order_created &gt;= CURRENT_DATE() - INTERVAL 7 DAY&lt;br /&gt;&lt;br /&gt;//Best Idea&lt;br /&gt;Where order_created &gt;= '11/11/2009' - INTERVAL 7 DAY&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Using calculated field&lt;br /&gt;&lt;/strong&gt;//Bad idea&lt;br /&gt;WHERE email_address LIKE '%.com';&lt;br /&gt;&lt;br /&gt;//Better idea&lt;br /&gt;ALTER TABLE CUSTOMERS&lt;br /&gt;ADD COLUMN rv_email_address VARCHAR(80) NOT NULL;&lt;br /&gt;UPDATE customers SET rv_email_address = REVERSE(email_address);&lt;br /&gt;CREATE INDEX ix_rv_email ON customer (rv_email_address(20));&lt;br /&gt;&lt;br /&gt;DELIMITER ;;&lt;br /&gt;CREATE TRIGGER trg_bi_cust BEFORE INSERT ON customers&lt;br /&gt;FOR EACH ROW BEGIN&lt;br /&gt;SET NEW.rv_email_address=REVERSE(NEW.email_address);&lt;br /&gt;END;;&lt;br /&gt;&lt;br /&gt;//same trigger for BEFORE UPDATE...&lt;br /&gt;//Then SELECT on the new field...&lt;br /&gt;WHERE r_email_address LIKE CONCAT(REVERSE('.com'),'%');&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-7619189380925985999?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/7619189380925985999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=7619189380925985999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/7619189380925985999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/7619189380925985999'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2010/01/sql-best-practise.html' title='SQL Best Practise'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-1268683212895733671</id><published>2010-01-02T22:58:00.000-08:00</published><updated>2010-01-02T23:41:02.813-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='J2ME'/><title type='text'>J2ME HttpConnection issue</title><content type='html'>&lt;span style="font-weight: bold;"&gt;J2ME HttpConnection issue when testing with Digi telco and Sony Ericsson W810i&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I am wondering why Lwuit-Makeover is able to connect but my own application can not. Then i found out that my application need to run in Internet setting but  Lwuit-Makeover just need WAP setting.&lt;br /&gt;&lt;br /&gt;If request connection setting from telco, they will send you the following setting.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Digi Streaming&lt;/li&gt;&lt;li&gt;Digi Internet&lt;/li&gt;&lt;li&gt;Digi MMS&lt;/li&gt;&lt;li&gt;Digi WAP&lt;/li&gt;&lt;/ul&gt;My personal experience about requesting the Digi internet setting. I had make more than 10 times to request Digi Internet setting. First few time failed was because of the "data account full...". Then i browsed to data comm.-&gt;data account to delete all the settings. After that, finally i can install successfully with those settings &lt;span style="color: rgb(255, 0, 0);"&gt;BUT&lt;/span&gt; there was no internet setting... So I kept on calling them to send me the internet setting. After few times request i met a guy who suggested to send only internet setting and not like previously send all settings(MMS,WAP,STREAMING, INTERNET...) in once. It work!!! Thanks guy.&lt;br /&gt;&lt;br /&gt;Lwuit-Makeover&lt;br /&gt;&lt;ul&gt;&lt;li&gt;"Setting for java" can be WAP setting.&lt;/li&gt;&lt;li&gt;Internally this application use com.sun.me.web.request api and Get method to make connection.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;My own application&lt;br /&gt;&lt;ul&gt;&lt;li&gt;"Setting for java" does not work with WAP setting. It need internet setting.&lt;/li&gt;&lt;li&gt;I use (HttpConnection) Connector.open("http://.."); and writebyte method to make connection.&lt;/li&gt;&lt;/ul&gt;Is it mean that WAP only work for GET and internet setting is able to work with writebyte? I still need time to figure out what so special in com.sun.me.web.request.&lt;br /&gt;&lt;br /&gt;Reference&lt;br /&gt;&lt;a href="http://developer.sonyericsson.com/site/global/techsupport/tipstrickscode/java/p_avoidconnectionproblemsjavat610t616t618.jsp"&gt;Avoid Connection Problems with Your Java Applications&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-1268683212895733671?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/1268683212895733671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=1268683212895733671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/1268683212895733671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/1268683212895733671'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2010/01/j2me-httpconnection-issue.html' title='J2ME HttpConnection issue'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-470782727263567382</id><published>2009-12-18T01:44:00.000-08:00</published><updated>2009-12-24T00:40:02.391-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSO'/><title type='text'>SSO : JOSSO VS CAS</title><content type='html'>JOSSO, CAS and openSSO are famous Java Single Sign-On in the open source world. The following are some comments on JOSSO and CAS.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CAS &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Architecture is simple to install. Security filtering is inside war file.&lt;/li&gt;&lt;li&gt;Only work with SSL.&lt;/li&gt;&lt;li&gt;Easily integrate in Spring security.&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://mattfleming.com/node/269"&gt;CAS + Spring Security integration guide&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;JOSSO&lt;/span&gt;&lt;br /&gt;Architecture is hard to deploy. It consists of gateway and agent. Gateway is the project of SSO/login module. Agent need to be installed in all servers for security filtering. Thus, it tights the configuration to server and bunch of xml files in lib folder of tomcat. The security is configure in the server and not within the project. Even thought installation script is provided but it is just for all(agent, gateway,project) in one server. I got no idea how the configuration should be if more than one server is using...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.josso.org/confluence/display/JOSSO1/Spring+Security+%28ACEGI%29"&gt;JOSSO + Acegi integration&lt;/a&gt;&lt;br /&gt;Look like outdated because have not upgraded to spring security.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-470782727263567382?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/470782727263567382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=470782727263567382' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/470782727263567382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/470782727263567382'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/12/sso-josso-vs-cas.html' title='SSO : JOSSO VS CAS'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-520897868627678242</id><published>2009-10-04T06:01:00.000-07:00</published><updated>2009-10-04T06:11:53.570-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><title type='text'>Cross Platform Hibernate @Id Sequence setting</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Cross platform @Id setting&lt;/span&gt;&lt;br /&gt;@SequenceGenerator(name = "SEQ_HRMS_EMP", sequenceName = "SEQ_HRMS_EMP", initialValue = 1, allocationSize = 1)&lt;br /&gt;@GeneratedValue(strategy = &lt;span style="font-weight: bold; font-style: italic;"&gt;GenerationType.AUTO&lt;/span&gt;, generator = "SEQ_HRMS_EMP")&lt;br /&gt;@Id&lt;br /&gt;@Column(name = "user_id")&lt;br /&gt;private Integer userId;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Schema export from hibernate&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;MySql&lt;/span&gt;&lt;br /&gt;create table HRMS_EMP (&lt;br /&gt;user_id integer not null auto_increment,&lt;br /&gt;&lt;br /&gt;MySql will ignore the generator = "SEQ_HRMS_EMP" setting because MySql does not have sequence.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Postgres&lt;/span&gt;&lt;br /&gt;create sequence SEQ_HRMS_EMP;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Oracle&lt;/span&gt;&lt;br /&gt;create sequence SEQ_HRMS_EMP;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-520897868627678242?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/520897868627678242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=520897868627678242' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/520897868627678242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/520897868627678242'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/10/cross-platform-hibernate-id-sequence.html' title='Cross Platform Hibernate @Id Sequence setting'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-5498424873591569550</id><published>2009-09-07T07:18:00.000-07:00</published><updated>2009-09-07T07:20:33.839-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Design Pattern'/><title type='text'>Fluent Interface Design Pattern in IBatis3</title><content type='html'>I found the following coding style in ibatis3 tutorial. Look interesting about the coding.&lt;br /&gt;&lt;br /&gt;private String selectPersonSql() {&lt;br /&gt;BEGIN(); // Clears ThreadLocal variable&lt;br /&gt;SELECT("P.ID, P.USERNAME, P.PASSWORD, P.FULL_NAME");&lt;br /&gt;SELECT("P.LAST_NAME, P.CREATED_ON, P.UPDATED_ON");&lt;br /&gt;FROM("PERSON P");&lt;br /&gt;FROM("ACCOUNT A");&lt;br /&gt;INNER_JOIN("DEPARTMENT D on D.ID = P.DEPARTMENT_ID");&lt;br /&gt;INNER_JOIN("COMPANY C on D.COMPANY_ID = C.ID");&lt;br /&gt;WHERE("P.ID = A.ID");&lt;br /&gt;WHERE("P.FIRST_NAME like ?");&lt;br /&gt;OR();&lt;br /&gt;WHERE("P.LAST_NAME like ?");&lt;br /&gt;GROUP_BY("P.ID");&lt;br /&gt;HAVING("P.LAST_NAME like ?");&lt;br /&gt;OR();&lt;br /&gt;HAVING("P.FIRST_NAME like ?");&lt;br /&gt;ORDER_BY("P.ID");&lt;br /&gt;ORDER_BY("P.FULL_NAME");&lt;br /&gt;return SQL();&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-5498424873591569550?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/5498424873591569550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=5498424873591569550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/5498424873591569550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/5498424873591569550'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/09/fluent-interface-design-pattern-2.html' title='Fluent Interface Design Pattern in IBatis3'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-960585213747788931</id><published>2009-09-01T08:03:00.001-07:00</published><updated>2009-10-04T06:52:21.032-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IceSoft'/><title type='text'>IceSoft Name Card</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aXiMiF5xmTQ/Sp08QDUOIuI/AAAAAAAAACs/v2P-Z2XwtPM/s1600-h/ice.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 145px; height: 200px;" src="http://2.bp.blogspot.com/_aXiMiF5xmTQ/Sp08QDUOIuI/AAAAAAAAACs/v2P-Z2XwtPM/s200/ice.jpg" alt="" id="BLOGGER_PHOTO_ID_5376519776615932642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aXiMiF5xmTQ/Sp07LEbGpMI/AAAAAAAAACk/soSW84zw8es/s1600-h/Design+D.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 187px;" src="http://2.bp.blogspot.com/_aXiMiF5xmTQ/Sp07LEbGpMI/AAAAAAAAACk/soSW84zw8es/s200/Design+D.jpg" alt="" id="BLOGGER_PHOTO_ID_5376518591502263490" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_aXiMiF5xmTQ/Sp07FejY8yI/AAAAAAAAACc/upAwoffjuH0/s1600-h/Design+C.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 405px; height: 133px;" src="http://1.bp.blogspot.com/_aXiMiF5xmTQ/Sp07FejY8yI/AAAAAAAAACc/upAwoffjuH0/s200/Design+C.jpg" alt="" id="BLOGGER_PHOTO_ID_5376518495437124386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_aXiMiF5xmTQ/Sp08UvrKViI/AAAAAAAAAC0/IHJ8dUvPaZE/s1600-h/ice2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 168px;" src="http://4.bp.blogspot.com/_aXiMiF5xmTQ/Sp08UvrKViI/AAAAAAAAAC0/IHJ8dUvPaZE/s200/ice2.jpg" alt="" id="BLOGGER_PHOTO_ID_5376519857242789410" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aXiMiF5xmTQ/Sp063f7ZooI/AAAAAAAAACM/ieElaibzVIE/s1600-h/Design+A.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 277px; height: 88px;" src="http://2.bp.blogspot.com/_aXiMiF5xmTQ/Sp063f7ZooI/AAAAAAAAACM/ieElaibzVIE/s200/Design+A.jpg" alt="" id="BLOGGER_PHOTO_ID_5376518255288099458" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-960585213747788931?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/960585213747788931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=960585213747788931' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/960585213747788931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/960585213747788931'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/09/icesoft-name-card.html' title='IceSoft Name Card'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aXiMiF5xmTQ/Sp08QDUOIuI/AAAAAAAAACs/v2P-Z2XwtPM/s72-c/ice.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-4046506346655058616</id><published>2009-08-11T08:40:00.000-07:00</published><updated>2009-08-11T09:20:56.026-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Load Balance by using mod_jk + apache server2.0</title><content type='html'>&lt;div&gt;&lt;div&gt;1)Add following code to C:/Program Files/Apache Group/Apache2/conf/httpd.conf&lt;/div&gt;&lt;div&gt;# Include mod_jk configuration file&lt;/div&gt;&lt;div&gt;Include "C:/Program Files/Apache Group/Apache2/mod_jk/mod_jk.conf"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2)Create mod_jk.conf to C:/Program Files/Apache Group/Apache2/mod_jk/mod_jk.conf&lt;/div&gt;&lt;div&gt;# Load mod_jk module&lt;/div&gt;&lt;div&gt;# Specify the filename of the mod_jk lib&lt;/div&gt;&lt;div&gt;LoadModule jk_module "C:/Program Files/Apache Group/Apache2/mod_jk/mod_jk-1.2.28-httpd-2.0.52.so"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# Where to find workers.properties&lt;/div&gt;&lt;div&gt;JkWorkersFile "C:/Program Files/Apache Group/Apache2/mod_jk/workers.properties"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# Where to put jk logs&lt;/div&gt;&lt;div&gt;JkLogFile "C:\Program Files\Apache Group\Apache2\mod_jk/mod_jk.log"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;JkLogLevel info&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;JkRequestLogFormat "%w %V %T"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;#Mount your webapps eg WebApplication1 using JkMount&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# Add shared memory.&lt;/div&gt;&lt;div&gt;# This directive is present with 1.2.10 and&lt;/div&gt;&lt;div&gt;# later versions of mod_jk, and is needed for&lt;/div&gt;&lt;div&gt;# for load balancing to work properly&lt;/div&gt;&lt;div&gt;JkShmFile /var/log/apache2/jk.shm&lt;/div&gt;&lt;div&gt;JkMount /* router&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;Location /router/&amp;gt;&lt;/div&gt;&lt;div&gt;JkMount router&lt;/div&gt;&lt;div&gt;Order deny,allow&lt;/div&gt;&lt;div&gt;Deny from all&lt;/div&gt;&lt;div&gt;Allow from 127.0.0.1&lt;/div&gt;&lt;div&gt;&amp;lt;/Location&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3) Create worker.properties on C:\Program Files\Apache Group\Apache2\mod_jk\worker.properties&lt;/div&gt;&lt;div&gt;# The advanced router LB worker&lt;/div&gt;&lt;div&gt;worker.list=router&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# Define a worker using ajp13&lt;/div&gt;&lt;div&gt;worker.worker1.port=8009&lt;/div&gt;&lt;div&gt;worker.worker1.host=127.0.0.1&lt;/div&gt;&lt;div&gt;worker.worker1.type=ajp13&lt;/div&gt;&lt;div&gt;worker.worker1.lbfactor=1&lt;/div&gt;&lt;div&gt;# Define preferred failover node for worker1&lt;/div&gt;&lt;div&gt;worker.worker1.redirect=worker2&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# Define another worker using ajp13&lt;/div&gt;&lt;div&gt;worker.worker2.port=8009&lt;/div&gt;&lt;div&gt;worker.worker2.host=127.0.0.1&lt;/div&gt;&lt;div&gt;worker.worker2.type=ajp13&lt;/div&gt;&lt;div&gt;worker.worker2.lbfactor=1&lt;/div&gt;&lt;div&gt;# Disable worker2 for all requests except failover&lt;/div&gt;&lt;div&gt;worker.worker2.activation=disabled&lt;/div&gt;&lt;div&gt;# Define the LB worker&lt;/div&gt;&lt;div&gt;worker.router.type=lb&lt;/div&gt;&lt;div&gt;worker.router.balance_workers=worker1,worker2&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4) Download iso mod_jk-1.2.28-httpd-2.0.52.so from http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/&lt;/div&gt;&lt;div&gt;to C:\Program Files\Apache Group\Apache2\mod_jk\&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5) For sticky session&lt;/div&gt;&lt;div&gt;  Edit tomcat's server.xml for all tomcat&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Comment &amp;lt;!-- &amp;lt;Engine name="Catalina" defaultHost="localhost"&amp;gt; --&amp;gt; &lt;/div&gt;&lt;div&gt;Uncomment  &amp;lt;Engine name="Standalone" defaultHost="localhost" jvmRoute="worker1"&amp;gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;References&lt;/div&gt;&lt;div&gt;Step by step - http://www.devside.net/guides/windows/tomcat&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Help for worker.properties&lt;/div&gt;&lt;div&gt;http://tomcat.apache.org/connectors-doc/reference/workers.html&lt;/div&gt;&lt;div&gt;http://tomcat.apache.org/connectors-doc/generic_howto/loadbalancers.html&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-4046506346655058616?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/4046506346655058616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=4046506346655058616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/4046506346655058616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/4046506346655058616'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/08/load-balance-by-using-modjk-apache.html' title='Load Balance by using mod_jk + apache server2.0'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-3545308322481914122</id><published>2009-08-08T03:34:00.000-07:00</published><updated>2009-08-08T03:43:26.232-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF1'/><title type='text'>JSF1 RichFaces Performance Tuning</title><content type='html'>1) JSF components tree state takes big enough memory. In the server-side&lt;br /&gt;state saving ( default JSF behavior ) these objects are stored in the&lt;br /&gt;session. For a many concurrent user connections every user gets own&lt;br /&gt;session object. Possible solution - switch to the client-side state saving.&lt;br /&gt;  &amp;lt;context-param&amp;gt;&lt;br /&gt;      &amp;lt;param-name&amp;gt;javax.faces.STATE_SAVING_METHOD&amp;lt;/param-name&amp;gt;&lt;br /&gt;      &amp;lt;param-value&amp;gt;client&amp;lt;/param-value&amp;gt;&lt;br /&gt;  &amp;lt;/context-param&amp;gt;&lt;br /&gt;&lt;br /&gt;Other possible solution is Facelets behavior that allows to build view&lt;br /&gt;before request processing instead of state saving, but that solution has&lt;br /&gt;sometimes unpredictable side effects. Use web.xml init parameter&lt;br /&gt;together with the &amp;lt;f:view transient="true" &amp;gt; attribute.&lt;br /&gt;  &amp;lt;context-param&amp;gt;&lt;br /&gt;      &amp;lt;param-name&amp;gt;facelets.BUILD_BEFORE_RESTORE&amp;lt;/param-name&amp;gt;&lt;br /&gt;      &amp;lt;param-value&amp;gt;true&amp;lt;/param-value&amp;gt;&lt;br /&gt;  &amp;lt;/context-param&amp;gt;&lt;br /&gt;As an intermediate solution, it is makes sense to create custom FaceletsViewHandler subclass with special state processing for a some pages like menus which does not depends for a saved state. That custom handler could call buildView method instead of real restoreView procedure for a such pages.&lt;br /&gt;2) Facelets library in the "debug" mode stores information about&lt;br /&gt;components and beans up to 5 times for an every user. To disable this mode:&lt;br /&gt;  &amp;lt;context-param&amp;gt;&lt;br /&gt;      &amp;lt;param-name&amp;gt;facelets.DEVELOPMENT&amp;lt;/param-name&amp;gt;&lt;br /&gt;      &amp;lt;param-value&amp;gt;false&amp;lt;/param-value&amp;gt;&lt;br /&gt;  &amp;lt;/context-param&amp;gt;&lt;br /&gt;&lt;br /&gt;3) Most filters use buffering for request processing. According to the&lt;br /&gt;profile information, these buffers took big enough memory in the&lt;br /&gt;application. I see a buffer-related parameter in the RichFaces Ajax filter:&lt;br /&gt;      &amp;lt;init-param&amp;gt;&lt;br /&gt;          &amp;lt;param-name&amp;gt;maxRequestSize&amp;lt;/param-name&amp;gt;&lt;br /&gt;          &amp;lt;param-value&amp;gt;100000&amp;lt;/param-value&amp;gt;&lt;br /&gt;      &amp;lt;/init-param&amp;gt;&lt;br /&gt;For a production server, it makes sense to reduce value to a real page&lt;br /&gt;size or remove that parameter at all.&lt;br /&gt;4) TIDY xml filter is DOM-based, thus it requires a lot of memory. It&lt;br /&gt;would be better to use more optimized "NONE" or "NEKO" one :&lt;br /&gt;  &amp;lt;context-param&amp;gt;&lt;br /&gt;      &amp;lt;param-name&amp;gt;org.ajax4jsf.xmlparser.ORDER&amp;lt;/param-name&amp;gt;&lt;br /&gt;      &amp;lt;param-value&amp;gt;NONE&amp;lt;/param-value&amp;gt;&lt;br /&gt;  &amp;lt;/context-param&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-3545308322481914122?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/3545308322481914122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=3545308322481914122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/3545308322481914122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/3545308322481914122'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/08/jsf1-richfaces-performance-tuning.html' title='JSF1 RichFaces Performance Tuning'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-7838965468717641178</id><published>2009-07-28T20:15:00.000-07:00</published><updated>2009-08-08T03:43:46.634-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF1'/><title type='text'>JSF Thing to cater for if you are JSF Developer</title><content type='html'>It is because JSF is component base(not simple as MVC direct request to action in controller layer).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Problem of coding style&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1) DB query inside getter method of backing bean.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;public List getUserRole(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    return userRoleDao.queryAllUserRole();&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Issue :&lt;/strong&gt; Getter may be call in restore view or apply request value or render response phase&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Table component, it wil cause the data being query 2 times. &lt;/li&gt;&lt;li&gt; inputText/radio etc. component, it will check the previous submitted value store(JSF will store previous submitted value automatically) inside the inputText. If it is null, it will call the getter in backing bean to retrieve the value. &lt;/li&gt;&lt;/ul&gt; Following was the log.&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[ INFO] 29-07-09 11:10:34 : BEFORE RESTORE_VIEW(1) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[ INFO] 29-07-09 11:10:34 : AFTER RESTORE_VIEW(1) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[ INFO] 29-07-09 11:10:34 : BEFORE APPLY_REQUEST_VALUES(2) Hibernate: select this_.role_name as ...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[ INFO] 29-07-09 11:10:34 : AFTER APPLY_REQUEST_VALUES(2) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[ INFO] 29-07-09 11:10:34 : BEFORE PROCESS_VALIDATIONS(3) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[ INFO] 29-07-09 11:10:34 : AFTER PROCESS_VALIDATIONS(3) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[ INFO] 29-07-09 11:10:34 : BEFORE UPDATE_MODEL_VALUES(4) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[ INFO] 29-07-09 11:10:34 : AFTER UPDATE_MODEL_VALUES(4) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[ INFO] 29-07-09 11:10:34 : BEFORE INVOKE_APPLICATION(5) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[ INFO] 29-07-09 11:10:34 : AFTER INVOKE_APPLICATION(5) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[ INFO] 29-07-09 11:10:34 : BEFORE RENDER_RESPONSE(6) Hibernate: select this_.role_name ...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;[ INFO] 29-07-09 11:10:35 : AFTER RENDER_RESPONSE(6) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution :&lt;/strong&gt; Only query DB when it is in render response phase.&lt;br /&gt;&lt;br /&gt;public List getUserRole(){  &lt;br /&gt;if (FacesContext.getCurrentInstance().getRenderResponse())&lt;br /&gt;       return userRoleDao.queryAllUserRole();&lt;br /&gt;else&lt;br /&gt;      return null;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;em&gt;or&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;public List getUserRole(){  &lt;br /&gt;if ( userRoleList!=null)&lt;br /&gt;       userRoleList = userRoleDao.queryAllUserRole();&lt;br /&gt;&lt;br /&gt;return userRoleList;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;JSF 2 going to have MVC lifecycle!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-7838965468717641178?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/7838965468717641178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=7838965468717641178' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/7838965468717641178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/7838965468717641178'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/07/jsf-thing-to-cater-for-if-you-are.html' title='JSF Thing to cater for if you are JSF Developer'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-30970242217954625</id><published>2009-07-28T19:15:00.000-07:00</published><updated>2009-07-28T19:29:27.870-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF1'/><title type='text'>JSF 1 Immediate property</title><content type='html'>&lt;p&gt;Immediate = true , it will no proceed to Validations phase. It suit for Cancel button that you don't want any validation(require=true etc.) on the page but it will reach to action of Cancel button. Since those parameters of inputText do not go through validation phase, it also will not update to your variable in backing bean. There is a workaround solution to retrieve those values. &lt;/p&gt;&lt;p&gt;hyperlink immediate = true. that only accepts values from a specific control (the immediate property for all of these components would be true).&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-30970242217954625?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/30970242217954625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=30970242217954625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/30970242217954625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/30970242217954625'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/07/jsf-1-immediate-properties.html' title='JSF 1 Immediate property'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-8213250178061000040</id><published>2009-06-30T07:03:00.000-07:00</published><updated>2009-06-30T07:18:46.759-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><title type='text'>App Server Performance Tuning Reference</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Garbage Collection Guide&lt;/div&gt;&lt;div&gt;&lt;a href="http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html#generation_sizing" style="text-decoration: none;"&gt;http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html#generation_sizing&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Performance Tuning Tips&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.javaperformancetuning.com/tips/appservers.shtml#REF12"&gt;http://www.javaperformancetuning.com/tips/appservers.shtml#REF12&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Jboss&lt;/div&gt;&lt;a href="http://www.mastertheboss.com/en/jboss-application-server/113-jboss-performance-tuning-1.html"&gt;http://www.mastertheboss.com/en/jboss-application-server/113-jboss-performance-tuning-1.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Jboss Tips&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;32bit OS max heap size is 2GB Ram. Inorder to increase the heap size, add jboss instance.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-8213250178061000040?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/8213250178061000040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=8213250178061000040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/8213250178061000040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/8213250178061000040'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/06/application-server-performance-tuning.html' title='App Server Performance Tuning Reference'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-5523336491707910951</id><published>2009-06-24T00:18:00.000-07:00</published><updated>2009-06-24T01:17:23.223-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google_Idea'/><title type='text'>Attractive Tourism in Google Earth</title><content type='html'>&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Create tour in google earth for all tourist attraction.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Bring tourist to go arround tourist attraction.&lt;/li&gt;&lt;li&gt;Youtube included for more interactive.&lt;/li&gt;&lt;li&gt;Search engine looking for place to go example shopping, outlet, night market,night scene, beach... &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Thing to do&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Collect tourist attraction information.&lt;/li&gt;&lt;li&gt;Build all the 3D building for tourist attraction in google earth. It not only building. &lt;span class="Apple-style-span"  style="color:#FF6600;"&gt;3D can be table, swimming poor, car... All Objects.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Make movie in youtube.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Money channel Hotel, Restaurant, Government Tourism &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Specialist tourism IT department for government.&lt;/li&gt;&lt;li&gt;Search nearest hotel.&lt;/li&gt;&lt;li&gt;Build 3d hotel for them. Information and youtube intro the hotel. Then bring customer to their hotel home page.&lt;/li&gt;&lt;li&gt;Ocean feature in google earth is focus on educate ppl importance of environmental protection. Help government to educate ppl, submit geographical data for research. See the youtube Google earth 5 launch event to know more about ocean.&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Gf69cRh01Q0&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Gf69cRh01Q0&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Technically work!!! Totally not an issue. &lt;/div&gt;&lt;div&gt;It easier than war game in google earth. Start this phase first for training our guy to get use to google earth technology. Prepare for the second phase of social networking and war game.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Progress&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Learning &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Using SketchUp to draw 3d building and integrate to google earth.&lt;/li&gt;&lt;li&gt;Export kmz file for ppl download.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Next - How to import it to google earth to make it share with all users. No need download individual file to view. Because it can be public in google servel or private in individual kmz file.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-5523336491707910951?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/5523336491707910951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=5523336491707910951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/5523336491707910951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/5523336491707910951'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/06/attractice-tourism-in-google-earth.html' title='Attractive Tourism in Google Earth'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-8782499253594867777</id><published>2009-06-18T10:14:00.000-07:00</published><updated>2009-06-18T10:53:29.933-07:00</updated><title type='text'>Vista Setup Guide</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight: bold;"&gt;1) Step&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;UAC Popup "Windows needs your permission to continue":&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;img class="alignnone size-full wp-image-423" title="UAC Popup example" src="http://www.lancelhoff.com/wp-content/uploads/2008/06/uac.jpg" alt="UAC Popup example" width="424" height="247" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span&gt;How to quickly disable &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;User Account&lt;/span&gt; Control (UAC):&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Click the round blue Windows &lt;strong&gt;Start&lt;/strong&gt; button. Now click &lt;strong&gt;Control Panel&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;From the Control Panel, click &lt;strong&gt;User Accounts and Family Safety&lt;/strong&gt; (or User Accounts if your in classic view)&lt;/li&gt;&lt;li&gt;Click the option to &lt;strong&gt;&lt;span&gt;Turn &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;User Account&lt;/span&gt; Control on or off&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Uncheck&lt;/strong&gt; the box next to &lt;strong&gt;&lt;span&gt;Use &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;User Account&lt;/span&gt; Control (UAC) to help protect your computer&lt;/span&gt;&lt;/strong&gt; and click &lt;strong&gt;OK&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Restart when prompted&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2 )Step Configuration for Vista accept XP folder&lt;/span&gt;&lt;br /&gt;Vista uses the more-picky NTLMv2 network protocol, while XP uses NTLMv1. The answer is, therefore, to switch Vista to use NTLMv1.&lt;br /&gt;&lt;br /&gt;Here's the Mac-oriented post which tells how to modify Vista:  &lt;a set="yes" linkindex="151" href="http://www.broadbandreports.com/faq/14837" target="_blank"&gt;http://www.broadbandreports.com/faq/14837&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Rewriting it in Windows terminology, it would read:&lt;br /&gt;&lt;br /&gt;To allow Vista to talk to your XP/2000/Linux shares, you must allow Vista to authenticate via NTLMv1:&lt;br /&gt;&lt;br /&gt;If you have Windows Vista Home Basic/Premium:&lt;br /&gt;Open the registry editor. Navigate to&lt;br /&gt;&lt;br /&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa.&lt;br /&gt;&lt;br /&gt;There will be a value called LmCompatibilityLevel. Set that to DWORD 1. Reboot and try to connect again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-8782499253594867777?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/8782499253594867777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=8782499253594867777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/8782499253594867777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/8782499253594867777'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/06/vista-setup-guide.html' title='Vista Setup Guide'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-992494022573637525</id><published>2009-06-14T04:21:00.000-07:00</published><updated>2009-06-24T02:00:17.542-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google_Idea'/><title type='text'>Research 1 on Google earth</title><content type='html'>Thing can be on google earth&lt;br /&gt;&lt;div id="youtube" style="display: block; "&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/y4qSCl0z0TM&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/y4qSCl0z0TM&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-weight: bold; "&gt;Create 3d model on google earth by using &lt;a href="http://sketchup.google.com/index.html"&gt;sketchup&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/fj4qkMTEEIE&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/fj4qkMTEEIE&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Google Earth can be develop using Java &lt;a href="http://googlegeodevelopers.blogspot.com/2009/01/google-maps-api-library-for-gwt.html"&gt;Gwt API for Google Map&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial, sans-serif;font-size:13px;"&gt;&lt;a name="Getting_Started_with_Google_Maps"&gt;The Google Maps API provides a convenient JavaScript API which allows you to add mapping functionality to your application. The &lt;/a&gt;&lt;a href="http://code.google.com/p/gwt-google-apis" class="external" style="color: blue; "&gt;Google Maps library for GWT&lt;/a&gt; allows you to access this JavaScript API from Java code compiled with the GWT compiler. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;a href="http://code.google.com/docreader/#p=gwt-google-apis&amp;amp;s=gwt-google-apis&amp;amp;t=MapsGettingStarted"&gt;Documentation for GWT Google Map&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;b&gt;&lt;a href="http://code.google.com/apis/kml/documentation/"&gt;KML &lt;/a&gt;in Google Earth&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;span class="Apple-style-span"   style="  ;font-family:Helvetica, Arial, sans-serif;font-size:small;"&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;&lt;span class="Apple-style-span"  style=" ;font-size:small;"&gt;KML is a file format used to display geographic data in an Earth browser, such as Google Earth, Google Maps, and Google Maps for mobile. You can create KML files to pinpoint locations, add image overlays, and expose rich data in new ways. KML is an international standard maintained by the &lt;a href="http://www.opengeospatial.org/standards/kml/" style="color: rgb(0, 0, 204); "&gt;Open Geospatial Consortium, Inc. (OGC)&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;span class="Apple-style-span"   style="  line-height: normal; font-family:Myriad, Helvetica, Tahoma, Arial, clean, sans-serif;font-size:12px;"&gt;&lt;h1 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1.5em; font-weight: bold; line-height: 1em; "&gt;&lt;a href="http://kml-samples.googlecode.com/svn/trunk/interactive/index.html#./Models/Models.Shared_Textures.kml"&gt;KML Interactive Sampler&lt;/a&gt; &lt;span class="Apple-style-span"   style="  font-weight: normal; line-height: 16px; font-family:Helvetica, Arial, sans-serif;font-size:small;"&gt;You can see what can be done in google earth&lt;/span&gt;&lt;/h1&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-992494022573637525?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/992494022573637525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=992494022573637525' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/992494022573637525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/992494022573637525'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/06/research-1-on-google-earth.html' title='Research 1 on Google earth'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-1637270543961025428</id><published>2009-05-06T21:24:00.001-07:00</published><updated>2009-05-06T21:47:40.426-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IceSoft'/><title type='text'>IceSoft Logo</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_aXiMiF5xmTQ/SgJi6ZIoGrI/AAAAAAAAABM/1ImsTRm8YqM/s1600-h/icesoft_logo_ver2.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5332933664079092402" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand; HEIGHT: 166px" alt="" src="http://2.bp.blogspot.com/_aXiMiF5xmTQ/SgJi6ZIoGrI/AAAAAAAAABM/1ImsTRm8YqM/s200/icesoft_logo_ver2.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;                 By Celine&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_aXiMiF5xmTQ/SgJi1W1OImI/AAAAAAAAABE/RykMw5wskDw/s1600-h/icesoft_logo_ver2.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5332933577561481826" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand; HEIGHT: 166px" alt="" src="http://4.bp.blogspot.com/_aXiMiF5xmTQ/SgJi1W1OImI/AAAAAAAAABE/RykMw5wskDw/s200/icesoft_logo_ver2.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_aXiMiF5xmTQ/SgJixXRATPI/AAAAAAAAAA8/jgt_m7QTu9M/s1600-h/icesoft_logo.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5332933508958538994" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand; HEIGHT: 166px" alt="" src="http://2.bp.blogspot.com/_aXiMiF5xmTQ/SgJixXRATPI/AAAAAAAAAA8/jgt_m7QTu9M/s200/icesoft_logo.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Which one better?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-1637270543961025428?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/1637270543961025428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=1637270543961025428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/1637270543961025428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/1637270543961025428'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/05/icesoft-logo.html' title='IceSoft Logo'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aXiMiF5xmTQ/SgJi6ZIoGrI/AAAAAAAAABM/1ImsTRm8YqM/s72-c/icesoft_logo_ver2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-3365710991829153805</id><published>2009-05-04T23:51:00.000-07:00</published><updated>2009-06-14T09:59:05.297-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google_Idea'/><title type='text'>World War on Google Earth</title><content type='html'>What can be done on google earth? Thing come out from my mind is game but it can link with the hottest idea in 2000 century which is social networking. Since google eart provide us the virtual earth. We can do anything on top of it right. We can rotate,split,stretch and finally boom the earth. Cool men...So why not we create a World War Game on Google Earth. since google already provide drawing feature for user to draw building on it. Then we just need to make animation on it. Create 3D ppl on it.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_aXiMiF5xmTQ/Sf_rwuvTQwI/AAAAAAAAAAs/h5bZe0WxKkw/s1600-h/ps3-home-2.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_aXiMiF5xmTQ/Sf_q7UIbizI/AAAAAAAAAAk/-5sXvVsMK80/s1600-h/PCCD_command_and_conquer_the_first_decade_scr.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5332238788567206706" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 239px" alt="" src="http://2.bp.blogspot.com/_aXiMiF5xmTQ/Sf_q7UIbizI/AAAAAAAAAAk/-5sXvVsMK80/s320/PCCD_command_and_conquer_the_first_decade_scr.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;War Game&lt;/strong&gt;&lt;br /&gt;Player can register their house and draw their house on it. Then trying to protect their house and country. Thus, the war location is same as our earth. Player can be soldier when there is a war or can attact another country.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_aXiMiF5xmTQ/Sf_rwuvTQwI/AAAAAAAAAAs/h5bZe0WxKkw/s1600-h/ps3-home-2.jpg"&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_aXiMiF5xmTQ/Sf_rwuvTQwI/AAAAAAAAAAs/h5bZe0WxKkw/s1600-h/ps3-home-2.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href="http://3.bp.blogspot.com/_aXiMiF5xmTQ/Sf_r6IMFWbI/AAAAAAAAAA0/mhbn4SgaILo/s1600-h/ps3-home-2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5332239867693062578" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 179px" alt="" src="http://3.bp.blogspot.com/_aXiMiF5xmTQ/Sf_r6IMFWbI/AAAAAAAAAA0/mhbn4SgaILo/s320/ps3-home-2.jpg" border="0" /&gt;&lt;/a&gt;Social networking&lt;/strong&gt;&lt;br /&gt;Individual have their own identity in the virtual world. So you can do anything that you are not dare to do in real world for example boy wanted to tackle a girl but he scare on real worth. It can be done there. Whatelse...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_aXiMiF5xmTQ/SgKGSZ1orhI/AAAAAAAAAB0/W_ZYVwYjYko/s1600-h/thumb.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5332972559491706386" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 160px; CURSOR: hand; HEIGHT: 128px" alt="" src="http://2.bp.blogspot.com/_aXiMiF5xmTQ/SgKGSZ1orhI/AAAAAAAAAB0/W_ZYVwYjYko/s200/thumb.png" border="0" /&gt;&lt;/a&gt;&lt;strong&gt;Animation on Google Earth&lt;/strong&gt;&lt;br /&gt;Finally i found out the google earth api and &lt;a href="http://earth-api-samples.googlecode.com/svn/trunk/demos/milktruck/index.html"&gt;demo &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-3365710991829153805?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/3365710991829153805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=3365710991829153805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/3365710991829153805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/3365710991829153805'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/05/world-war-on-google-earth.html' title='World War on Google Earth'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aXiMiF5xmTQ/Sf_q7UIbizI/AAAAAAAAAAk/-5sXvVsMK80/s72-c/PCCD_command_and_conquer_the_first_decade_scr.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-1224756477226111841</id><published>2009-01-12T08:27:00.000-08:00</published><updated>2009-06-30T07:38:26.799-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><title type='text'>JBoss Clustering with Microsoft Network Load Balancing</title><content type='html'>&lt;strong&gt;Jboss configuration&lt;/strong&gt;&lt;br /&gt;Changes in jboss-service.xml&lt;br /&gt;C:\Server\jboss-4.2.2\server\all\deploy\jboss-web-cluster.sar\META-INF\jboss-service.xml&lt;br /&gt;1) delete &amp;lt;Config&amp;gt; &amp;lt;UDP&amp;gt; .... &amp;lt;/Config&amp;gt;&lt;br /&gt;2) paste the following code to the same area of deleted code.&lt;br /&gt;The initial_hosts highlighted bellow is to specify other server's IP.&lt;br /&gt;3) Sample jboss-service.xml is located in “NLB Manager PrintScreen &amp;amp; Config File” folder&lt;br /&gt;&lt;blockquote&gt;&amp;lt;config&amp;gt;&lt;br /&gt;&amp;lt;TCP start_port="7810" loopback="true" bind_addr="${bind.address}"&lt;br /&gt;tcp_nodelay="true"&lt;br /&gt;recv_buf_size="20000000"&lt;br /&gt;send_buf_size="640000"&lt;br /&gt;discard_incompatible_packets="true"&lt;br /&gt;enable_bundling="false"&lt;br /&gt;max_bundle_size="64000"&lt;br /&gt;max_bundle_timeout="30"&lt;br /&gt;use_incoming_packet_handler="true"&lt;br /&gt;use_outgoing_packet_handler="false"&lt;br /&gt;down_thread="false" up_thread="false"&lt;br /&gt;use_send_queues="false"&lt;br /&gt;sock_conn_timeout="300"&lt;br /&gt;skip_suspected_members="true"/&amp;gt;&lt;br /&gt;&amp;lt;TCPPING initial_hosts="192.168.0.7[7810]" port_range="3"&lt;br /&gt;timeout="3000"&lt;br /&gt;down_thread="false" up_thread="false"&lt;br /&gt;num_initial_members="3"/&amp;gt;&lt;br /&gt;&amp;lt;MERGE2 max_interval="100000"&lt;br /&gt;down_thread="false" up_thread="false" min_interval="20000"/&amp;gt;&lt;br /&gt;&amp;lt;FD_SOCK down_thread="false" up_thread="false"/&amp;gt;&lt;br /&gt;&amp;lt;FD timeout="10000" max_tries="5" down_thread="false" up_thread="false" shun="true"/&amp;gt;&lt;br /&gt;&amp;lt;VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/&amp;gt;&lt;br /&gt;&amp;lt;pbcast.NAKACK max_xmit_size="60000"&lt;br /&gt;use_mcast_xmit="false" gc_lag="0"&lt;br /&gt;retransmit_timeout="300,600,1200,2400,4800"&lt;br /&gt;down_thread="false" up_thread="false"&lt;br /&gt;discard_delivered_msgs="true"/&amp;gt;&lt;br /&gt;&amp;lt;pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"&lt;br /&gt;down_thread="false" up_thread="false"&lt;br /&gt;max_bytes="400000"/&amp;gt;&lt;br /&gt;&amp;lt;pbcast.GMS print_local_addr="true" join_timeout="3000"&lt;br /&gt;down_thread="false" up_thread="false"&lt;br /&gt;join_retry_timeout="2000" shun="true"&lt;br /&gt;view_bundling="true"/&amp;gt;&lt;br /&gt;&amp;lt;FC max_credits="2000000" down_thread="false" up_thread="false"&lt;br /&gt;min_threshold="0.10"/&amp;gt;&lt;br /&gt;&amp;lt;FRAG2 frag_size="60000" down_thread="false" up_thread="false"/&amp;gt;&lt;br /&gt;&amp;lt;pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="false"/&amp;gt;&lt;br /&gt;&amp;lt;/config&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;4) change REPL_ASYNC to REPL_SYNC&lt;br /&gt;&amp;lt;attribute name="CacheMode"&amp;gt;REPL_SYNC&amp;lt;/attribute&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Changes in cluster-service.xml&lt;/strong&gt;&lt;br /&gt;C:\Server\jboss-4.2.3.GA\server\all\deploy\cluster-service.xml&lt;br /&gt;1) delete &amp;lt;Config&amp;gt; &amp;lt;UDP&amp;gt; .... &amp;lt;/Config&amp;gt;&lt;br /&gt;2) paste the following code to the same area of deleted code.&lt;br /&gt;The initial_hosts highlighted bellow is to specify other server's IP.&lt;br /&gt;&lt;blockquote&gt;&amp;lt;Config&amp;gt;&lt;br /&gt;&amp;lt;TCP start_port="7800" loopback="true" bind_addr="${bind.address}"&lt;br /&gt;tcp_nodelay="true"&lt;br /&gt;recv_buf_size="20000000"&lt;br /&gt;send_buf_size="640000"&lt;br /&gt;discard_incompatible_packets="true"&lt;br /&gt;enable_bundling="false"&lt;br /&gt;max_bundle_size="64000"&lt;br /&gt;max_bundle_timeout="30"&lt;br /&gt;use_incoming_packet_handler="true"&lt;br /&gt;use_outgoing_packet_handler="false"&lt;br /&gt;down_thread="false" up_thread="false"&lt;br /&gt;use_send_queues="false"&lt;br /&gt;sock_conn_timeout="300"&lt;br /&gt;skip_suspected_members="true"/&amp;gt;&lt;br /&gt;&amp;lt;TCPPING initial_hosts="192.168.0.7[7800]" port_range="3"&lt;br /&gt;timeout="3000"&lt;br /&gt;down_thread="false" up_thread="false"&lt;br /&gt;num_initial_members="3"/&amp;gt;&lt;br /&gt;&amp;lt;MERGE2 max_interval="100000"&lt;br /&gt;down_thread="false" up_thread="false" min_interval="20000"/&amp;gt;&lt;br /&gt;&amp;lt;FD_SOCK down_thread="false" up_thread="false"/&amp;gt;&lt;br /&gt;&amp;lt;FD timeout="10000" max_tries="5" down_thread="false" up_thread="false" shun="true"/&amp;gt;&lt;br /&gt;&amp;lt;VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/&amp;gt;&lt;br /&gt;&amp;lt;pbcast.NAKACK max_xmit_size="60000"&lt;br /&gt;use_mcast_xmit="false" gc_lag="0"&lt;br /&gt;retransmit_timeout="300,600,1200,2400,4800"&lt;br /&gt;down_thread="false" up_thread="false"&lt;br /&gt;discard_delivered_msgs="true"/&amp;gt;&lt;br /&gt;&amp;lt;pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"&lt;br /&gt;down_thread="false" up_thread="false"&lt;br /&gt;max_bytes="400000"/&amp;gt;&lt;br /&gt;&amp;lt;pbcast.GMS print_local_addr="true" join_timeout="3000"&lt;br /&gt;down_thread="false" up_thread="false"&lt;br /&gt;join_retry_timeout="2000" shun="true"&lt;br /&gt;view_bundling="true"/&amp;gt;&lt;br /&gt;&amp;lt;pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="false"/&amp;gt;&lt;br /&gt;&amp;lt;/Config&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;&amp;lt;depends&amp;gt;jboss:service=Naming&amp;lt;/depends&amp;gt;&lt;br /&gt;&amp;lt;/mbean&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;3) replace the HAJNDI portion with following code. Highlighted word is the only changes.&lt;br /&gt;&lt;blockquote&gt;&amp;lt;mbean code="org.jboss.ha.jndi.HANamingService"&lt;br /&gt;name="jboss:service=HAJNDI"&amp;gt;&lt;br /&gt;&amp;lt;!-- We now inject the partition into the HAJNDI service instead&lt;br /&gt;of requiring that the partition name be passed --&amp;gt;&lt;br /&gt;&amp;lt;depends optional-attribute-name="ClusterPartition"&lt;br /&gt;proxy-type="attribute"&amp;gt;jboss:service=${jboss.partition.name:DefaultPartition}&amp;lt;/depends&amp;gt;&lt;br /&gt;&amp;lt;!-- Bind address of bootstrap and HA-JNDI RMI endpoints --&amp;gt;&lt;br /&gt;&amp;lt;attribute name="BindAddress"&amp;gt;${bind.address}&amp;lt;/attribute&amp;gt;&lt;br /&gt;&amp;lt;!-- Port on which the HA-JNDI stub is made available --&amp;gt;&lt;br /&gt;&amp;lt;attribute name="Port"&amp;gt;1100&amp;lt;/attribute&amp;gt;&lt;br /&gt;&amp;lt;!-- RmiPort to be used by the HA-JNDI service once bound. 0 =&amp;gt; auto. --&amp;gt;&lt;br /&gt;&amp;lt;attribute name="RmiPort"&amp;gt;1101&amp;lt;/attribute&amp;gt;&lt;br /&gt;&amp;lt;!-- Accept backlog of the bootstrap socket --&amp;gt;&lt;br /&gt;&amp;lt;attribute name="Backlog"&amp;gt;50&amp;lt;/attribute&amp;gt;&lt;br /&gt;&amp;lt;!-- The thread pool service used to control the bootstrap and&lt;br /&gt;auto discovery lookups --&amp;gt;&lt;br /&gt;&amp;lt;depends optional-attribute-name="LookupPool"&lt;br /&gt;proxy-type="attribute"&amp;gt;jboss.system:service=ThreadPool&amp;lt;/depends&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- A flag to disable the auto discovery via multicast --&amp;gt;&lt;br /&gt;&amp;lt;attribute name="DiscoveryDisabled"&amp;gt;false&amp;lt;/attribute&amp;gt;&lt;br /&gt;&amp;lt;!-- Set the auto-discovery bootstrap multicast bind address. If not&lt;br /&gt;specified and a BindAddress is specified, the BindAddress will be used. --&amp;gt;&lt;br /&gt;&amp;lt;attribute name="AutoDiscoveryBindAddress"&amp;gt;${bind.address}&amp;lt;/attribute&amp;gt;&lt;br /&gt;&amp;lt;!-- Multicast Address and group port used for auto-discovery --&amp;gt;&lt;br /&gt;&amp;lt;attribute name="AutoDiscoveryAddress"&amp;gt;${jboss.partition.udpGroup:230.0.0.4}&amp;lt;/attribute&amp;gt;&lt;br /&gt;&amp;lt;attribute name="AutoDiscoveryGroup"&amp;gt;1102&amp;lt;/attribute&amp;gt;&lt;br /&gt;&amp;lt;!-- The TTL (time-to-live) for autodiscovery IP multicast packets --&amp;gt;&lt;br /&gt;&amp;lt;attribute name="AutoDiscoveryTTL"&amp;gt;16&amp;lt;/attribute&amp;gt;&lt;br /&gt;&amp;lt;!-- The load balancing policy for HA-JNDI --&amp;gt;&lt;br /&gt;&amp;lt;attribute name="LoadBalancePolicy"&amp;gt;org.jboss.ha.framework.interfaces.RoundRobin&amp;lt;/attribute&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- Client socket factory to be used for client-server&lt;br /&gt;RMI invocations during JNDI queries&lt;br /&gt;&amp;lt;attribute name="ClientSocketFactory"&amp;gt;custom&amp;lt;/attribute&amp;gt;&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;!-- Server socket factory to be used for client-server&lt;br /&gt;RMI invocations during JNDI queries&lt;br /&gt;&amp;lt;attribute name="ServerSocketFactory"&amp;gt;custom&amp;lt;/attribute&amp;gt;&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;/mbean&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;4) Sample cluster-service.xml is located in “NLB Manager PrintScreen &amp;amp; Config File” folder&lt;br /&gt;&lt;br /&gt;Start your Jboss with the following command line.&lt;br /&gt;Located in NLB Manager PrintScreen &amp;amp; Config File/runCluster.bat.&lt;br /&gt;Modify the highlighted IP. 192.168.0.225 is virtual IP and 192.168.0.7 is local IP.&lt;br /&gt;run -Dignore.bind.address=true -b 192.168.0.225 -Dbind.address=192.168.0.7 -c all&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-1224756477226111841?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/1224756477226111841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=1224756477226111841' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/1224756477226111841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/1224756477226111841'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/01/jboss-clustering-with-microsoft-network.html' title='JBoss Clustering with Microsoft Network Load Balancing'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-6410752726645122205</id><published>2009-01-04T22:47:00.000-08:00</published><updated>2009-01-04T23:44:18.092-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><title type='text'>Change URL of GWT output</title><content type='html'>&lt;div&gt;One of the issue in gwt is the url. If your package of app.gwt.xml is in com.y2bid.gwt, then your url of html output from compiler will be &lt;a href="http://127.0.0.1/com.y2bid.gwt.app/index"&gt;http://127.0.0.1/com.y2bid.gwt.app/index&lt;/a&gt;. Is it not nice!!! Inorder to avoid the package become URL you can choose the following methods.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;3 Methods &lt;/strong&gt;&lt;br /&gt;1) &amp;lt; module rename-to="app" &amp;gt; . This way will give you a bit problem in hosted mode because of the url different and problem with your url in web.xml&lt;br /&gt;&lt;br /&gt;2) Create new package and inherit the actual gwt.xml file.&lt;br /&gt;&lt;br /&gt;3) Compiled all to javascript then rename the folder. This will cause you hard to do testing with your server if you have url mapping in web.xml&lt;br /&gt;&lt;br /&gt;Conclusion&lt;br /&gt;Method No. 2 is the best to fulfill all the need(Testing in hosted mode and deploy). &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-6410752726645122205?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/6410752726645122205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=6410752726645122205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/6410752726645122205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/6410752726645122205'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2009/01/change-url-of-gwt-output.html' title='Change URL of GWT output'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-1092767840637297902</id><published>2008-12-14T08:25:00.001-08:00</published><updated>2008-12-14T08:28:52.615-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><title type='text'>Sanjiv Comment on ppl argue with Pure Gwt and Javascript Wrapper ( SmartGWT )</title><content type='html'>&lt;blockquote&gt;Compile output size and runtime performance are two separate issues. A&lt;br /&gt;third party widget written in GWT Java, regardless of how small it compiles down&lt;br /&gt;to, doesn't magically make it run fast. Nor does it make it magically render&lt;br /&gt;perfectly on all browsers. As an example a TableGrid written in GWT Java could&lt;br /&gt;still perform really poorly, and not display consistently on all browsers.&lt;br /&gt;There are obviously several aspects to GWT that helps avoid leaks and such&lt;br /&gt;but this does not mean that any third party code written in GWT is&lt;br /&gt;100% leak free. The GWT 1.6 event API is really neat and SmartGWT users&lt;br /&gt;it. Well written code is what will perform well and display consistently&lt;br /&gt;across various browser.&lt;br /&gt;On the issue of performance, there are numerous posts&lt;br /&gt;made by paying GXT users that the performance of GWT-Ext is still better than&lt;br /&gt;GXT. You can search their forums. This is not to suggest that performance&lt;br /&gt;improvements cannot be made in SmartGWT. If you can give specifics, it would&lt;br /&gt;certainly help in resolving them. But without specifics like whether it was the&lt;br /&gt;initial load time, performance of specific widgets etc it will be difficult to&lt;br /&gt;act on. Feel free to post on the SmartGWT forums or create an issue on the&lt;br /&gt;smartgwt google code project.&lt;br /&gt;On the issue of compile output size : The&lt;br /&gt;SmartClient library is extremely stable and developed over the past 8 years.&lt;br /&gt;If you peruse their forums, you will find that pretty much all questions&lt;br /&gt;are met with an answer explaining how the user can accomplish what they're&lt;br /&gt;trying to do. Their library is virtually bug free. I realize this is a strong&lt;br /&gt;statement, but its true. Only some 4-5 issues were patched&lt;br /&gt;post-release. Compare this to the bugs forum of any of&lt;br /&gt;your favorite libraries. SmartGWT will inherit these attributes&lt;br /&gt;once its past the few initial minor releases and issues are flushed out during&lt;br /&gt;this period. Due to the high level of stability of SmartClient, it can be&lt;br /&gt;viewed as the kernel of your web app which should be configured to be&lt;br /&gt;gzipped with an "Expires Never" header for a given version. This means that the&lt;br /&gt;browser will cache the "kernel" (SmartClient JS files) and the only code that&lt;br /&gt;gets downloaded is your application code, and not any code related to the widget&lt;br /&gt;/ framework. Future releases of SmartGWT will provide a GWT linker that only&lt;br /&gt;pulls in the required files so this should cut down the total size of the&lt;br /&gt;application.&lt;br /&gt;The SmartGWT showcase has some 250 samples which is 6 times more&lt;br /&gt;than the GXT showcase so its not quite apples to apples when it comes to initial&lt;br /&gt;load time.&lt;br /&gt;Finally please read my blog entry &lt;a href="http://www.jroller.com/sjivan/entry/smartgwt_1_0_released" target="_blank"&gt;http://www.jroller.com/sjivan/entry/smartgwt_1_0_released&lt;/a&gt; if&lt;br /&gt;you haven't already done so. I go over the SmartGWT fundamentals, the concept of&lt;br /&gt;a DataSource and how it will lead to a cleaner architecture and can cut&lt;br /&gt;application code significantly. I mention how a master detail page can be&lt;br /&gt;written in as little as 10 lines using a reusable DataSource definition that&lt;br /&gt;describes an entity / model class. Plus the reduced number of lines of code on&lt;br /&gt;the server as well.This is the first release of SmartGWT and while it is quite&lt;br /&gt;stable and has been tested and used by early adopters for the past four weeks,&lt;br /&gt;users can expect any rough edges / bugs / performance issues / better skins etc&lt;br /&gt;to be ironed out over the course of the next few minor releases.As mentioned&lt;br /&gt;earlier, if users have found a library that meets their needs, thats great and&lt;br /&gt;there's no need to look further. And for the others, feel free to evaluate&lt;br /&gt;SmartGWT to see if it helps meet your requirements. If you feel that there are&lt;br /&gt;things that can be improved please post on the SmartGWT forum or create an issue&lt;br /&gt;on the google code project page.&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-1092767840637297902?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/1092767840637297902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=1092767840637297902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/1092767840637297902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/1092767840637297902'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2008/12/sanjiv-commment-on-ppl-argue-with-pure.html' title='Sanjiv Comment on ppl argue with Pure Gwt and Javascript Wrapper ( SmartGWT )'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-3086216007734201564</id><published>2008-12-13T03:59:00.000-08:00</published><updated>2008-12-13T04:01:36.821-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Design'/><title type='text'>Nice Icon from dryicons.com</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_aXiMiF5xmTQ/SUOj07-ByEI/AAAAAAAAAAc/hITHWfTTRNY/s1600-h/coquette_preview.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5279243318054733890" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 210px; CURSOR: hand; HEIGHT: 400px" alt="" src="http://2.bp.blogspot.com/_aXiMiF5xmTQ/SUOj07-ByEI/AAAAAAAAAAc/hITHWfTTRNY/s400/coquette_preview.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Recommended icon download site.&lt;/div&gt;&lt;div&gt;&lt;a href="http://dryicons.com/"&gt;http://dryicons.com&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-3086216007734201564?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/3086216007734201564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=3086216007734201564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/3086216007734201564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/3086216007734201564'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2008/12/nice-icon-from-dryiconscom.html' title='Nice Icon from dryicons.com'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aXiMiF5xmTQ/SUOj07-ByEI/AAAAAAAAAAc/hITHWfTTRNY/s72-c/coquette_preview.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-3863854865597007713</id><published>2008-12-12T19:17:00.000-08:00</published><updated>2008-12-12T21:45:53.790-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><category scheme='http://www.blogger.com/atom/ns#' term='Design Pattern'/><title type='text'>Gwt UI Component with Fluent Interface Pattern</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Fluent_interface" linkindex="9" set="yes"&gt;Fluent Interface pattern&lt;/a&gt; Fluent Interface is come from &lt;a href="http://randypatterson.com/ct.ashx?id=7b10ffdb-58f4-4ec0-bbe6-714cdc92e864&amp;amp;url=http%3a%2f%2fen.wikipedia.org%2fwiki%2fMartin_Fowler" target="_blank" linkindex="44" set="yes"&gt;Martin Fowler&lt;/a&gt;. These types of design pattern are often utilized to create configurations for your objects but can progress into an internal &lt;a href="http://randypatterson.com/ct.ashx?id=7b10ffdb-58f4-4ec0-bbe6-714cdc92e864&amp;amp;url=http%3a%2f%2fmartinfowler.com%2fbliki%2fDomainSpecificLanguage.html" target="_blank" linkindex="46" set="yes"&gt;Domain Specific Language&lt;/a&gt; or DSL.&lt;br /&gt;&lt;br /&gt;I will use GWT as a sample to point out the issue of Swing like development with HTML\tag style for UI programming. In GWT/Swing like coding style, have you found out that the number of line of code is much more than tag style. Look at the following explanation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Gwt Button with out Fluent Design&lt;/strong&gt;&lt;br /&gt;Button disabledButton = new Button();&lt;br /&gt;disabledButton.ensureDebugId("cwBasicButton-disabled");&lt;br /&gt;disabledButton.setEnabled(false);&lt;br /&gt;disabledButton.setWidth("11");&lt;br /&gt;disabledButton.setHeight("11");&lt;br /&gt;disabledButton.setTitle("Disable Button");&lt;br /&gt;disabledButton.setFocus(true);&lt;br /&gt;//Come on!!! still set again.. :( ..How many line already!!! that is just one UI component...&lt;br /&gt;.....&lt;br /&gt;...&lt;br /&gt;..&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;HTML / Tag style&lt;/strong&gt;&lt;br /&gt;All the properties can be in one line and optional.&lt;br /&gt;&amp;lt; button title="Disable Button" width="11" focus=" true" height=" 11" enabled=" false" ensuredebugid="cwBasicButton-disabled" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Gwt Button with Fluent Design&lt;/strong&gt;&lt;br /&gt;Button disabledButton = new Button()&lt;br /&gt;.ensureDebugId("cwBasicButton-disabled").setEnabled(false).setWidth("11").setHeight("11").setTitle("Disable Button").setFocus(true) ;&lt;br /&gt;&lt;br /&gt;Fluent like coding style is something like tag/annotation style of code. It is good to configure an object.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Constructor way of coding&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;No wait a minute, We can use Constructor to passin the properties so it can be in one line of code.&lt;/em&gt;&lt;br /&gt;Maybe you can create constructor for the Button object with all the properties but how many combination of properties you can create. Bad design because it is not easy to read.&lt;br /&gt;Button disabledButton = new Button("cwBasicButton-disabled", true, true); //what is the true true for? Which one is enabled? Which one is focus?&lt;br /&gt;&lt;br /&gt;public Button ( String ensureDebugId, boolean enabled, boolean focus){...}&lt;br /&gt;public Button ( String ensureDebugId, boolean enabled, String title ){...}&lt;br /&gt;public Button ( String ensureDebugId, boolean enabled, boolean focus){...}&lt;br /&gt;// you can create somemore for other properties...if you are hardworking.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Make Button with Fluent Interfaces Design Pattern&lt;/strong&gt;&lt;br /&gt;So in order for GWT/Swing like coding style to solve all this issues and to minimise the number of line of code and readability. Fluent interfaces pattern has to be implemented.&lt;br /&gt;All the UI component should be coded in the following way. All setters have to return this own for the subsequent statement to call again.&lt;br /&gt;&lt;br /&gt;Button SetTitle(String title){&lt;br /&gt;this.title= title;&lt;br /&gt;return this;&lt;br /&gt;}&lt;br /&gt;Button SetEnabled(boolean enabled){&lt;br /&gt;this.enabled= enabled;&lt;br /&gt;return this;&lt;br /&gt;}&lt;br /&gt;...&lt;br /&gt;..// for all the setter of the properties&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Button with Java5 Annotation&lt;/strong&gt;&lt;br /&gt;With the Java5 Annotation support, you can easily configure an object in Attribute Oriented Programming way. But do you think gwt support annotation in runtime mode? The answer is no. But we can use it via gwt generator wich mean in the compile time.&lt;br /&gt;@ButtonProperties( ensureDebugId="cwBasicButton-disabled", enabled= false, width=11, height=11, title="Disable Button", focus=true )&lt;br /&gt;Button button = new Button();&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Fluent Interfaces Pattern in SQL&lt;/strong&gt;&lt;br /&gt;let see how it can be in Sql.&lt;br /&gt;Query = q = new Query()&lt;br /&gt;.select("name","age").from("Student").where("age").between(12,20).where("gender").is("M")&lt;br /&gt;This can be easily refactor and avoid typo error. Sound good right!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finally, i hope our programming trend is going to attribute oriented programming and fluent Interfaces Pattern. THE WORLD IS JUST CONFIGURE &lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-3863854865597007713?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/3863854865597007713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=3863854865597007713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/3863854865597007713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/3863854865597007713'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2008/12/gwt-ui-component-with-fluent-interface.html' title='Gwt UI Component with Fluent Interface Pattern'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-2480617201857224697</id><published>2008-12-12T08:21:00.000-08:00</published><updated>2008-12-12T08:36:28.359-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><title type='text'>GWT 1.6 going to release soon</title><content type='html'>Happy to see that GWT 1.6 going to release soon. Estimated on Q1 2009. Compiler performance improvements is a high demand feature in gwt group from all GWT developer. Hopefully it can reduce the compilation time to 50% and more. Other than that will be Developer Guided Code splitting, to avoid download all javascript at the first load.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Release 1.6&lt;br /&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;New compiled file deployment structure&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Easily compile into a war file structure, making it easy to deploy your compiled GWT application into standard servlet containers&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Migration from Tomcat to Jetty hosted mode server&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;A more pluggable architecture for the hosted mode server will enable developers to use servlet containers other than Tomcat with the Hosted Mode browser&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Uniform event handlers&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Event handlers will be implemented in a uniform fashion across all widgets, with listeners deprecated&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;DatePicker, LazyPanel migrated in from incubator&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;New widgets from the incubator&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;String performance improvements&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;StringBuilder uses deferred binding to optimize string appends per-browser&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Compiler performance improvements&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;1.6 will introduce parallel permutation compilations and other performance tweaks for faster compiles&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Post 1.6&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Developer Guided Code splitting&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Developer guided code splitting is a mechanism that allows developers to specify asynchronous split points in their code where the code base can be split and downloaded in different chunks. This is currently an R&amp;amp;D project but looks promising.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Analysis of compiled code, aka Story of your compile (SOYC)&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Aims to give developers concrete information about their compiled JavaScript, such as which Java classes are generating the most JavaScript code.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;In-browser hosted mode, aka Out-of-process Hosted Mode (OOPHM)&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;In-browser hosted mode will allow GWT developers to debug their apps within a browser rather than GWT's hosted mode browser&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;UI Binder&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The UI Binder will allow the creation of UI elements in a declarative fashion. Watch for UI Binder to land in the GWT incubator soon.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Client Bundle&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Client Bundle implements the power of deferred binding used in Image Bundle in a generic fashion so that it can be used on many resources. These include TextResource, ImageResource, and CSSResource&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;RPC performance improvements&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Ongoing work to improve the performance of RPC&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div style="CLEAR: both"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-2480617201857224697?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/2480617201857224697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=2480617201857224697' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/2480617201857224697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/2480617201857224697'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2008/12/gwt-16-going-to-release-soon.html' title='GWT 1.6 going to release soon'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-4213795213342739681</id><published>2008-11-19T06:35:00.000-08:00</published><updated>2008-11-19T18:25:58.570-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><title type='text'>Sanjiv is back with SmartGWT</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_aXiMiF5xmTQ/SSQ3H5hGHkI/AAAAAAAAAAU/T56nX0EFt5I/s1600-h/smartgwt.PNG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5270398072768568898" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 159px; CURSOR: hand; HEIGHT: 400px" alt="" src="http://4.bp.blogspot.com/_aXiMiF5xmTQ/SSQ3H5hGHkI/AAAAAAAAAAU/T56nX0EFt5I/s400/smartgwt.PNG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;The God of GWT wrapper is back. Sanjiv is going to wrap another 3rd party UI library which is &lt;a href="http://www.smartclient.com/"&gt;SmartClient.&lt;/a&gt; This time the SmartClient is more rich than Ext Js. But i felt slow when browsing through the showcase. It is still the problem of GWT. Or it because of wrapper wich does not take advantage of GWT javascript optimisation in compilation. Here is the &lt;a href="http://www.smartclient.com/smartgwt/showcase/"&gt;showcare&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:Arial;"&gt;After the Issue happened in GwtExt, the first thing we need to see is the licensing issue. &lt;/span&gt;SmartGWT and the underlying SmartClient library are LGPL, free for use inside commercial, closed source applications without payment of any kind. Sound ok. Hope he found the right way to go this time.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:Arial;"&gt;SmartClient does provide web visual builder also. It sound really comprehensive. Here is the &lt;a href="http://www.smartclient.com/releases/vb_video.htm"&gt;video&lt;/a&gt; to showoff.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;SmartClient showcase-&gt;&lt;span style="font-family:Arial;"&gt;&lt;a href="http://www.smartclient.com/index.jsp#_Welcome"&gt;http://www.smartclient.com/index.jsp#_Welcome&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:Arial;"&gt;Some of the points and question coming out in my mind...&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;1)Is GwtExt going to end soon?&lt;/div&gt;&lt;div&gt;2)It is just the wrapper like GwtExt. It does not fully use the power of GWT like javascript optimisation and more...&lt;/div&gt;&lt;div&gt;3)Can Sanjiv be trusted this time?&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;If you are just the simple user. you should use SmartClient. If you are professional technology java guy. you should not consider this because you learn nothing. I still will choose ExtGwt. It is because it build up from native google api. We can learn the code from there and change the code if anything happen which you can't do anything with GwtExt and this SmartGWT.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-4213795213342739681?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/4213795213342739681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=4213795213342739681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/4213795213342739681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/4213795213342739681'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2008/11/sanjiv-is-back-with-smartgwt.html' title='Sanjiv is back with SmartGWT'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SSQ3H5hGHkI/AAAAAAAAAAU/T56nX0EFt5I/s72-c/smartgwt.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-5371972834767735353</id><published>2008-11-19T00:29:00.000-08:00</published><updated>2008-12-01T18:47:38.999-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Reporting'/><title type='text'>Comparison of Jasper and Birt</title><content type='html'>&lt;span style="font-family:Arial;"&gt;&lt;div&gt;There are 2 famous &lt;strong&gt;Java Reporting tools&lt;/strong&gt; which are Jasper( free ) / &lt;strong&gt;Jasper server&lt;/strong&gt; and Birt( free ) from Eclipse/&lt;strong&gt;Birt Exchange&lt;/strong&gt; from Actuate. You can consider the following points when selecting the java reporting for your project.&lt;/div&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Arial;font-size:13;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;Drawback of Birt&lt;/span&gt;&lt;br /&gt;1) Jasper ui is pixel base so you can get exactly what you see what you get but Birt is not. Issue in receipt printing for those location and allignment is fixed.&lt;br /&gt;2) Eclipse designer problem. You have to erase the whole filter and add again. The changes will not be reflected if you just modify from there.&lt;br /&gt;3) Output is different in Eclipse designer and real deployment when play with complex subreport.&lt;br /&gt;4) White space between row.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;Drawback of Jasper&lt;/span&gt;&lt;br /&gt;1) The subreport has to use whole row in main report but Birt not neccessary. Not really consider drawback of jasper because subreport is not really useful because of the performance issue.&lt;br /&gt;2) File size is big for embedding to your project because of the wizard and view page (i think).&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;Advantage of Birt&lt;/span&gt;&lt;br /&gt;1) Provide Wizard to create input screen in ajax.&lt;br /&gt;2) View reporting page is provided so programmer no need to code the output screen. But have to do the security part.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;Conclusion&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Jasper is the winner because it will not create many issue like Birt for programmer.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-5371972834767735353?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/5371972834767735353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=5371972834767735353' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/5371972834767735353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/5371972834767735353'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2008/11/jasper-vs-birt.html' title='Comparison of Jasper and Birt'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3116452135983591711.post-4327698423206988165</id><published>2008-11-13T05:03:00.000-08:00</published><updated>2008-11-13T05:27:27.080-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Docreader'/><title type='text'>Google Docreader : Change root label of tree</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_aXiMiF5xmTQ/SRwp0XjsDCI/AAAAAAAAAAM/MYi6nhY9JtA/s1600-h/docreader+root+title.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5268131643770276898" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 297px; CURSOR: hand; HEIGHT: 219px" alt="" src="http://4.bp.blogspot.com/_aXiMiF5xmTQ/SRwp0XjsDCI/AAAAAAAAAAM/MYi6nhY9JtA/s320/docreader+root+title.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;    At the beginning, the label is follow your project name which can not contain any space. Thus, it can not be meaningfull name for your document description. &lt;/div&gt;&lt;div&gt;    After i google arround the world, secret behind is you need to create a wiki page in your google project hosting named DisplayName.  &lt;/div&gt;&lt;div&gt;Example : &lt;a href="http://code.google.com/p/jimmy6/wiki/DisplayName"&gt;http://code.google.com/p/jimmy6/wiki/DisplayName&lt;/a&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3116452135983591711-4327698423206988165?l=j6framework.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://j6framework.blogspot.com/feeds/4327698423206988165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3116452135983591711&amp;postID=4327698423206988165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/4327698423206988165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3116452135983591711/posts/default/4327698423206988165'/><link rel='alternate' type='text/html' href='http://j6framework.blogspot.com/2008/11/google-docreader-change-root-label-of.html' title='Google Docreader : Change root label of tree'/><author><name>j6</name><uri>http://www.blogger.com/profile/13278538247518274748</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SqUVC29Bj4I/AAAAAAAAADQ/9XQJ0nVOY7E/S220/ice2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_aXiMiF5xmTQ/SRwp0XjsDCI/AAAAAAAAAAM/MYi6nhY9JtA/s72-c/docreader+root+title.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
