<?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-2629996545473923052</id><updated>2011-11-27T16:03:45.168-08:00</updated><category term='Project'/><category term='File Template'/><category term='Installation'/><category term='Daily log'/><category term='Deployment'/><title type='text'>jbossejb</title><subtitle type='html'>This blog is to document my java programming experiences, especially in creating EJB 3 applications running on the latest Beta version of JBoss application server. Hopefully useful.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jbossejb.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jbossejb.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Aldian</name><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>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2629996545473923052.post-6182986584597657877</id><published>2008-06-26T02:58:00.000-07:00</published><updated>2008-06-26T03:01:23.313-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daily log'/><title type='text'>Terracotta - JBoss AS - EJB3</title><content type='html'>I am going to use terracotta just to speed up the system.&lt;br /&gt;I still need JBoss AS and its EJB 3 implementation.&lt;br /&gt;Terracotta alone is too flexible which is not appropriate for agile development which heavily depends on forced blueprint like EJB to ensure design quality.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2629996545473923052-6182986584597657877?l=jbossejb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossejb.blogspot.com/feeds/6182986584597657877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2629996545473923052&amp;postID=6182986584597657877' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/6182986584597657877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/6182986584597657877'/><link rel='alternate' type='text/html' href='http://jbossejb.blogspot.com/2008/06/terracotta-jboss-as-ejb3.html' title='Terracotta - JBoss AS - EJB3'/><author><name>Aldian</name><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-2629996545473923052.post-8361216324867056549</id><published>2008-06-25T06:41:00.000-07:00</published><updated>2008-06-25T06:45:25.478-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daily log'/><title type='text'>Terracotta. What?</title><content type='html'>&lt;p&gt;While I am enjoying clustering solution using JBoss, I heard about terracotta. An interesting word, so I opened the website.&lt;/p&gt; &lt;p&gt;Somebody said terracotta hundreds time faster than JBoss clustering, and more transparent solution to clustering that the software components you build don't have to be EJBs. Well, I don't know yet.&lt;/p&gt; &lt;p&gt;I am very enthusiastic about learning terracotta tonight, but wait.. A friend needs me to compile and integrate our old java source code tonight :-(&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2629996545473923052-8361216324867056549?l=jbossejb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossejb.blogspot.com/feeds/8361216324867056549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2629996545473923052&amp;postID=8361216324867056549' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/8361216324867056549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/8361216324867056549'/><link rel='alternate' type='text/html' href='http://jbossejb.blogspot.com/2008/06/terracotta-what.html' title='Terracotta. What?'/><author><name>Aldian</name><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-2629996545473923052.post-5138533351594902456</id><published>2008-06-25T02:08:00.000-07:00</published><updated>2008-06-25T02:13:24.099-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='File Template'/><title type='text'>jboss-web.xml for session replication</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;!DOCTYPE jboss-web PUBLIC&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    "-//JBoss//DTD Web Application 5.0//EN"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;jboss-web&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  &amp;lt;replication-config&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    &amp;lt;replication-trigger&gt;SET_AND_NON_PRIMITIVE_GET&amp;lt;/replication-trigger&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    &amp;lt;replication-granularity&gt;SESSION&amp;lt;/replication-granularity&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    &amp;lt;replication-field-batch-mode&gt;true&amp;lt;/replication-field-batch-mode&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  &amp;lt;/replication-config&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;/jboss-web&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/2629996545473923052-5138533351594902456?l=jbossejb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossejb.blogspot.com/feeds/5138533351594902456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2629996545473923052&amp;postID=5138533351594902456' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/5138533351594902456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/5138533351594902456'/><link rel='alternate' type='text/html' href='http://jbossejb.blogspot.com/2008/06/jboss-webxml-for-session-replication.html' title='jboss-web.xml for session replication'/><author><name>Aldian</name><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-2629996545473923052.post-3501955896676136148</id><published>2008-06-25T01:38:00.000-07:00</published><updated>2008-06-25T02:29:44.069-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Installation'/><title type='text'>Installing Web Load Balancing to JBoss 5</title><content type='html'>&lt;a href="http://jbossejb.blogspot.com/2008/06/setting-up-jboss-5-as-cluster-nodes.html"&gt;After setting up JBoss clusters as explained in Setting up JBoss 5 AS cluster nodes&lt;/a&gt;, we can setup the web load balancing.&lt;br /&gt;&lt;br /&gt;Install Apache 2. You can get it from &lt;a href="http://httpd.apache.org/"&gt;http://httpd.apache.org&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jbossejb.blogspot.com/2008/06/installing-modjk.html"&gt;Install mod_jk to the apache&lt;/a&gt;. You can get it from &lt;a href="http://www.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/"&gt;http://www.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Let us say that you have added node1 in mod_jk installation. To the first node of your JBoss 5 cluster edit the file deployers/jbossweb.deployer/server.xml add attribute jvmRoute="node1" to the element &lt;engine&gt;&amp;lt;&lt;engine&gt;Engine&gt;, so the element will look like this: &lt;engine name="jboss.web" defaulthost="localhost" jvmroute="node1"&gt;&amp;lt;Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1"&gt;.&lt;br /&gt;&lt;br /&gt;Edit deployers/jbossweb.deployer/META-INF/war-deployers-beans.xml, to the bean WebAppClusteringDefaultsDeployer add property: &lt;property name="useJK"&gt;true&lt;/property&gt;&lt;br /&gt;&lt;br /&gt;Do the same to other nodes.&lt;br /&gt;&lt;br /&gt;&lt;/engine&gt;&lt;/engine&gt;&lt;/engine&gt;&lt;p&gt;Edit your web applications web.xml. Add &amp;lt;distributable/&gt;&lt;/p&gt; &lt;p&gt;Edit your web applications &lt;a href="http://jbossejb.blogspot.com/2008/06/jboss-webxml-for-session-replication.html" mce_href="http://jbossejb3.wordpress.com/2008/06/25/jboss-webxml-for-session-replication/" target="_self"&gt;jboss-web.xml&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2629996545473923052-3501955896676136148?l=jbossejb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossejb.blogspot.com/feeds/3501955896676136148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2629996545473923052&amp;postID=3501955896676136148' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/3501955896676136148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/3501955896676136148'/><link rel='alternate' type='text/html' href='http://jbossejb.blogspot.com/2008/06/installing-web-load-balancing-to-jboss.html' title='Installing Web Load Balancing to JBoss 5'/><author><name>Aldian</name><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-2629996545473923052.post-18451366694946595</id><published>2008-06-25T01:29:00.000-07:00</published><updated>2008-06-25T01:37:23.159-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Installation'/><title type='text'>Installing mod_jk</title><content type='html'>&lt;p&gt;Get the mod_jk binary. You can get it from http://www.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/.&lt;/p&gt; &lt;p&gt;Copy mod_jk.so to modules directory of your apache web server.&lt;/p&gt; &lt;p&gt;Put &lt;a href="http://jbossejb.blogspot.com/2008/06/mod-jkconf.html" mce_href="http://jbossejb3.wordpress.com/2008/06/25/mod-jkconf/" target="_self"&gt;mod-jk.conf&lt;/a&gt; template in directory conf/extra of apache. Edit the file, replace MyApps with your application url string components.&lt;/p&gt; &lt;p&gt;Edit conf/httpd.conf, add one line: Include conf/extra/mod-jk.conf&lt;/p&gt; &lt;p&gt;Put &lt;a href="http://jbossejb.blogspot.com/2008/06/uriworkermapproperties.html" mce_href="http://jbossejb3.wordpress.com/2008/06/25/uriworkermapproperties/"&gt;uriworkermap.properties&lt;/a&gt; in directory conf/extra.&lt;/p&gt; &lt;p&gt;Put &lt;a href="http://jbossejb.blogspot.com/2008/06/workersproperties.html" mce_href="http://jbossejb3.wordpress.com/2008/06/25/workersproperties/" target="_self"&gt;workers.properties&lt;/a&gt; in directory conf/extra. The template assuming that you have two nodes; node1 and node2 residing in host 172.16.1.37 and 172.16.1.195&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2629996545473923052-18451366694946595?l=jbossejb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossejb.blogspot.com/feeds/18451366694946595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2629996545473923052&amp;postID=18451366694946595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/18451366694946595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/18451366694946595'/><link rel='alternate' type='text/html' href='http://jbossejb.blogspot.com/2008/06/installing-modjk.html' title='Installing mod_jk'/><author><name>Aldian</name><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-2629996545473923052.post-3430542757177438674</id><published>2008-06-25T01:24:00.000-07:00</published><updated>2008-06-25T01:27:16.395-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='File Template'/><title type='text'>workers.properties</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;# Define list of workers that will be used&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# for mapping requests&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.list=loadbalancer,status&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Define Node1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# modify the host as your host IP or DNS name.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.node1.port=8009&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.node1.host=172.16.1.37&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.node1.type=ajp13&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.node1.lbfactor=1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.node1.cachesize=10&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Define Node2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# modify the host as your host IP or DNS name.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.node2.port=8009&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.node2.host=172.16.1.195&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.node2.type=ajp13&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.node2.lbfactor=1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.node2.cachesize=10&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Load-balancing behaviour&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.loadbalancer.type=lb&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.loadbalancer.balance_workers=node1,node2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#worker.loadbalancer.balance_workers=node1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.loadbalancer.sticky_session=0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#worker.list=loadbalancer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Status worker for managing load balancer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;worker.status.type=status&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/2629996545473923052-3430542757177438674?l=jbossejb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossejb.blogspot.com/feeds/3430542757177438674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2629996545473923052&amp;postID=3430542757177438674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/3430542757177438674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/3430542757177438674'/><link rel='alternate' type='text/html' href='http://jbossejb.blogspot.com/2008/06/workersproperties.html' title='workers.properties'/><author><name>Aldian</name><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-2629996545473923052.post-899159383202286099</id><published>2008-06-25T01:22:00.000-07:00</published><updated>2008-06-25T01:24:37.212-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='File Template'/><title type='text'>uriworkermap.properties</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;# Simple worker configuration file&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Mount the Servlet context to the ajp13 worker&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;/jmx-console=loadbalancer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;/jmx-console/*=loadbalancer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;/web-console=loadbalancer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;/web-console/*=loadbalancer&lt;/span&gt;&lt;br /&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/2629996545473923052-899159383202286099?l=jbossejb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossejb.blogspot.com/feeds/899159383202286099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2629996545473923052&amp;postID=899159383202286099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/899159383202286099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/899159383202286099'/><link rel='alternate' type='text/html' href='http://jbossejb.blogspot.com/2008/06/uriworkermapproperties.html' title='uriworkermap.properties'/><author><name>Aldian</name><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-2629996545473923052.post-5459428411567131156</id><published>2008-06-25T01:17:00.000-07:00</published><updated>2008-06-25T01:20:28.092-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='File Template'/><title type='text'>mod-jk.conf</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;# Load mod_jk module&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Specify the filename of the mod_jk lib&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;LoadModule jk_module modules/mod_jk.so&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Where to find workers.properties&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;JkWorkersFile conf/extra/workers.properties&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Where to put jk logs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;JkLogFile logs/mod_jk.log&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Set the jk log level [debug/error/info]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;JkLogLevel info&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Select the log format&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# JkOptions indicates to send SSK KEY SIZE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# JkRequestLogFormat&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;JkRequestLogFormat "%w %V %T"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Mount your applications&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;JkMount /MyApps/* loadbalancer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# You can use external file for mount points.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# It will be checked for updates each 60 seconds.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# The format of the file is: /url=worker&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# /examples/*=loadbalancer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;JkMountFile conf/extra/uriworkermap.properties&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Add shared memory.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# This directive is present with 1.2.10 and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# later versions of mod_jk, and is needed for&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# for load balancing to work properly&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;JkShmFile logs/jk.shm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Add jkstatus for managing runtime data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;location&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  JkMount status&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Order deny,allow&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Deny from all&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Allow from 127.0.0.1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;/location&gt;&lt;/span&gt;&lt;br /&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/2629996545473923052-5459428411567131156?l=jbossejb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossejb.blogspot.com/feeds/5459428411567131156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2629996545473923052&amp;postID=5459428411567131156' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/5459428411567131156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/5459428411567131156'/><link rel='alternate' type='text/html' href='http://jbossejb.blogspot.com/2008/06/mod-jkconf.html' title='mod-jk.conf'/><author><name>Aldian</name><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-2629996545473923052.post-3245754521987748527</id><published>2008-06-24T21:26:00.000-07:00</published><updated>2008-06-24T21:28:57.545-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Installation'/><title type='text'>Setting up JBoss 5 AS cluster nodes</title><content type='html'>&lt;p&gt;Edit deploy/messaging/messaging-service.xml set the value of ServerPeerID with a unique integer to identify the node. If you have two nodes, you can set the value to 0 for the first node and 1 for the second node.&lt;/p&gt; &lt;p&gt;All nodes will share a database for management. Remove the file deploy/messaging/hsqldb-persistence-service.xml. Copy the template file thirdparty/jboss/messaging/resources/mysql-persistence-service.xml to the directory deploy/messaging. Edit the file change all DefaultDS to the mysql data source you have created as explained in &lt;a href="http://jbossejb.blogspot.com/2008/06/jta-data-source-mysql-database.html" mce_href="http://jbossejb3.wordpress.com/2008/06/24/jta-data-source-mysql-database/" target="_self"&gt;JTA Data Source: MySQL Database&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2629996545473923052-3245754521987748527?l=jbossejb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossejb.blogspot.com/feeds/3245754521987748527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2629996545473923052&amp;postID=3245754521987748527' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/3245754521987748527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/3245754521987748527'/><link rel='alternate' type='text/html' href='http://jbossejb.blogspot.com/2008/06/setting-up-jboss-5-as-cluster-nodes.html' title='Setting up JBoss 5 AS cluster nodes'/><author><name>Aldian</name><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-2629996545473923052.post-6643378704602196925</id><published>2008-06-24T19:13:00.000-07:00</published><updated>2008-06-24T19:18:45.874-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Deployment'/><title type='text'>Adding a new message queue to the JBoss 5 AS</title><content type='html'>&lt;p&gt;Go to deploy/messaging directory.&lt;/p&gt; &lt;p&gt;Create a new XML file, e.g. &lt;b&gt;myqueue-service.xml&lt;/b&gt;&lt;/p&gt; &lt;p&gt;if the queue name is &lt;b&gt;MyQueue&lt;/b&gt;, the content of the file will be like this:&lt;/p&gt; &lt;p style="font-family: courier new;"&gt;&amp;lt;server&gt;&lt;br /&gt;&amp;lt;mbean code="org.jboss.jms.server.destination.QueueService"&lt;br /&gt;name="jboss.messaging.destination:service=Queue,name=MyQueue"&lt;br /&gt;xmbean-dd="xmdesc/Queue-xmbean.xml"&gt;&lt;br /&gt;&amp;lt;attribute name="JNDIName"&gt;queue/MyQueue&amp;lt;/attribute&gt;&lt;br /&gt;&amp;lt;annotation&gt;@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)&amp;lt;/annotation&gt;&lt;br /&gt;&amp;lt;depends optional-attribute-name="ServerPeer"&gt;jboss.messaging:service=ServerPeer&amp;lt;/depends&gt;&lt;br /&gt;&amp;lt;depends&gt;jboss.messaging:service=PostOffice&amp;lt;/depends&gt;&lt;br /&gt;&amp;lt;/mbean&gt;&lt;br /&gt;&amp;lt;/server&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2629996545473923052-6643378704602196925?l=jbossejb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossejb.blogspot.com/feeds/6643378704602196925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2629996545473923052&amp;postID=6643378704602196925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/6643378704602196925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/6643378704602196925'/><link rel='alternate' type='text/html' href='http://jbossejb.blogspot.com/2008/06/adding-new-message-queue-to-jboss-5-as.html' title='Adding a new message queue to the JBoss 5 AS'/><author><name>Aldian</name><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-2629996545473923052.post-8727300338534585833</id><published>2008-06-24T10:33:00.000-07:00</published><updated>2008-06-24T11:08:52.481-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Deployment'/><title type='text'>JTA Data Source: MySQL Database</title><content type='html'>To use a mysql database in JBoss, edit or add the XML document with root element &lt;data-sources&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;datasources&gt;&lt;/span&gt;. The easiest way to do it is by creating a new XML in the deploy directory. For mysql data sources, I will name the file &lt;span style="font-weight: bold;"&gt;mysql-ds.xml&lt;/span&gt;. If my mysql database name is &lt;span style="font-weight: bold;"&gt;testdb&lt;/span&gt; and the mysql server is in &lt;span style="font-weight: bold;"&gt;localhost:3306&lt;/span&gt; and the user/password is &lt;span style="font-weight: bold;"&gt;root/secret123&lt;/span&gt; then the content of the file will be like this:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;jndi-name&gt;&lt;datasources&gt;&lt;local-tx-datasource&gt;&lt;br /&gt;&amp;lt;?xml version=”1.0″ encoding=”UTF-8″?&gt;&lt;br /&gt;&lt;jndi-name&gt;&amp;lt;datasources&gt;&lt;br /&gt;&amp;lt;local-tx-datasource&gt;&lt;br /&gt;&amp;lt;jndi-name&gt;MBSDS&amp;lt;/jndi-name&gt;&lt;br /&gt;&amp;lt;connection-url&gt;jdbc:mysql://localhost:3306/testdb&amp;lt;/connection-url&gt;&lt;br /&gt;&amp;lt;driver-class&gt;com.mysql.jdbc.Driver&amp;lt;/driver-class&gt;&lt;br /&gt;&amp;lt;user-name&gt;root&amp;lt;/user-name&gt;&lt;br /&gt;&amp;lt;password&gt;secret123&amp;lt;/password&gt;&lt;br /&gt;&amp;lt;exception-sorter-class-name&gt;org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter&amp;lt;/exception-sorter-class-name&gt;&lt;br /&gt;&amp;lt;valid-connection-checker-class-name&gt;org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker&amp;lt;/valid-connection-checker-class-name&gt;&lt;br /&gt;&amp;lt;metadata&gt;&lt;br /&gt;&amp;lt;type-mapping&gt;mySQL&amp;lt;/type-mapping&gt;&lt;br /&gt;&amp;lt;/metadata&gt;&lt;br /&gt;&amp;lt;/local-tx-datasource&gt;&lt;br /&gt;&amp;lt;/datasources&gt;&lt;br /&gt;&lt;br /&gt;&lt;/jndi-name&gt;&lt;metadata&gt;&lt;type-mapping&gt;&lt;/type-mapping&gt;&lt;br /&gt;&lt;/metadata&gt;&lt;br /&gt;&lt;/local-tx-datasource&gt;&lt;br /&gt;&lt;/datasources&gt;&lt;/jndi-name&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;type-mapping&gt;&lt;/type-mapping&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/data-sources&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2629996545473923052-8727300338534585833?l=jbossejb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossejb.blogspot.com/feeds/8727300338534585833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2629996545473923052&amp;postID=8727300338534585833' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/8727300338534585833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/8727300338534585833'/><link rel='alternate' type='text/html' href='http://jbossejb.blogspot.com/2008/06/jta-data-source-mysql-database.html' title='JTA Data Source: MySQL Database'/><author><name>Aldian</name><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-2629996545473923052.post-3586862849640514826</id><published>2008-06-24T08:12:00.000-07:00</published><updated>2008-06-24T11:07:32.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project'/><title type='text'>Creating the server side of mobile banking system</title><content type='html'>Starting 1 may 2008, we are creating Mobile Banking System.&lt;br /&gt;&lt;br /&gt;After some experiments I decided to use JBoss 5 as the application server so I can use the JBoss server clustering and EJB3 implementation feature.&lt;br /&gt;&lt;br /&gt;For the web access load balancing, we decided to use apache mod_jk.&lt;br /&gt;&lt;br /&gt;I think JBoss 5 and EJB3 is great.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2629996545473923052-3586862849640514826?l=jbossejb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossejb.blogspot.com/feeds/3586862849640514826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2629996545473923052&amp;postID=3586862849640514826' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/3586862849640514826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/3586862849640514826'/><link rel='alternate' type='text/html' href='http://jbossejb.blogspot.com/2008/06/creating-server-side-of-mobile-banking.html' title='Creating the server side of mobile banking system'/><author><name>Aldian</name><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-2629996545473923052.post-4644397509967319652</id><published>2008-06-24T07:28:00.000-07:00</published><updated>2008-06-24T11:08:52.482-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Deployment'/><title type='text'>Avoiding Dependency Error in Redeployment</title><content type='html'>I am using JBoss to create high available servers running 24×7 without needing the application server to be restarted if a component needs to be replaced. to fulfill this requirement, the component should be deployed in a specific manner.&lt;br /&gt;A bean Interface could be needed by other beans. If the bean interface is removed from the hot deploy directory, JBoss class loader will also remove the interface definition from its interface collection. If the interface needed by other beans is missing, the JVM would generate exception.&lt;br /&gt;To avoid the situation, bean Interface and Implementation should be treated as different deployment units.&lt;br /&gt;The interface deployment unit is the unit that rarely changed. The interfaces should be designed well enough so hopefully it will not need to be changed.&lt;br /&gt;The bean implementation deployment unit is the unit allowed to be changed often. The redeployment of this unit will not break the system dependency.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2629996545473923052-4644397509967319652?l=jbossejb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossejb.blogspot.com/feeds/4644397509967319652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2629996545473923052&amp;postID=4644397509967319652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/4644397509967319652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2629996545473923052/posts/default/4644397509967319652'/><link rel='alternate' type='text/html' href='http://jbossejb.blogspot.com/2008/06/avoiding-dependency-error-in.html' title='Avoiding Dependency Error in Redeployment'/><author><name>Aldian</name><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>
