由於北京那邊的iTracker咯屁了且人手緊,於是放到成都這邊的SDC來整。以至於我必須很快搭建起iTracker,便於工作。好,廢話少說。下面是具體步驟:
準備工作,還是要先下載JBoss,在http://www.jboss.com/products/jbossas/downloads上去找,不過建議不要太高版本,以免造成搭建時候的不相容。現在iTracker的版本是2.4.2,所以建議使用JBoss3.2.X,此版最高是3.2.7,可以使用。
然後,在www.itracker.org上,去下載最新的iTracker包。方便起見,下載express版的。連結到SourceForge後,可以看到Download itracker_2.4.2.express.zip,就下它了。這是帶有可用HSQL(HyperSonic)指令碼的版本,這樣就不需要依賴於額外的資料庫。當然,這樣很快,但是可能在某些情況下不夠用,官方建議使用更大的資料庫來代替。嗯,MySQL是個好的選擇,不過這次我們暫不用。
兩個東西分別解壓,放到C盤上待用。C:/JBoss以及C:/iTracker,當然其它的盤也可以。Follow以下操作:
1.開啟C:/JBoss/JBoss-3.2.7/server/default/deploy/hsqldb-ds.xml,將聯結URL設為
<connection-url>jdbc:hsqldb:hsql://localhost:1701</connection-url>
注意,這裡一共有三種<connection-url>,在3.2.7中,預設是
<connection-url>jdbc:hsqldb:${jboss.server.data.dir}/hypersonic/localDB</connection-url> ,不用考慮,將其注釋掉。
2.大約在這個檔案的最底,有這樣的一段:
<depends>jboss:service=Hypersonic,database=defaultDB</depends>
直接改為<depends>jboss:service=Hypersonic</depends>,接著,下面一段是我們需要的,不能被注釋掉:
<mbean code="org.jboss.jdbc.HypersonicDatabase" name="jboss:service=Hypersonic">
<attribute name="Port">1701</attribute>
<attribute name="Silent">true</attribute>
<attribute name="Database">default</attribute>
<attribute name="Trace">false</attribute>
<attribute name="No_system_exit">true</attribute>
</mbean>
因為我們使用基本於TCP串連的connection-url,下面一段
<mbean code="org.jboss.jdbc.HypersonicDatabase" name="jboss:service=Hypersonic">
<attribute name="Database">localDB</attribute>
<attribute name="InProcessMode">true</attribute>
</mbean> 需要被注釋掉,否則無法成功發布。
3.將這個檔案存檔,並複製一份,相同目錄下命名為C:/JBoss/JBoss-3.2.1/server/default/deploy/it-hsqldb-ds.xml。現在開始編輯這個新複製的檔案。開啟後,將
<jndi-name>DefaultDS</jndi-name>改為:
<jndi-name>ITrackerDS</jndi-name>
注意到,在這個檔案中我們需要注釋掉這段,不再使用:
<mbean code="org.jboss.jdbc.HypersonicDatabase" name="jboss:service=Hypersonic">
<attribute name="Port">1701</attribute>
<attribute name="Silent">true</attribute>
<attribute name="Database">default</attribute>
<attribute name="Trace">false</attribute>
<attribute name="No_system_exit">true</attribute>
</mbean>
4.開啟C:/JBoss/JBoss-3.2.7/server/default/conf/standardjbosscmp-jdbc.xml這個檔案,並將
<datasource>java:/DefaultDS</datasource>修改為
<datasource>java:/ITrackerDS</datasource>,以匹配我們剛才的修改。
5.注意,如果你在使用Jboss 3.2.1,那麼在布署的時候,可能會有一個bug。修改方法是,開啟
C:/JBoss/JBoss-3.2.1/server/default/conf/jboss-service.xml,將
<attribute name="RecursiveSearch">False</attribute> 改為
<attribute name="RecursiveSearch">True</attribute>。
這個問題在JBoss-3.2.7中不存在,預設為True。
6.現在開始啟動JBoss。在命令列下進入C:/JBoss/JBoss-3.2.7/bin,鍵入run.bat。保持這個控制台視窗開啟,(你關了它就結束了JBOSS)觀察。
這個時候,需要注意一下看控制台的輸出提示,如果出現了異常,那麼表示剛才的設定檔修改有問題。JBOSS不能成功的啟動。回頭檢查一下剛才的修改是否正確,特別是在hsqldb-ds.xml下<mbean>...</mbean>不要存在有兩個;在it-hsqldb-ds.xml下一個都不能有。如果害怕因為改錯而備份了這個檔案,則切記不能將備份的檔案放在這個目錄下面,最好是放遠點,案頭、D盤,etc,都行。OK,檢查了重啟。成功的啟動過程中,不會有任何異常出現。
7.這一步走好以後,開啟你瀏覽器,鍵入http://localhost:8080/jmx-console,此時,應該可以看到歡迎畫面,表示JBOSS啟動成功。在下面找到service=Hypersonic連結。單擊進入下一個頁面,在靠近頁面底的地方,找到startDatabaseManager連結,單擊後,會彈出一個應用程式視窗。
在此應用程式視窗上單擊File->Connect,選擇HSQL Database Engine Server類型,使用jdbc:hsqldb:hsql://localhost:1701這個URL登入,角色為sa,預設沒有密碼。進去以後,選擇File->Open Script選項,開啟位於C:/ITracker/sql/hsql/install/的指令碼create_itracker_core.sql檔案,執行之,並選擇Option->Commit進行確認提交。也可以將create_itracker_core.sql檔案拷貝到SQL區執行,效果相同。
關於這一步,還可以在命令列下,使用java -cp C:/JBoss/JBoss-3.2.1/server/default/lib/hsqldb.jar org.hsqldb.util.ScriptTool -database default -url jdbc:hsqldb:hsql://localhost:1701: -log true -script C:/ITracker/sql/hsql/install/create_itracker_core.sql這個進行。不過這也許並不那麼容易成功。
8.OK,進入布署的最後一步。把C:/ITracker/dist/itracker.ear檔案,拷貝到C:/JBoss/JBoss-3.2.1/server/default/deploy下。拷貝完後,開啟剛才啟動JBOSS的控制台視窗,可以看到iTracker的發布過程。
到現在,iTracker已經完全發布好,在瀏覽器鍵入http://localhost:8080/itracker/index.jsp就可以看到登入頁面了。使用admin/admin登入,以開始操作。