<?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-30081689</id><updated>2011-07-28T15:28:41.677-07:00</updated><title type='text'>ON9Blog-戇九博客</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-30081689.post-3098222918128088098</id><published>2007-11-08T17:41:00.000-08:00</published><updated>2007-11-08T17:48:35.866-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Myfaces 1.1.5 with RichFaces 3.1.1&lt;br /&gt;&lt;/span&gt;There is a compatibility problem between these libraries. The richfaces interference the component creation cycle and cached the creation process. The component will be re-created even the page is in first load, which fail the t:saveState.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30081689-3098222918128088098?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/3098222918128088098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=3098222918128088098' title='37 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/3098222918128088098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/3098222918128088098'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2007/11/myfaces-1.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>37</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-6122274909759042292</id><published>2007-10-15T20:12:00.000-07:00</published><updated>2007-10-15T20:15:23.926-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Installation location of JBoss 4.0.4&lt;/span&gt;&lt;br /&gt;The installation location of the JBoss 4.0.4 must not contains a whitespace, else it'll throw MalFormedURLException during the EJB lookup&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30081689-6122274909759042292?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/6122274909759042292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=6122274909759042292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/6122274909759042292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/6122274909759042292'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2007/10/installation-location-of-jboss-4.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-921318147528434113</id><published>2007-10-14T19:52:00.000-07:00</published><updated>2007-10-14T19:56:27.711-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Remote X Window using Cygwin&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;Download Cygwin and install it in any Win32 machine&lt;/li&gt;&lt;li&gt;In the Linux server, assume Gnome is the display manager, type "gdmsetup" and enable the XDMCP.&lt;/li&gt;&lt;li&gt;Open the bash shell in Cygwin, type "XWin -query &lt;hostaddress&gt;"&lt;/hostaddress&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a href="javascript:void(0)" tabindex="10" onclick="return false;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30081689-921318147528434113?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/921318147528434113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=921318147528434113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/921318147528434113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/921318147528434113'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2007/10/remote-x-window-using-cygwin-download.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-304020057636032238</id><published>2007-06-26T05:58:00.000-07:00</published><updated>2007-06-26T06:31:12.176-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-weight: bold;"&gt;Handling Chinese Characters in JSF/JSP&lt;/span&gt;&lt;br /&gt;The best way to handling chinese encoding problem is to install a JSP filter. &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30081689-304020057636032238?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/304020057636032238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=304020057636032238' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/304020057636032238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/304020057636032238'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2007/06/handling-chinese-character-in-jspjsf.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-571404157526650592</id><published>2007-02-23T00:07:00.000-08:00</published><updated>2007-07-15T23:52:49.264-07:00</updated><title type='text'></title><content type='html'>&lt;p&gt;&lt;span style="font-weight: bold;"&gt;JBoss AOP Part 2&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The previous post was about using JBoss AOP with load time weaving. This feature&lt;br /&gt;is great because there is no need for post compilation, the transformer will&lt;br /&gt;weave the AOP code to the normal Java bytecode automatically without any&lt;br /&gt;intervention. However, it failed in my project becoz there are many classes and&lt;br /&gt;the transformer is always complain about out of memory. The JBoss forum said&lt;br /&gt;this bug won't be fixed until the next two release. Since I'm die hard to try&lt;br /&gt;the Jboss AOP. I took the precompile approach. The steps are listed as&lt;br /&gt;followings&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Add the following in ur ant build script for AOP precompilation in netbeans&lt;br /&gt;&lt;br /&gt;&amp;lt;target name="-pre-dist"&amp;gt;&lt;br /&gt;&amp;lt;path id="javassist.classpath"&amp;gt;&lt;br /&gt;&amp;lt;pathelement path="/usr/local/share/download/jboss-aop_1.5.0.GA/lib-50/javassist.jar"/&amp;gt;&lt;br /&gt;&amp;lt;/path&amp;gt;&lt;br /&gt;&amp;lt;path id="trove.classpath"&amp;gt;&lt;br /&gt;&amp;lt;pathelement    path="/usr/local/share/download/jboss-aop_1.5.0.GA/lib-50/trove.jar"/&amp;gt;&lt;br /&gt;&amp;lt;/path&amp;gt;&lt;br /&gt;&amp;lt;path id="concurrent.classpath"&amp;gt;&lt;br /&gt;&amp;lt;pathelement    path="/usr/local/share/download/jboss-aop_1.5.0.GA/lib-50/concurrent.jar"/&amp;gt;&lt;br /&gt;&amp;lt;/path&amp;gt;&lt;br /&gt;&amp;lt;path id="jboss.common.classpath"&amp;gt;&lt;br /&gt;&amp;lt;pathelement   path="/usr/local/share/download/jboss-aop_1.5.0.GA/lib-50/jboss-common.jar"/&amp;gt;     &amp;lt;/path&amp;gt;&lt;br /&gt;&amp;lt;path id="lib.classpath"&amp;gt;&lt;br /&gt;&amp;lt;path refid="javassist.classpath"/&amp;gt;&lt;br /&gt;&amp;lt;path refid="trove.classpath"/&amp;gt;&lt;br /&gt;&amp;lt;path refid="jboss.aop.classpath"/&amp;gt;&lt;br /&gt;&amp;lt;path refid="jboss.common.classpath"/&amp;gt;&lt;br /&gt;&amp;lt;path refid="concurrent.classpath"/&amp;gt;&lt;br /&gt;&amp;lt;/path&amp;gt;&lt;br /&gt;&amp;lt;path id="jboss.aop.classpath"&amp;gt;&lt;br /&gt;&amp;lt;pathelement&lt;br /&gt;path="/usr/local/share/download/jboss-aop_1.5.0.GA/lib-50/jboss-aop-jdk50.jar"/&amp;gt;&lt;br /&gt;&amp;lt;/path&amp;gt;&lt;br /&gt;&amp;lt;path id="local.lib"&amp;gt;&lt;br /&gt;&amp;lt;fileset file="${build.web.dir.real}/WEB-INF/lib/*.jar"&amp;gt;&lt;br /&gt;&amp;lt;/fileset&amp;gt;&lt;br /&gt;&amp;lt;/path&amp;gt;&lt;br /&gt;&amp;lt;path id="classpath"&amp;gt;&lt;br /&gt;&amp;lt;path refid="lib.classpath"/&amp;gt;&lt;br /&gt;&amp;lt;path refid="jboss.aop.classpath"/&amp;gt;&lt;br /&gt;&amp;lt;path refid="local.lib"/&amp;gt;&lt;br /&gt;&amp;lt;/path&amp;gt;&lt;br /&gt;&amp;lt;property name="aop.config.filepath"&lt;br /&gt;value="${src.dir}/MFT-SIDS-war-aop.xml"&amp;gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;taskdef name="aopc15" classname="org.jboss.aop.ant.AopC"&lt;br /&gt;classpathref="jboss.aop.classpath"/&amp;gt;&lt;br /&gt;&amp;lt;aopc15 compiler classpathref="classpath" verbose="true"&lt;br /&gt;optimized="false"&amp;gt;&lt;br /&gt;&amp;lt;classpath path="${build.classes.dir}"/&amp;gt;&lt;br /&gt;&amp;lt;src path="${build.classes.dir}"/&amp;gt;&lt;br /&gt;&amp;lt;include name="**/*.class"/&amp;gt;&lt;br /&gt;&amp;lt;aoppath path="${aop.config.filepath}"&amp;gt;&amp;lt;/aoppath&amp;gt;&lt;br /&gt;&amp;lt;aopclasspath path="${build.classes.dir}"/&amp;gt;&lt;br /&gt;&amp;lt;/aopc15&amp;gt;&lt;br /&gt;&amp;lt;copy file="${aop.config.filepath}"&lt;br /&gt;todir="/usr/local/share/app/jboss-4.0.4.GA/server/default/deploy"&amp;gt;&lt;br /&gt;&amp;lt;/copy&amp;gt;&lt;br /&gt;&amp;lt;/target&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Assumed the development platform is JBoss 4.0.4 GA(Bundled with Netbeans). The client application needs to include the extra client file "jboss-aspect-jdk50-client.jar". In addition, it requires the file "jboss-aop-jdk50.jar" to compile the project. But DO NOT include it to the deployment package&lt;br /&gt;&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/30081689-571404157526650592?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/571404157526650592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=571404157526650592' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/571404157526650592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/571404157526650592'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2007/02/jboss-aop-part-2-previous-post-was.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-4813368264186694533</id><published>2007-02-20T19:18:00.000-08:00</published><updated>2007-02-20T19:21:52.609-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Startup parameter for JBoss clustering&lt;/span&gt;&lt;br /&gt;For some reasons, the clustering doesn't work until start the run.sh with -b "{IPAddress} parameter. This cause a big problem since the Netbeans Jboss plugin doesn't allow me to insert any custom parameters. Finally I have to modify the "{Jboss}/server/default/deploy/cluster-service.xml" file and change the "NodeAddress" to a real IP. Then I can start the clustered JBoss in Netbeans&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30081689-4813368264186694533?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/4813368264186694533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=4813368264186694533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/4813368264186694533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/4813368264186694533'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2007/02/startup-parameter-for-jboss-clustering.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-4392966842179888458</id><published>2007-02-20T04:47:00.000-08:00</published><updated>2007-02-20T04:49:10.516-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;JSF onValueChangeListener Bug&lt;br /&gt;&lt;/span&gt;Myfaces seems to have a problem when there are two SelectOneMenu and each of them has a value change listener. When both of them have the "rendered" attribute is set, the second SelectOneMenu seems will never have the valueChangeListener fired. I fixed this problem by using the JSTL's c:if&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30081689-4392966842179888458?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/4392966842179888458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=4392966842179888458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/4392966842179888458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/4392966842179888458'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2007/02/jsf-onvaluechangelistener-bug-myfaces.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-4483893714930999601</id><published>2007-02-20T04:34:00.000-08:00</published><updated>2007-02-20T04:37:06.036-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;JSF &amp; JSTL&lt;br /&gt;&lt;/span&gt;I experienced something strange about JSF &amp;amp; JSTL. The test attribute of the JSTL's c:if seems always evaluated to false. Finally I have figured out that it is related to the web.xml file, I need to use the servlet 2.4's DTD and everything works fine. That is weird&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30081689-4483893714930999601?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/4483893714930999601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=4483893714930999601' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/4483893714930999601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/4483893714930999601'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2007/02/jsf-jstl-i-experienced-something.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-9062633462905124665</id><published>2007-02-16T01:51:00.000-08:00</published><updated>2007-02-20T17:32:19.953-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Configure JBoss AOP 1.5.3 FOR JBoss 4.0.4 GA&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;Download the JBoss AOP package&lt;/li&gt;&lt;li&gt;Copy all the files in the directory "{JBoss-AOP-1.5.3}/lib-50" into "{Jboss}/server/default/lib"&lt;/li&gt;&lt;li&gt;Remove the old "jboss-aop-deplopyer" from the "{Jboss}/server/default/deploy" if any&lt;/li&gt;&lt;li&gt;Copy the whole directory from "{JBoss-AOP-1.5.3}/jboss-40-install/jboss-aop-jdk50.deployer" to the directory "{Jboss}/server/default/deploy"&lt;/li&gt;&lt;li&gt;Remove the files "javassist.jar" and "common-softwarevaluehashmap.jar" from the "{Jboss}/server/default/deploy/jboss-aop-jdk50.deployer" directory.&lt;/li&gt;&lt;li&gt;Edit the "{Jboss}/server/default/deploy/jboss-aop-jdk50.deployer/META-INF/jboss-service.xml" file, set the "EnableLoadtimeWeaving" to true, in the "Exclude" attribute, add ",org.apache.,org.quartz.,java."&lt;br /&gt;&lt;br /&gt;The following shows the file content&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;!-- $Id: jboss-service.xml 44143 2006-04-24 18:19:21Z kkhan $ --&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;=====================================================================&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;!--  JBoss Server&lt;br /&gt;Configuration                                     &lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;=====================================================================&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;server&amp;gt;&lt;br /&gt;&amp;lt;!-- The code for the service is different for the&lt;br /&gt;different run scenarios&lt;br /&gt;  *** JBoss 4.0&lt;br /&gt;      * JDK 1.4 -&lt;br /&gt;org.jboss.aop.deployment.AspectManagerService&lt;br /&gt;      * JDK 5 (not&lt;br /&gt;using -javaagent switch) - org.jboss.aop.deployment.AspectManagerService&lt;br /&gt;      * JDK 5 (using&lt;br /&gt;-javaagent switch) - org.jboss.aop.deployment.AspectManagerServiceJDK5&lt;br /&gt;      * BEA JRockit&lt;br /&gt;1.4.2 - org.jboss.aop.deployment.AspectManagerService&lt;br /&gt;  *** JBoss 3.2&lt;br /&gt;      * JDK 1.4 -&lt;br /&gt;org.jboss.aop.deployment.AspectManagerService32&lt;br /&gt;      * JDK 5 (not&lt;br /&gt;using -javaagent switch) -&lt;br /&gt;org.jboss.aop.deployment.AspectManagerService32&lt;br /&gt;      * JDK 5 (using&lt;br /&gt;-javaagent switch) - org.jboss.aop.deployment.AspectManagerService32JDK5&lt;br /&gt;      * BEA JRockit&lt;br /&gt;1.4.2 - org.jboss.aop.deployment.AspectManagerService32&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;mbean&lt;br /&gt;code="org.jboss.aop.deployment.AspectManagerServiceJDK5"&lt;br /&gt;name="jboss.aop:service=AspectManager"&amp;gt;&lt;br /&gt;  &amp;lt;attribute&lt;br /&gt;name="EnableLoadtimeWeaving"&amp;gt;true&amp;lt;/attribute&amp;gt;&lt;br /&gt;  &amp;lt;!-- only relevant when&lt;br /&gt;EnableLoadtimeWeaving is true.&lt;br /&gt;       When&lt;br /&gt;transformer is on, every loaded class gets&lt;br /&gt;transformed.  If AOP can't find the class, then it throws an&lt;br /&gt;exception.  Sometimes, classes may not have&lt;br /&gt;       all the&lt;br /&gt;classes they reference.  So, the Suppressing&lt;br /&gt;       is&lt;br /&gt;needed.  (i.e. Jboss cache in the default configuration --&amp;gt;&lt;br /&gt;  &amp;lt;attribute&lt;br /&gt;name="SuppressTransformationErrors"&amp;gt;true&amp;lt;/attribute&amp;gt;&lt;br /&gt;  &amp;lt;attribute&lt;br /&gt;name="Prune"&amp;gt;true&amp;lt;/attribute&amp;gt;&lt;br /&gt;  &amp;lt;attribute&lt;br /&gt;name="Include"&amp;gt;org.jboss.test, org.jboss.injbossaop&amp;lt;/attribute&amp;gt;&lt;br /&gt;  &amp;lt;attribute&lt;br /&gt;name="Exclude"&amp;gt;org.jboss.,org.apache.,org.quartz.,java.&amp;lt;/attribute&amp;gt;&lt;br /&gt;  &amp;lt;!-- This avoids instrumentation of&lt;br /&gt;hibernate cglib enhanced proxies--&amp;gt;&lt;br /&gt;  &amp;lt;attribute&lt;br /&gt;name="Ignore"&amp;gt;*$$EnhancerByCGLIB$$*&amp;lt;/attribute&amp;gt;&lt;br /&gt;  &amp;lt;attribute&lt;br /&gt;name="Optimized"&amp;gt;true&amp;lt;/attribute&amp;gt;&amp;lt;attribute&lt;br /&gt;name="Verbose"&amp;gt;false&amp;lt;/attribute&amp;gt;&lt;br /&gt;&amp;lt;/mbean&amp;gt;&lt;br /&gt;&amp;lt;mbean code="org.jboss.aop.deployment.AspectDeployer"&lt;br /&gt;name="jboss.aop:service=AspectDeployer"&amp;gt;&lt;br /&gt;&amp;lt;/mbean&amp;gt;&lt;br /&gt;&amp;lt;/server&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Edit the file "{Jboss}/server/bin/run.sh" , change the line JAVA_OPTS to the following&lt;br /&gt;JAVA_OPTS="$JAVA_OPTS -Dprogram.name=$PROGNAME -javaagent:/usr/local/share/app/jboss-4.0.4.GA-test/server/default/lib/pluggable-instrumentor.jar"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&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/30081689-9062633462905124665?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/9062633462905124665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=9062633462905124665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/9062633462905124665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/9062633462905124665'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2007/02/configure-jboss-aop-1.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-116945137763929517</id><published>2007-01-21T23:31:00.000-08:00</published><updated>2007-01-21T23:36:18.683-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Update Myfaces in JBoss&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I discovered some bugs in the setValueBinding method of the Myfaces that bundled with JBoss 4.0.4 GA. It will throw exception if I tried to set a value binding to the component attribute which is not "value".&lt;/li&gt;&lt;li&gt;Remove all the files in {JBOSS_PATH}\server\default\deploy\jbossweb-tomcat55.sar\jsf-libs&lt;/li&gt;&lt;li&gt;Copy all the myfaces files to {JBOSS_PATH}\server\default\deploy\jbossweb-tomcat55.sar\jsf-libs&lt;/li&gt;&lt;li&gt;Copy commons-collections.jar to {JBOSS_PATH}\server\default\lib&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/30081689-116945137763929517?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/116945137763929517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=116945137763929517' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/116945137763929517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/116945137763929517'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2007/01/update-myfaces-in-jboss-i-discovered.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-116945097048508292</id><published>2007-01-21T23:16:00.000-08:00</published><updated>2007-01-21T23:29:30.496-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Configure Oracle data source in JBOSS&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download and place the Oracle JDBC driver (ojdbc14.jar) inside the {JBOSS_PATH}\server\default\lib&lt;/li&gt;&lt;li&gt;Add the datasource XML file into the {JBOSS_PATH}\server\default\deploy folder, it should have the following content&lt;br /&gt;&lt;br /&gt;&amp;lt;datasources&amp;gt;&lt;br /&gt;                &amp;lt;local-tx-datasource&amp;gt;&lt;br /&gt;                  &amp;lt;jndi-name&amp;gt;MFT-OracleDS&amp;lt;/jndi-name&amp;gt;&lt;br /&gt;              &amp;lt;connection-url&amp;gt;jdbc:oracle:thin:@192.168.3.122:1521:tcs&amp;lt;/connection-url&amp;gt;&lt;br /&gt;              &amp;lt;driver-class&amp;gt;oracle.jdbc.driver.OracleDriver&amp;lt;/driver-class&amp;gt;&lt;br /&gt;                  &amp;lt;user-name&amp;gt;tcs&amp;lt;/user-name&amp;gt;&lt;br /&gt;                  &amp;lt;password&amp;gt;tcs&amp;lt;/password&amp;gt;&lt;br /&gt;              &amp;lt;exception-sorter-class-name&amp;gt;org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter&amp;lt;/exception-sorter-class-name&amp;gt;&lt;br /&gt;              &amp;lt;metadata&amp;gt;&amp;lt;type-mapping&amp;gt;Oracle10g&amp;lt;/type-mapping&amp;gt;&amp;lt;/metadata&amp;gt;&lt;br /&gt;                &amp;lt;/local-tx-datasource&amp;gt;&lt;br /&gt;              &amp;lt;/datasources&amp;gt;&lt;br /&gt;&lt;br /&gt;&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/30081689-116945097048508292?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/116945097048508292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=116945097048508292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/116945097048508292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/116945097048508292'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2007/01/configure-oracle-data-source-in-jboss.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-116605935683006901</id><published>2006-12-13T17:11:00.000-08:00</published><updated>2006-12-13T17:25:02.543-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Netbeans 5.5+JBoss4.04GA+Oracle 10gR2+EJB3&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;Configure JBoss for Oracle&lt;br /&gt;Download the JDBC driver and copy the file "ojdbc14.jar" into the "${JBOSS_HOME}/server/default/lib" folder&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Create a data source file called "tx-oracleDS.xml" in the "${JBOSS_HOME}/server/default/deploy" folder&lt;br /&gt;&amp;lt;datasources&amp;gt;&lt;br /&gt;&amp;lt;local-tx-datasource&amp;gt;&lt;br /&gt;  &amp;lt;jndi-name&amp;gt;MFT-OracleDS&amp;lt;/jndi-name&amp;gt;&lt;br /&gt;&amp;lt;connection-url&amp;gt;jdbc:oracle:thin:@192.168.3.122:1521:tcs&amp;lt;/connection-url&amp;gt;&lt;br /&gt;&amp;lt;driver-class&amp;gt;oracle.jdbc.driver.OracleDriver&amp;lt;/driver-class&amp;gt;&lt;br /&gt;  &amp;lt;user-name&amp;gt;tcs&amp;lt;/user-name&amp;gt;&lt;br /&gt;&amp;lt;password&amp;gt;tcs&amp;lt;/password&amp;gt;&lt;br /&gt;&amp;lt;exception-sorter-class-name&amp;gt;org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter&amp;lt;/exception-sorter-class-name&amp;gt;&lt;br /&gt;&amp;lt;metadata&amp;gt;&amp;lt;type-mapping&amp;gt;Oracle10g&amp;lt;/type-mapping&amp;gt;&amp;lt;/metadata&amp;gt;&lt;br /&gt;&amp;lt;/local-tx-datasource&amp;gt;&lt;br /&gt;&amp;lt;/datasources&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Following the instructions of the Netbeans 5.5 JBoss tutorial @&lt;br /&gt;http://www.netbeans.org/kb/55/ejb30-jboss.html&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;-User the java:/{DataSourceName} for the data source name in the persistance.xml&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;-For JBoss the context lookup string for EJB is "EJBAppName/{EJBBeanName}/local"&lt;/li&gt;&lt;li&gt;In Netbeans 5.5, Debug and Run the application by right clicking on the "Enterprise Application", but NOT THE Web application!!&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30081689-116605935683006901?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/116605935683006901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=116605935683006901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/116605935683006901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/116605935683006901'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2006/12/netbeans-5.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-116133247346448060</id><published>2006-10-20T01:04:00.000-07:00</published><updated>2006-10-20T01:21:13.493-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Jboss HTTP Clustering Part1 (Load balancing)&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download apache2.x and mod_jk 1.2.x. Compile and install.&lt;/li&gt;&lt;li&gt;Modify APACHE_HOME/conf/httpd.conf and add a single line at the end of the file:&lt;pre class="programlisting"&gt;# Include mod_jk's specific configuration file&lt;br /&gt;Include conf/mod-jk.conf&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Create a new file named &lt;tt class="literal"&gt;APACHE_HOME/conf/mod-jk.conf&lt;/tt&gt;:&lt;br /&gt;&lt;br /&gt;# Specify the filename of the mod_jk lib&lt;br /&gt;LoadModule jk_module modules/mod_jk.so&lt;br /&gt;&lt;br /&gt;# Where to find workers.properties&lt;br /&gt;JkWorkersFile conf/workers.properties&lt;br /&gt;&lt;br /&gt;# Where to put jk logs&lt;br /&gt;JkLogFile logs/mod_jk.log&lt;br /&gt;&lt;br /&gt;# Set the jk log level [debug/error/info]&lt;br /&gt;JkLogLevel info&lt;br /&gt;&lt;br /&gt;# Select the log format&lt;br /&gt;JkLogStampFormat  "[%a %b %d %H:%M:%S %Y]"&lt;br /&gt;&lt;br /&gt;# JkOptions indicates to send SSK KEY SIZE&lt;br /&gt;JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories&lt;br /&gt;&lt;br /&gt;# JkRequestLogFormat&lt;br /&gt;JkRequestLogFormat "%w %V %T"&lt;br /&gt;        &lt;br /&gt;# Mount your applications&lt;br /&gt;JkMount /application/* loadbalancer&lt;br /&gt;&lt;br /&gt;# You can use external file for mount points.&lt;br /&gt;# It will be checked for updates each 60 seconds.&lt;br /&gt;# The format of the file is: /url=worker&lt;br /&gt;# /examples/*=loadbalancer&lt;br /&gt;JkMountFile conf/uriworkermap.properties           &lt;br /&gt;&lt;br /&gt;# Add shared memory.&lt;br /&gt;# This directive is present with 1.2.10 and&lt;br /&gt;# later versions of mod_jk, and is needed for&lt;br /&gt;# for load balancing to work properly&lt;br /&gt;JkShmFile logs/jk.shm&lt;br /&gt;       &lt;br /&gt;# Add jkstatus for managing runtime data&lt;br /&gt;&amp;lt;Location /jkstatus/&amp;gt;&lt;br /&gt; JkMount status&lt;br /&gt; Order deny,allow&lt;br /&gt; Deny from all&lt;br /&gt; Allow from 127.0.0.1&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;br /&gt;&lt;br /&gt;The &lt;tt class="literal"&gt;LoadModule&lt;/tt&gt; directive must reference the mod_jk library you have                     downloaded in the previous section. You must indicate the exact same name with the "modules" file                     path prefi&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Create a &lt;tt class="literal"&gt;uriworkermap.properties&lt;/tt&gt; file in the &lt;tt class="literal"&gt;APACHE_HOME/conf&lt;/tt&gt; directory.&lt;br /&gt;&lt;pre class="programlisting"&gt;# Simple worker configuration file&lt;br /&gt;&lt;br /&gt;# Mount the Servlet context to the ajp13 worker&lt;br /&gt;/jmx-console=loadbalancer&lt;br /&gt;/jmx-console/*=loadbalancer&lt;br /&gt;/web-console=loadbalancer&lt;br /&gt;/web-console/*=loadbalancer&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="literal"  style="font-family:arial;"&gt;Create a file APACHE_HOME/conf/workers.properties&lt;/span&gt;&lt;tt class="literal"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/tt&gt;&lt;pre class="programlisting"&gt;# Define list of workers that will be used&lt;br /&gt;# for mapping requests&lt;br /&gt;worker.list=loadbalancer,status&lt;br /&gt;&lt;br /&gt;# Define Node1&lt;br /&gt;# modify the host as your host IP or DNS name.&lt;br /&gt;worker.node1.port=8009&lt;br /&gt;worker.node1.host=node1.mydomain.com&lt;br /&gt;worker.node1.type=ajp13&lt;br /&gt;worker.node1.lbfactor=1&lt;br /&gt;worker.node1.cachesize=10&lt;br /&gt;&lt;br /&gt;# Define Node2&lt;br /&gt;# modify the host as your host IP or DNS name.&lt;br /&gt;worker.node2.port=8009&lt;br /&gt;worker.node2.host= node2.mydomain.com&lt;br /&gt;worker.node2.type=ajp13&lt;br /&gt;worker.node2.lbfactor=1&lt;br /&gt;worker.node2.cachesize=10&lt;br /&gt;&lt;br /&gt;# Load-balancing behaviour&lt;br /&gt;worker.loadbalancer.type=lb&lt;br /&gt;worker.loadbalancer.balance_workers=node1,node2&lt;br /&gt;worker.loadbalancer.sticky_session=1&lt;br /&gt;#worker.list=loadbalancer&lt;br /&gt;&lt;br /&gt;# Status worker for managing load balancer&lt;br /&gt;worker.status.type=status&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre class="programlisting"&gt;&lt;span style="font-family:arial;"&gt;Configure JBoss&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style="margin-bottom: 0in;"&gt;Edit the&lt;br /&gt;&lt;tt&gt;JBOSS_HOME/server/all/deploy/jbossweb-tomcat50.sar/server.xml&lt;/tt&gt;&lt;br /&gt;file (replace &lt;tt&gt;/all&lt;/tt&gt; with your own server name if necessary).&lt;br /&gt;Locate the &lt;tt&gt;&amp;lt;Engine&amp;gt;&lt;/tt&gt; element and add an attribute&lt;br /&gt;&lt;tt&gt;jvmRoute&lt;/tt&gt;:&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1"&amp;gt;&lt;br /&gt;... ...&lt;br /&gt;&amp;lt;/Engine&amp;gt;&lt;br /&gt;         &lt;/pre&gt;&lt;p&gt;&lt;br /&gt;Edit the&lt;br /&gt;&lt;tt&gt;JBOSS_HOME/server/all/deploy/jbossweb-tomcat50.sar/META-INF/jboss-service.xml&lt;/tt&gt;&lt;br /&gt;file (replace &lt;tt&gt;/all&lt;/tt&gt; with your own server name). Locate the&lt;br /&gt;&lt;tt&gt;&amp;lt;attribute&amp;gt;&lt;/tt&gt; element with a name of &lt;tt&gt;UseJK&lt;/tt&gt;, and&lt;br /&gt;set its value to &lt;tt&gt;true&lt;/tt&gt;:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;attribute name="UseJK"&amp;gt;true&amp;lt;/attribute&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The full document is located @&lt;br /&gt;http://docs.jboss.org/jbossas/jboss4guide/r4/html/cluster.chapt.html&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&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/30081689-116133247346448060?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/116133247346448060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=116133247346448060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/116133247346448060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/116133247346448060'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2006/10/jboss-http-clustering-part1-load.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-116133123331349488</id><published>2006-10-20T00:03:00.000-07:00</published><updated>2006-10-26T08:13:53.426-07:00</updated><title type='text'></title><content type='html'>Setup TCP/IP clustering with Linux's heartbeat&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download the libnet and heartbeat source code, install it in all the nodes&lt;br /&gt;Libnet source code (v1.1.2.1)is available @ http://www.packetfactory.net/libnet/&lt;br /&gt;Heartbeat source code(v2.0.0) is available @ http://www.linux-ha.org/&lt;br /&gt;The source package will install heartbeat's binaries to /usr/local/lib/heartbeat and the config files to /usr/local/etc/ha.d&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Configure heartbeat in all the nodes&lt;br /&gt;Create the file "ha.cf" in the /usr/local/etc/ha.d folder and type the following content.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;debugfile /var/log/ha-debug&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;logfile /var/log/ha-log&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;node wsn03-99&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;node tser-linux-dev1 # List our cluster members&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;keepalive 1 # Send one heartbeat each second&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;deadtime 3 # Declare nodes dead after 3 seconds&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;bcast eth0 # Broadcast heartbeats on eth0 and eth1 interfaces&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;ping 192.168.3.253 # Ping our router to monitor ethernet connectivity&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;auto_failback no # Don't fail back to paul automatically&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;respawn hacluster /usr/local/lib/heartbeat/ipfail # Failover on network failures&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;node wsn03-99 and node tser-linux-dev1 is the host name of the node that returned by the command "uname -n" ,the line ping 192.168.3.253 is the router address.&lt;br /&gt;&lt;br /&gt;Create the file "/usr/local/etc/ha.d/haresources" and type the following content&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;tser-linux-dev1 192.168.3.150 httpd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;tser-linux-dev1 is the preferred host, the IP 192.168.3.150 is the virtual IP address and must not be used by any machine. "httpd" is the script name of the service that needed to be clustered, it must match the file in /etc/init.d or /usr/local/etc/ha.d/resource.d/&lt;br /&gt;&lt;br /&gt;Create the file "/usr/local/etc/ha.d/authkeys" and type the following content&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;auth 1&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;1 sha1 key&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The "key" is the authorized key generated by some utility, for sake of simpliclity I just put some value. Apply chmod 600 to this file&lt;br /&gt;Finally, make sure all the nodes has the same set of files and heartbeat is ready to run. To start heartbeat type "network heartbeat start"&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Configure Apache for clustering&lt;br /&gt;In the apache's http.conf file, includes the following directives&lt;br /&gt;&lt;pre&gt;Listen {virtual-IP}:port-number&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:georgia;"&gt;In addition, disable the startup service of apache in the&lt;br /&gt;/etc/init.d because the heartbeat service will take control of it&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&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/30081689-116133123331349488?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/116133123331349488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=116133123331349488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/116133123331349488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/116133123331349488'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2006/10/setup-tcpip-clustering-with-linuxs.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-116053326018541607</id><published>2006-10-10T19:18:00.000-07:00</published><updated>2006-10-17T19:35:05.736-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;JBoss 4.04GA with EJB3 clustering in Linux&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Install the JBoss 4.04 jar installer and choose "ejb3-cluster" as the installation profile&lt;br /&gt;http://blog.matrix.org.cn/page/joeyta?entry=jboss_ejb3_helloworld_%E5%82%99%E5%BF%98%E8%A8%98&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Disable IPv6&lt;br /&gt;Place the following line in the /etc/modprobe.conf to turn off IPv6&lt;br /&gt;&lt;pre style="font-family: arial;"&gt;alias net-pf-10 off&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Set up multi-cast&lt;br /&gt;Make sure the linux kernel is support multi-casting and add the following line in the startup script to bind a  mulit-cast IP to the ethernet card&lt;br /&gt;&lt;br /&gt;route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0&lt;br /&gt;&lt;br /&gt;Reference the section "&lt;b&gt;Verify multicast works" &lt;/b&gt;of the following URL to verify your setup&lt;b&gt;&lt;br /&gt;&lt;/b&gt;http://www.spikesource.com/docs/cs_1.6.0-win32/doc/jboss/jboss_troubleshoot.html&lt;b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Install the web console&lt;br /&gt;The "ejb3-cluster" profile is missing the web console&lt;br /&gt;http://www.jboss.com/index.html?module=bb&amp;op=viewtopic&amp;amp;p=3971687&lt;br /&gt;To manually install it, first install another copy of Jboss with "full" profile, then copy the following files mentioned in the xml tag to the "ejb3-cluster" profile&lt;br /&gt;&amp;lt;fileset dir="@{jboss.install}"&lt;br /&gt;targetdir="$INSTALL_PATH/server/$SERVER_CONFIG"&amp;gt;&lt;br /&gt;&amp;lt;include name="deploy/jsr77-service.xml"/&amp;gt;&lt;br /&gt;&amp;lt;/fileset&amp;gt;&lt;br /&gt;&amp;lt;fileset dir="@{jboss.dist}/server"&lt;br /&gt;targetdir="$INSTALL_PATH/server/$SERVER_CONFIG"&amp;gt;&lt;br /&gt;&amp;lt;include name="lib/jboss-jsr77.jar"/&amp;gt;&lt;br /&gt;&amp;lt;include name="lib/jboss-management.jar"/&amp;gt;&lt;br /&gt;&amp;lt;/fileset&amp;gt;&lt;br /&gt;&amp;lt;fileset dir="@{jboss.dist}/server"&lt;br /&gt;targetdir="$INSTALL_PATH/server/$SERVER_CONFIG"&amp;gt;&lt;br /&gt;&amp;lt;include name="deploy/management/**"/&amp;gt;&lt;br /&gt;&amp;lt;include name="deploy/monitoring-service.xml"/&amp;gt;&lt;br /&gt;&amp;lt;include name="lib/jboss-monitoring.jar"/&amp;gt;&lt;br /&gt;&amp;lt;/fileset&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Install the web farm&lt;br /&gt;The "ejb3-cluster" profile is also missing the web farm facility. After enabling the farm, you can deploy the EJB's jar file in a single node's farm folder and JBoss will automatically distribute it to all other nodes. To enable farm, first install a JBoss with "full" profiler in other location and copy the "farm" folder to the "{JBossHome}/server/default", also copy the "deploy.last" folder to the "{JBossHome}/server/default/deploy"&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Startup the JBoss with -b parameter&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Some Linux distro has some problem in IP address binding, therefore you should startup the JBoss using the "./run.sh -b {IPAddress}" command.&lt;b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Verify the JBoss cluster is setup&lt;br /&gt;After starting up all the JBoss servers in the cluster, each server should join the cluster and open the JMX console in one of the server to verify the cluster is running&lt;br /&gt;"http://{IP}:8080/jmx-console/"&lt;br /&gt;&lt;br /&gt;click on the link "jboss:service=DefaultParition", there should be a list of server IP address in the "CurrentView" row.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Test EJB3 clustering&lt;br /&gt;Following the instruction in the following URL to setup a EJB3 project in eclipse&lt;br /&gt;http://blog.matrix.org.cn/page/joeyta?entry=jboss_ejb3_helloworld_%E5%82%99%E5%BF%98%E8%A8%98&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The key step is to install JBoss IDE in your Eclipse and create a new EJB3 project.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Change the target deployment directory from "&lt;span style="color: rgb(0, 0, 0);"&gt;{jboss.home}/server/default/deploy" to&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"{jboss.home}/server/default/farm"&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="color: rgb(0, 0, 0);"&gt;In the "jndi.properties" file, use the following line for the provider's url&lt;br /&gt;java.naming.provider.url={node1_IPAdd}:1100,{node2_IPAdd}:1100&lt;br /&gt;The HA JNDI port is 1100 instead of 1099&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Reference URL&lt;br /&gt;(Create EJB3 project)&lt;br /&gt;http://blog.matrix.org.cn/page/joeyta?entry=jboss_ejb3_helloworld_%E5%82%99%E5%BF%98%E8%A8%98&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(JBoss EJB3 tutorial)&lt;br /&gt;http://docs.jboss.org/ejb3/app-server/tutorial/index.html&lt;br /&gt;&lt;br /&gt;(Setup multi-cast)&lt;br /&gt;http://www.spikesource.com/docs/cs_1.6.0-win32/doc/jboss/jboss_troubleshoot.html&lt;br /&gt;&lt;br /&gt;(JBoss troubleshooting)&lt;br /&gt;http://jboss.com/index.html?module=bb&amp;op=viewtopic&amp;amp;t=66244&amp;view=previous&lt;br /&gt;http://www.jboss.com/index.html?module=bb&amp;amp;op=viewtopic&amp;p=3956298&lt;br /&gt;http://www.jboss.com/index.html?module=bb&amp;amp;amp;op=viewtopic&amp;amp;t=82345&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;pre&gt;&lt;fileset dir="@{jboss.install}" targetdir="$INSTALL_PATH/server/$SERVER_CONFIG"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;include name="deploy/jsr77-service.xml"&gt;    &lt;/include&gt;&lt;br /&gt;&lt;fileset dir="@{jboss.dist}/server" targetdir="$INSTALL_PATH/server/$SERVER_CONFIG"&gt;&lt;br /&gt; &lt;include name="lib/jboss-jsr77.jar"&gt;&lt;br /&gt; &lt;include name="lib/jboss-management.jar"&gt;&lt;br /&gt;&lt;/include&gt;&lt;br /&gt;&lt;br /&gt;&lt;fileset dir="@{jboss.dist}/server" targetdir="$INSTALL_PATH/server/$SERVER_CONFIG"&gt;&lt;br /&gt; &lt;include name="deploy/management/**"&gt;&lt;br /&gt; &lt;include name="deploy/monitoring-service.xml"&gt;&lt;br /&gt; &lt;include name="lib/jboss-monitoring.jar"&gt;&lt;br /&gt;&lt;/include&gt;&lt;/include&gt;&lt;/include&gt;&lt;/fileset&gt;&lt;/include&gt;&lt;/fileset&gt;&lt;/fileset&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30081689-116053326018541607?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/116053326018541607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=116053326018541607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/116053326018541607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/116053326018541607'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2006/10/jboss-4.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-115916670228571735</id><published>2006-09-24T23:43:00.000-07:00</published><updated>2006-09-24T23:45:02.296-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Install JavaEE5 samples&lt;br /&gt;&lt;/span&gt; To run the example, you need to download the Java Blueprints Solutions Catalog for Java EE 5 bundle.  To do this, follow these steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Go to the &lt;a href="https://blueprints.dev.java.net/"&gt;Java Blueprints&lt;/a&gt; site on java.net.&lt;/li&gt;&lt;li&gt;Click Documents &amp; files in the right-hand navigation bar.&lt;/li&gt;&lt;li&gt;Select the &lt;code&gt;bpcatalog-ee5(2)&lt;/code&gt; directory.&lt;/li&gt;&lt;li&gt;Download the &lt;code&gt;bpcatalog-ee5-ea-0.6-installer.jar&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;Run the installer according to the directions on the page from where you downloaded it.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt; Once you have checked out the code, do the following:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Obtain the &lt;a href="http://java.sun.com/javaee/downloads/index.jsp"&gt;Java EE 5 SDK&lt;/a&gt;, install it, and start the Sun Java System Application Server.&lt;/li&gt;&lt;li&gt;Add the Ant build tool included in the Application Server to your path.  It's located in the Applications Server installation's &lt;code&gt;lib/ant/bin&lt;/code&gt; directory.&lt;/li&gt;&lt;li&gt;Go to &lt;code&gt;&lt;bpcatalog_install&gt;/bp-project/&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;Open &lt;code&gt;build.properties&lt;/code&gt; in a text editor.&lt;/li&gt;&lt;li&gt;Set the &lt;code&gt;javaee.home&lt;/code&gt; property to the path of your Application Server installation.&lt;/li&gt;&lt;li&gt;Set the &lt;code&gt;javaee.server.passwordfile&lt;/code&gt; property to the fully-qualified path to a file that contains your password.  Follow the instructions in the &lt;code&gt;build.properties&lt;/code&gt; file.&lt;/li&gt;&lt;li&gt;Save &lt;code&gt;&lt;/code&gt;&lt;code&gt;build.properties&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;Go to &lt;code&gt;&lt;bpcatalog_install&gt;/apps/webtier/bp-dynamic-text&lt;/code&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Run &lt;code&gt;&lt;samp&gt;ant&lt;/samp&gt;&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;Run &lt;code&gt;ant deploy&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;Launch a browser and enter this URL:&lt;code&gt;&lt;br /&gt;&lt;br /&gt;http://localhost:8080/bp-dynamic-text/&lt;/code&gt;&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/30081689-115916670228571735?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/115916670228571735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=115916670228571735' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/115916670228571735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/115916670228571735'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2006/09/install-javaee5-samples-to-run-example.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-115459804303798670</id><published>2006-08-03T02:35:00.000-07:00</published><updated>2006-08-03T02:41:44.836-07:00</updated><title type='text'></title><content type='html'>Multi-Serial port and Linux&lt;br /&gt;In Linux, only COM1-4  are configured by default. The setserial command is needed to configure the COM port that is &gt;5.Here is an example usage&lt;br /&gt;setserial /dev/ttySX port 0x04e8 irq 5 uart 16550A baud_base 115200&lt;br /&gt;The man pages haven't mentioned about the "baud_base" is a compulsory parameter, but the command will fail without it. In addtion, even the COM port is intended to use &lt; 115200 baud rate to coomuicate (like 9600). You still have to configure it as 115200.&lt;br /&gt;A related command in Linux is minicom, it is used to configure serial port's param.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30081689-115459804303798670?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/115459804303798670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=115459804303798670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/115459804303798670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/115459804303798670'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2006/08/multi-serial-port-and-linux-in-linux.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-115129205143545182</id><published>2006-06-25T20:11:00.000-07:00</published><updated>2006-06-25T20:20:51.436-07:00</updated><title type='text'></title><content type='html'>&lt;strong&gt;Video  conference using Java Media Framework(JMF) in Linux&lt;/strong&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download the JMF for Linux package&lt;/li&gt;&lt;li&gt;open the jmstudio script, replace the line&lt;br /&gt;"exec java JMStudio $*"&lt;br /&gt;with the line&lt;br /&gt;"exec java -Dawt.toolkit=sun.awt.motif.MToolkit JMStudio $*"&lt;br /&gt;at the end of the file&lt;/li&gt;&lt;li&gt;Setup a host name for both machines(VERY IMPORTANT)&lt;/li&gt;&lt;li&gt;Open the jmstudio in the server side, choose "Capture" and then transmit. In the trasmit dialog box type the client IP address and port number&lt;/li&gt;&lt;li&gt;Open the jmstudio in the client side, choose "Open RTP Session", and then type in the client's IP address and port number&lt;/li&gt;&lt;li&gt;Done!&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/30081689-115129205143545182?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/115129205143545182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=115129205143545182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/115129205143545182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/115129205143545182'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2006/06/video-conference-using-java-media.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-115129143536310303</id><published>2006-06-25T19:57:00.000-07:00</published><updated>2006-06-25T20:10:35.373-07:00</updated><title type='text'></title><content type='html'>&lt;strong&gt;Export chinese character to excel in web application&lt;/strong&gt;&lt;br /&gt;The only way to export the chinese character to excel is using UTF16 .I tried big-5 and UTF8 encoding but no luck, they both can only successfully export few number of characters. It fails when exporting an large chunk of character streams. The following shows the code fragement of exporting some chinese characters in asp.net&lt;br /&gt;&lt;br /&gt;Response.Clear(); &lt;br /&gt;Response.Charset="";  &lt;br /&gt;Response.ContentType="application/vnd.ms-excel";  &lt;br /&gt;Response.AppendHeader("Content-Disposition","attachment;filename=search.xls");&lt;br /&gt;&lt;br /&gt;ArrayList content=new ArrayList();&lt;br /&gt;content.Add((byte)0xff));&lt;br /&gt;content.Add((byte)0xfe));&lt;br /&gt;&lt;br /&gt;String  text="大";&lt;br /&gt;UnicodeEncoding encoding=new UnicodeEncoding();  &lt;br /&gt;content.AddRange((byte[])encoding.GetBytes(text));&lt;br /&gt;byte output[]=content.ToArray(typeof(byte));&lt;br /&gt;Response.OutputStream.Write(output,0,output.Length);&lt;br /&gt;&lt;br /&gt;Response.End();&lt;br /&gt;&lt;br /&gt;The byte 0xff and 0xfe is the header code that indicates the document is in UTF16 format. Therefore, all the text must be converted to 2byte UTF16 binary before export to the Response.OutputStream&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30081689-115129143536310303?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/115129143536310303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=115129143536310303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/115129143536310303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/115129143536310303'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2006/06/export-chinese-character-to-excel-in.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30081689.post-115128997606195676</id><published>2006-06-25T19:45:00.000-07:00</published><updated>2006-06-25T19:56:45.923-07:00</updated><title type='text'></title><content type='html'>&lt;strong&gt;&lt;span style="font-size:130%;"&gt;SQL 2000 Database migration&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Besides transferring the database from the source to the target server. User accounts are also needed to be migrated as well. The following URL shows the correct way to migrate the users.&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/246133/"&gt;http://support.microsoft.com/kb/246133/&lt;/a&gt;&lt;br /&gt;The most reliable way is to use the store proc approach&lt;br /&gt;&lt;table border="1"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;A complete resolution to transfer logins and passwords between different versions of SQL Server&lt;/strong&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;To transfer logins and passwords between different versions of SQL Server, follow these steps:1. Run the following script on the source SQL Server. This script creates two stored procedures named sp_hexadecimal and sp_help_revlogin in your master database. Continue to step 2 when you finish creating the procedure.&lt;br /&gt;&lt;br /&gt;Note The following procedure is dependent on SQL Server system tables. The structure of these tables may change between versions of SQL Server, and selecting directly from system tables is discouraged.&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;----- Begin Script, Create sp_help_revlogin procedure -----USE masterGOIF OBJECT_ID ('sp_hexadecimal') IS NOT NULL  DROP PROCEDURE sp_hexadecimalGOCREATE PROCEDURE sp_hexadecimal    @binvalue varbinary(256),    @hexvalue varchar(256) OUTPUTASDECLARE @charvalue varchar(256)DECLARE @i intDECLARE @length intDECLARE @hexstring char(16)SELECT @charvalue = '0x'SELECT @i = 1SELECT @length = DATALENGTH (@binvalue)SELECT @hexstring = '0123456789ABCDEF' WHILE (@i &lt;= @length) BEGIN  DECLARE @tempint int  DECLARE @firstint int  DECLARE @secondint int  SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))  SELECT @firstint = FLOOR(@tempint/16)  SELECT @secondint = @tempint - (@firstint*16)  SELECT @charvalue = @charvalue +    SUBSTRING(@hexstring, @firstint+1, 1) +    SUBSTRING(@hexstring, @secondint+1, 1)  SELECT @i = @i + 1ENDSELECT @hexvalue = @charvalueGOIF OBJECT_ID ('sp_help_revlogin') IS NOT NULL  DROP PROCEDURE sp_help_revlogin GOCREATE PROCEDURE sp_help_revlogin @login_name sysname = NULL ASDECLARE @name    sysnameDECLARE @xstatus intDECLARE @binpwd  varbinary (256)DECLARE @txtpwd  sysnameDECLARE @tmpstr  varchar (256)DECLARE @SID_varbinary varbinary(85)DECLARE @SID_string varchar(256)IF (@login_name IS NULL)  DECLARE login_curs CURSOR FOR     SELECT sid, name, xstatus, password FROM master..sysxlogins     WHERE srvid IS NULL AND name &lt;&gt; 'sa'ELSE  DECLARE login_curs CURSOR FOR     SELECT sid, name, xstatus, password FROM master..sysxlogins     WHERE srvid IS NULL AND name = @login_nameOPEN login_curs FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwdIF (@@fetch_status = -1)BEGIN  PRINT 'No login(s) found.'  CLOSE login_curs   DEALLOCATE login_curs   RETURN -1ENDSET @tmpstr = '/* sp_help_revlogin script ' PRINT @tmpstrSET @tmpstr = '** Generated '   + CONVERT (varchar, GETDATE()) + ' on ' + @@SERVERNAME + ' */'PRINT @tmpstrPRINT ''PRINT 'DECLARE @pwd sysname'WHILE (@@fetch_status &lt;&gt; -1)BEGIN  IF (@@fetch_status &lt;&gt; -2)  BEGIN    PRINT ''    SET @tmpstr = '-- Login: ' + @name    PRINT @tmpstr     IF (@xstatus &amp; 4) = 4    BEGIN -- NT authenticated account/group      IF (@xstatus &amp; 1) = 1      BEGIN -- NT login is denied access        SET @tmpstr = 'EXEC master..sp_denylogin ''' + @name + ''''        PRINT @tmpstr       END      ELSE BEGIN -- NT login has access        SET @tmpstr = 'EXEC master..sp_grantlogin ''' + @name + ''''        PRINT @tmpstr       END    END    ELSE BEGIN -- SQL Server authentication      IF (@binpwd IS NOT NULL)      BEGIN -- Non-null password        EXEC sp_hexadecimal @binpwd, @txtpwd OUT        IF (@xstatus &amp; 2048) = 2048          SET @tmpstr = 'SET @pwd = CONVERT (varchar(256), ' + @txtpwd + ')'        ELSE          SET @tmpstr = 'SET @pwd = CONVERT (varbinary(256), ' + @txtpwd + ')'        PRINT @tmpstr EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT        SET @tmpstr = 'EXEC master..sp_addlogin ''' + @name           + ''', @pwd, @sid = ' + @SID_string + ', @encryptopt = '      END      ELSE BEGIN         -- Null password EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT        SET @tmpstr = 'EXEC master..sp_addlogin ''' + @name           + ''', NULL, @sid = ' + @SID_string + ', @encryptopt = '      END      IF (@xstatus &amp; 2048) = 2048        -- login upgraded from 6.5        SET @tmpstr = @tmpstr + '''skip_encryption_old'''       ELSE         SET @tmpstr = @tmpstr + '''skip_encryption'''      PRINT @tmpstr     END  END  FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd  ENDCLOSE login_curs DEALLOCATE login_curs RETURN 0GO ----- End Script -----&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;After you create the sp_help_revlogin stored procedure, run the sp_help_revlogin procedure from Query Analyzer on the source server. The sp_help_revlogin stored procedure can be used on both SQL Server 7.0 and SQL Server 2000. The output of the sp_help_revlogin stored procedure is login scripts that create logins with the original SID and password. Save the output, and then paste and run it in Query Analyzer on the destination SQL Server. For example:&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;EXEC master..sp_help_revlogin&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30081689-115128997606195676?l=on9blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://on9blog.blogspot.com/feeds/115128997606195676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30081689&amp;postID=115128997606195676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/115128997606195676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30081689/posts/default/115128997606195676'/><link rel='alternate' type='text/html' href='http://on9blog.blogspot.com/2006/06/sql-2000-database-migration-besides.html' title=''/><author><name>demofo</name><uri>http://www.blogger.com/profile/06284179028525124443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
