Guvnor學習

   這兩天玩了一下Guvnor。本來覺得官方文檔真是寫得太好了,我都沒有什麼必要寫什麼心得或者筆記了。之前寫這些博客的想法很隨意,主要原因都是因爲學了一個東西,然後怕以後用的時候忘了,又從頭開始,所以在CSDN上記一記,下次要用到的話,上來翻翻,會很快搞定吧。就是這麼想的。學習用Guvnor,覺得官方文檔寫得很詳細啊,直接看那個就可以了。

    Guvnor的官網在這http://www.jboss.org/drools/drools-guvnor.html ,看文檔的話直接去點Documentation就可以了。

    工作快一年了,外企,好像有點習慣了看英文文檔了。各位同行,一定要會看英文文檔啊,搞這行,必須的。

    先下載了個Guvnor的war包,可以發佈到本地服務器的,這裏我下載了個tomcat6.0版本的Guvnor war包:guvnor-distribution-wars-5.4.0.Beta2-tomcat-6.0.war,剛開始因爲公司的網絡限制,不讓下載,然後我再Maven Center Repository上搜guvnor,竟然有啊,高興死了,因爲公司對這個東西是不禁的,可以下載。我已經有好多次感受到Maven是個好東西了,以前想學個什麼東西,總苦於沒有jar包,無法學啊,公司又不讓下載,後來有了這個Maven Repository,這是要什麼jar包都有了。Maven Repository的地址在這:http://search.maven.org/  絕對好東西,我從這上面下載到guvnor 的war包後,爲了訪問起來簡單,改名爲guvnor.war,然後就可以發佈到tomcat6了,沒什麼技術含量的。

    剛開始啓動tomcat時可能還有點錯,它要建立庫的,關掉tomcat重啓就可以了。發佈成功之後,可以直接訪問的。Guvnor管理各種規則及其相關資源還是很強大的。

    默認,沒有修改任何配置的情況下,Guvnor會在你的{tomcat}/bin目錄下生成一個repository目錄和一個repository.xml文件,這就是用來配置庫的。而且Guvnor默認內置的使用一個叫JackRabbit的小型嵌入式數據庫來存儲數據的,這個是Apache的一個項目了,和 H2差不多。現在很多開發的東西都用這些小型數據庫作爲Demo的。比如Activiti,開源的工作流,它用的就是H2了。Seam也用H2 做Demo的。當然,一般我們項目要用的話,都要改爲我們自己的數據庫的,比如Mysql,Oracle。這個Guvnor也是的。

    配置Guvnor的庫,很簡單的。

    首先,你可能不想把Repository和repository.xml放在tomcat的bin下面,太礙眼了,呵呵。那我建立一個D:/MyGuvnorRepo吧,放在這裏。修改war包下面的某個配置:WEB-INF/beans.xml默認的內容有一段如下:    

<!-- JackRabbit  -->
    <guvnorRepository:properties>
      <s:entry><s:key>org.drools.repository.configurator</s:key><s:value>org.drools.repository.jackrabbit.JackrabbitRepositoryConfigurator</s:value></s:entry>
      <!--  the root directory for the repo storage the directory must exist. -->
      <!--<s:entry><s:key>repository.root.directory</s:key><s:value>/opt/yourpath</s:value></s:entry>-->
    </guvnorRepository:properties>
英文註釋寫得很明白了,把那個被注掉的  “<s:entry><s:key>repository.root.directory</s:key>...”  打開,把<s:value>值改爲D:/MyGuvnorRepo 就可以了,修改後的配置如下:
<guvnorRepository:properties>
      <s:entry><s:key>org.drools.repository.configurator</s:key><s:value>org.drools.repository.jackrabbit.JackrabbitRepositoryConfigurator</s:value></s:entry>
      <!--  the root directory for the repo storage the directory must exist. -->
      <s:entry>
		<s:key>repository.root.directory</s:key>
		<s:value>D:/MyGuvnorRepo</s:value>
      </s:entry>
</guvnorRepository:properties>
保存,重啓tomcat就好了。

    發現,本來D:/MyGuvnorRepo沒有東西的,現在它給我們新建了一些東西,用來保存數據的,目前是JackRabbit用的哈,不多說,自己玩去。

    接下來,要把數據庫遷到mysql上了,也很簡單啦。

    上面我們不是已經把Guvnor運行起來了嘛,然後訪問Guvnor,主界面上菜單上有個Administrator的菜單,裏面有個Repository Management吧,點開,配置一下,下拉列表選擇自己的數據庫,比如Mysql,事先把mysql數據庫建好,比如:create database guvnor;   不需要建表的哈。

     填上URL,Driver,username,password ,然後配置,生成一個repository.xml的配置文件,裏面的數據源都配置好的啦,直接代替D:/MyGuvnorRepo下面的那個文件,就可以將你的庫數據切換到mysql上面了。

     關於這個mysql的repository.xml就不貼出來,有興趣自己玩去。另外,不要忘了將數據庫的驅動jar包引入classpath,最簡單的就是把jar包放到tomcat/lib下了,當然你也可以方法war包的WEB-INF/lib下面。

     重新啓動tomcat,數據表自動創建。現在的東西都是傻瓜化的。

    關於Guvnor怎麼使用,還是研讀一下官方文檔吧,寫得很詳細,我這裏說就太班門弄斧了。

    祝心情愉快。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章