<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-67  評論-522  文章-0  trackbacks-0
        大象剛剛接觸jBPM,經過這幾天的折騰,終于把jbpm-console這個項目在Tomcat6上布署成功了,現在把這幾天來的學習經驗拿出來和大家分享一下。(結尾處有相關JAR包和MySQL及SQL Server 2000腳本下載)
        系統環境:windowsXP-SP2  JDK1.5.0_09  jbpm-jpdl-3.2.2  MySQL5.0.27  Tomcat6.0.10  MSSQL 2000
        1、安裝JDK1.5.0_09

           不必一定要按我的版本來安裝,不過至少JDK應該在1.5以上,JDK安裝好以后,設置PATHCLASSPATH環境變量。
        2、安裝Tomcat6.0.10
           這個沒什么好說的,請用6.0的版本,因為大象沒在5.0或5.5上測試過,而且這幾個版本之間有很大的不同,為了能盡快上手,還是按照我寫的來吧。^_^ 
        3、安裝MySQL5.0.27
           MySQL安裝中采用默認安裝即可,字符集不用設置為GB2312GBK,這樣做比較通用(大象用的MySQL沒有設置)。
        4、安裝Ant-1.7.0
           apache網站上下載Ant,然后解壓,設置PATH環境變量,在CMD中鍵入ant -version 如果看到

           Apache Ant version 1.7.0 compiled on December 13 2006  那說明你的PATH環境已經設置好了。)
        5、安裝jbpm-jpdl-3.2.2
           下載jbpm-jpdl-suite-3.2.2,然后解壓就行,直接放在根目錄下,比如:D:\jbpm-jpdl-3.2.2,這個版本是包含所有的一整套工具,目錄下主要包含以下幾個子目錄:
           config —— jBPMHibernatelog4j的配置文件
           db ——
    各種數據庫的SQL語句
           deploy ——
    已經打包好的war
           designer —— jBPM
    Eclipse插件,具體在eclipse子目錄中
           doc —— API
    文檔及用戶使用向導
           examples —— jBPM
    自帶的例子程序
           lib ——
    依賴的第三方依賴類庫
           server ——
    一個已經配置好了的基于JBossjBPM示例
           src —— jBPM的源代碼
           jbpm-jpdl-suite-3.2.2的下載地址:http://sourceforge.net/project/showfiles.php?group_id=70542
                    注意看下面一個鏈接:View older releases from the f) jBPM jPDL 3 package » 這是jbpm以前的版本
            6、安裝Eclipse3.2.1MyEclipse5.1.0GA
                   我使用的是一種整合版本,就是解壓后可以直接使用,eclipsemyeclipse已經整合好了(嘿嘿,感覺非常方便,我自己還做了一個Eclipse3.3MyEclipse6.0的整合版,詳情請看:詳解Eclipse+MyEclipse完全綠色版制作方法),版本比我的高應該沒關系,雖然沒試過,但網上有很多人都在高版本上做過,應該沒問題。這里就不說安裝方法了,網上有很多相關資料。
       7、安裝jbpm開發插件
          雖然布署jbpm-console這個項目不需要用到開發插件,但為了以后的開發,在這里我還是說一下,大象用的版本是3.0.13,為什么使用這個版本呢?因為我試過最新的3.1.3.sp2版,里面可視化編輯流程里左下角沒有swimlanes標簽,而3.0.13的版本中卻有。
          3.0.13的下載地址:http://sourceforge.net/project/showfiles.php?group_id=70542&package_id=116692 這個頁面可以找到所有的插件版本,當然包括最新版。
          下面來說下我的安裝方法:

           看到這紅線框的兩個文件夾了吧,大象前面說了,我用的是一種整合版本,解壓后就可以直接用了,所以這兩個文件夾早就已經存在了,所以如果你們要用的話就像這樣建兩個文件夾吧,ThirdPlugins是放第三方插件的,Links是放ini配置文件的,下面都會有詳細介紹。
           將下載的jbpm-gpd-3.0.13解壓,復制整個eclipse文件夾,進入ThirdPlugins下,新建一文件夾,命名jbpm-gpd-3.0.13,再在此目錄下粘貼eclipse文件夾
     
           另外還需要將plugins目錄下的jar包作一下修改,只保留如下兩個jar包,因為其它幾個jar包在MyEclipse中也有,啟動eclipse之后會發生沖突,而且千萬不要想當然的,在myeclipse中把同名的jar包用高版本替換,不然你會發現啟動之后全是錯誤,嘿嘿,大象試過,有著血一樣的教訓,請大家千萬不要重蹈覆轍。
     
           此文件內容為:path=ThirdPlugins/jbpm-gpd-3.0.13
           OK,到此,插件安裝已經全部完成,另外還需要在eclipse中對jBPM作一下設置,同樣為了以后開發作準備。
           啟動eclipse,點擊Windows->Preference,中文版為"窗口"->"選項",可以看到:
     
           點擊Add,選擇Search...找到你解壓的jbpm-jpdl-3.2.2文件夾,然后填寫Name,點擊OK?;氐街鹘缑?,此時還要勾選Name下的復選框,點擊Apply

     
           Server Deployment里面的東西是用來布署流程用的,前提是你得先發布好jbpm-console控制臺這個程序,保證這個程序跑起來沒有問題,否則是不會成功的。8080端口號和你服務器保持一致,如TomcatJBoss,另外布署一個新流程時,一定要先啟動服務器。jbpm-console這個名字是默認發布到服務器上的名字,比如Tomcat中,webapps下使用的名字和這個要一樣,那個變了,這個也要跟著變,還是保持默認就行。upload不要作修改,這些其實與布署jbpm-console應用沒有多大關系,大家看看就行。

        8、布署jbpm-console
           jbpm-jpdl-3.2.2\deploy目錄下可以看到jbpm-console.war、build.xml(當然還有其它文件,現在我們只關心這兩個),在CMD中,進入jbpm-jpdl-3.2.2\deploy目錄下,使用命令:ant customize.console.for.tomcat 然后我們在deploy下可以看到多出來customizedtarget兩個文件夾,進入customized,可以看到jbpm-console.war這個文件,用winrar將其解壓到當前目錄下,這時我們就得到了jbpm-console的發布應用了,不過別高興,還有很多工作沒做呢。這里我來說下,為什么使用ant customize.console.for.tomcat 這個命令,打開build.xml文件,你可以看到這樣一段代碼:
    <target name="customize.console.for.tomcat" description="Creates a customized jbpm-console.war for tomcat in the customized directory">
        
    <mkdir dir="target/war" />
        
    <mkdir dir="customized" />
        
    <unzip src="jbpm-console.war" dest="target/war" />
        
    <copy todir="target/war/WEB-INF/lib">
          
    <fileset dir="../lib">
            
    <include name="activation.jar" />
            
    <include name="antlr*.jar" />
            
    <include name="asm.jar" />
            
    <include name="bsh.jar" />
            
    <include name="cglib.jar" />
            
    <include name="commons-logging.jar" />
            
    <include name="dom4j.jar" />
            
    <include name="hibernate3.jar" />
            
    <include name="jboss-backport-concurrent.jar" />
            
    <include name="jbossretro-rt.jar" />
          
    </fileset>
        
    </copy>
        
    <delete>
          
    <fileset dir="target/war/WEB-INF/lib">
            
    <include name="el-api.jar" />
            
    <include name="el-ri.jar" />
          
    </fileset>
        
    </delete>
        
    <zip destfile="customized/jbpm-console.war">
          
    <fileset dir="target/war" />
        
    </zip>
    </target>
           大家看到了吧,customize.console.for.tomcattagetname,所以這里使用這個命令就不覺得奇怪了,大象開始也覺得很迷惑,為什么網上都這樣寫,卻不寫為什么,看來是問題太簡單了,那些大大們想來這根本就不是問題。呵呵呵~~~
        a、加入必要的jar包
              jbpm-console\WEB-INF\lib下要加入以下幾個jar包:jboss-j2ee.jar、commons-collections.jar、jsf-api.jar、jsf-impl.jar,刪除jsf-api-14.jarjsf-impl-14.jar這兩個jar包。
        b、建jBPM數據庫
           jbpm-jpdl-3.2.2\db下找到jbpm.jpdl.mysql.sql,打開它刪除前面的alter table JBPM_XX部分,保留后面的,然后再在每句SQL語句后面加上分號,檢查一下有沒有遺漏。然后在MySQL中新建一個jbpm數據庫,將sql腳本導入進來,大象使用的是SQLyog可視化操作工具,其它相關的可視化工具非常多,可以任選一種使用,如果你不用這些工具來簡化開發,那就配置mysqlPATH環境變量,在命令行中操作吧。^_^
           SQLyog中操作如下:
           1、點擊菜單"DB"->"Create Database",輸入jbpm。
           2、點擊菜單"Tools"->"Import From SQL Statements...",在彈出窗口中點擊"..."按鈕,選擇jbpm.jpdl.mysql.sql文件,然后再點擊Execute按鈕。請在點擊Execute前確保sql腳本沒有語法錯誤,否則是不可能執行成功的。
        c、修改hibernate.cfg.xml文件
           修改jbpm-jpdl-3.2.2\deploy\customized\jbpm-console\WEB-INF\classeshibernate.cfg.xml文件,原配置文件要修改部分如下:
        <!-- hibernate dialect -->
        
    <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
        
    <!-- JDBC connection properties (begin) ===
        <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
        <property name="hibernate.connection.url">jdbc:hsqldb:mem:jbpm</property>
        <property name="hibernate.connection.username">sa</property>
        <property name="hibernate.connection.password"></property>
        ==== JDBC connection properties (end) 
    -->
        
    <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
        
    <!-- DataSource properties (begin) -->
        
    <property name="hibernate.connection.datasource">java:/JbpmDS</property>
        
    <!-- DataSource properties (end) -->
        修改后如下:
        <!-- hibernate dialect -->
        
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
        
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpm</property>
        
    <property name="hibernate.connection.username">root</property>
        
    <property name="hibernate.connection.password">自己的密碼(無密碼就空著)</property>
        
    <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
        <!-- DataSource properties (begin)
        <property name="hibernate.connection.datasource">java:/JbpmDS</property>
        DataSource properties (end) 
    -->
        d、修改web.xml文件
           jbpm-console\WEB-INF下打開web.xml文件,在servlet前加入以下listener,注意:把listener放在所有的servlet前面,我發現網上很多帖子里都沒有提到這一點,不知道他們的程序是怎么跑起來的?殘念ING~~~
    <listener> 
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class> 
    </listener>

    <listener>
        <listener-class>com.sun.faces.application.WebappLifecycleListener</listener-class> 
    </listener>
           這兩個監聽器很關鍵,大象先一直沒有成功的原因就是沒有加這個,而這兩個監聽器都在jsf-impl.jar包中,jbpm-console這個應用可是用jsf來實現的,如果你不加,則會產生如下這些錯誤:

    javax.servlet.ServletException: Servlet.init() for servlet Faces Servlet threw exception
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202)
        at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:656)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
        at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPage(FormAuthenticator.java:316)
        at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:244)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
        at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory
        at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:256)
        at javax.faces.webapp.FacesServlet.init(FacesServlet.java:142)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
        ...16 more


    java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory
        at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:256)
        at javax.faces.webapp.FacesServlet.init(FacesServlet.java:142)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)

        at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:448)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
    2008-8-3 13:03:49 org.apache.catalina.core.StandardContext loadOnStartup
    嚴重: Servlet /jbpm-console threw load() exception
        e、修改Tomcat安全驗證
            有兩種方法修改安全驗證,第一種是修改%TOMCAT_HOME%\conf下的tomcat-users.xml文件,第二種是在%TOMCAT_HOME%\conf目錄下再新建Catalina文件夾,然后再在Catalina文件夾下建localhost文件夾,在此目錄下建jbpm-console.xml文件。
           i、修改tomcat-users.xml文件
              修改前請備份tomcat-users.xml文件,修改后的內容如下:
    <?xml version='1.0' encoding='utf-8'?>
    <tomcat-users>
      
    <role rolename="user"/>
      
    <role rolename="administrator"/>
      
    <role rolename="manager"/>
      
    <role rolename="sales"/>
      
    <role rolename="hr"/>
      
    <role rolename="admin"/>
      
    <role rolename="participant"/>
      
    <user username="user" password="user" roles="user,sales"/>
      
    <user username="shipper" password="shipper" roles="user,hr"/>
      
    <user username="manager" password="manager" roles="admin,hr,manager,user,sales"/>
      
    <user username="tadmin" password="" roles="admin,manager"/>
      
    <user username="admin" password="admin" roles="admin,user,hr"/>
    </tomcat-users>
              使用這種方式來處理安全驗證將不用考慮向數據庫中插入組,角色,用戶之類的數據,完全由Tomcat來管理
           ii、新建jbpm-console.xml文件
              使用這種方式將需要向數據庫中插入數據,由jBPM來管理安全驗證,jbpm-console.xml文件內容如下:
    <Context>
    <Realm  className="org.apache.catalina.realm.JDBCRealm 
              driverName="
    com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/jbpm"
              connectionName
    ="root" 
              connectionPassword
    ="自己的密碼"
              userTable
    ="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g" 
              userNameCol
    ="g.TYPE_ = 'security-role' AND m.GROUP_ = g.ID_ AND m.USER_ = u.ID_ AND u.NAME_" 
              userCredCol
    ="DISTINCT u.PASSWORD_"
              userRoleTable
    ="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g" 
              roleNameCol
    ="g.NAME_" />
    </Context>
              需要向數據庫中插入的數據:
          INSERT INTO JBPM_ID_GROUP VALUES(1,'G','sales','organisation',NULL);
          
    INSERT INTO JBPM_ID_GROUP VALUES(2,'G','admin','security-role',NULL);
          
    INSERT INTO JBPM_ID_GROUP VALUES(3,'G','user','security-role',NULL);
          
    INSERT INTO JBPM_ID_GROUP VALUES(4,'G','hr','organisation',NULL);
          
    INSERT INTO JBPM_ID_GROUP VALUES(5,'G','manager','security-role',NULL);
          
    INSERT INTO JBPM_ID_USER VALUES(1,'U','user','user@sample.domain','user');
          
    INSERT INTO JBPM_ID_USER VALUES(2,'U','manager','manager@sample.domain','manager');
          
    INSERT INTO JBPM_ID_USER VALUES(3,'U','admin','admin@sample.domain','admin');
          
    INSERT INTO JBPM_ID_USER VALUES(4,'U','shipper','shipper@sample.domain','shipper');
          
    INSERT INTO JBPM_ID_MEMBERSHIP VALUES(1,'M',NULL,NULL,2,4);
          
    INSERT INTO JBPM_ID_MEMBERSHIP VALUES(2,'M',NULL,NULL,3,4);
          
    INSERT INTO JBPM_ID_MEMBERSHIP VALUES(3,'M',NULL,NULL,4,4);
          
    INSERT INTO JBPM_ID_MEMBERSHIP VALUES(4,'M',NULL,NULL,4,3);
          
    INSERT INTO JBPM_ID_MEMBERSHIP VALUES(5,'M',NULL,NULL,1,3);
          
    INSERT INTO JBPM_ID_MEMBERSHIP VALUES(6,'M',NULL,NULL,2,3);
          
    INSERT INTO JBPM_ID_MEMBERSHIP VALUES(7,'M',NULL,NULL,3,3);
          
    INSERT INTO JBPM_ID_MEMBERSHIP VALUES(8,'M',NULL,NULL,3,2);
          
    INSERT INTO JBPM_ID_MEMBERSHIP VALUES(9,'M',NULL,NULL,2,2);
          
    INSERT INTO JBPM_ID_MEMBERSHIP VALUES(10,'M',NULL,NULL,2,5);
          
    INSERT INTO JBPM_ID_MEMBERSHIP VALUES(11,'M',NULL,'boss',2,1);
          
    INSERT INTO JBPM_ID_MEMBERSHIP VALUES(12,'M',NULL,NULL,1,1);
           這兩種方法任選一種即可。
            
    此時基本工作都已經做完,不過在發布前,不要忘了,將MySQL的驅動拷貝到%TOMCAT_HOME%\lib目錄下,然后就可以將jbpm-console文件夾復制到%TOMCAT_HOME%\webapps目錄下了,接著在bin目錄下雙擊tomcat6.exe啟動服務器,等啟動過程執行完后,打開IE,輸入http://localhost:8080/jbpm-console 回車,應該就能看到jbpm控制臺界面了。
     
        
           到此,在MySQL下的布署就全部結束了,如果能看到這個界面,那恭喜你,你終于成功了!
        下面接著說下如何將MySQL數據庫換成MS SQL Server 2000,其實很簡單,如果在MySQL下布署成功了,只需要將hibernate.cfg.xml文件里的配置改成MS SQL Server 2000的連接方式就行了,另外在2000中建立jbpm的數據庫也是必要的。
        9、使用SQL Server 2000數據庫
           jbpm-jpdl-3.2.2\db下找到jbpm.jpdl.mssql.sql,打開后刪除alter table JBPM_XXdrop table JBPM_XX這些語句,這些東東都是用來在以前的版本上做升級用的,我們是新建數據庫當然用不到這些了。在SQL Server中新建jbpm數據庫,COPY剩下的sql語句,在查詢分析器里粘貼,然后執行,這時會有很多警告產生,如下:
    警告: 已創建表 'JBPM_DELEGATION',但其最大行大小(8300)超過了每行的最大字節數(8060)。如果結果行長度超過 8060 字節,則此表中行的 INSERT 或 UPDATE 將失敗。   

    警告: 已創建表 
    'JBPM_LOG',但其最大行大?。?/span>18321)超過了每行的最大字節數(8060)。如果結果行長度超過 8060 字節,則此表中行的 INSERT 或 UPDATE 將失敗。
          這些不用管它,接下來修改hiberate.cfg.xml文件,大象采用的是JTDS驅動的連接方式,修改后的內容如下:
        <!-- hibernate dialect -->
        
    <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
        
    <property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
        
    <property name="hibernate.connection.url">jdbc:jtds:sqlserver://localhost:1433/jbpm</property>
        
    <property name="hibernate.connection.username">sa</property>
        
    <property name="hibernate.connection.password">自己的密碼(無密碼就空著)</property>
        
    <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
        
    <!-- DataSource properties (begin)
        <property name="hibernate.connection.datasource">java:/JbpmDS</property>
        DataSource properties (end) 
    -->
         不要忘了,還要將JTDS的驅動拷貝到%TOMCAT_HOME%\lib目錄下,如果采用的是Tomcat安全驗證,此時就不用向數據庫插入數據,直接就可以啟動服務器運行了。如果采用的是jBPM來管理安全驗證,此時則需要將前面提到的數據插入數據庫中,在插入前需要修改一下,將每條記錄前的ID號去掉,因為數據庫中對此字段已經作了標識,不能手動對它設置。數據插入后,就啟動服務器看下吧!
         寫到這里,關于jbpm-console所有的布署都講完了,大象以上所說的全部都是親自在電腦上一步一步的做過,絕不會胡亂copy一下網上的東東發出來。如有什么問題,希望和大家一起交流。(如果圖片不能顯示,在其上點擊右鍵,選擇"顯示圖片")
         需要使用的JAR包: 點擊下載
         SQL腳本: 點擊下載
         本文為菠蘿大象原創,如要轉載請注明出處。
    posted on 2008-08-06 17:25 菠蘿大象 閱讀(9095) 評論(10)  編輯  收藏 所屬分類: jBPM

    評論:
    # re: [原創] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000布署詳解 2008-08-06 20:18 | 路依
    2008-8-6 20:15:27 org.apache.catalina.core.StandardContext start
    嚴重: Error listenerStart
    2008-8-6 20:15:27 org.apache.catalina.core.StandardContext start
    嚴重: Context [/jbpm-console] startup failed due to previous errors
    2008-8-6 20:15:27 org.apache.coyote.http11.Http11AprProtocol start
    信息: Starting Coyote HTTP/1.1 on http-8080


    按你說的一步步來的。TOMCAT報這個錯,網上也有同樣的錯誤,可沒人回復。不知道你知道不?  回復  更多評論
      
    # re: [原創] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000布署詳解 2008-08-06 22:04 | 菠蘿大象
    你這個問題看來好像是Tomcat中的lib里面沒有catalina.jar這個文件導致的,另外我問下,你確定是按我寫的這些環境做的嗎?我其實在公司和家里三臺電腦上都測試過,確保沒問題了,我才這樣寫的,而且對應網上的做法,一般會出現錯誤的地方還專門測試過,所以,你先看下你的環境或是jar包都放好了沒,配置文件有沒有錯誤,有時候一些不注意的小細節會導致調試很久都找不到出錯的地方。  回復  更多評論
      
    # re: [原創] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000布署詳解 2008-08-07 09:15 | 路依
    應該是jar包的問題。我下載你的jar包覆蓋我的就可以了。具體哪個現在還沒測試。等有時間了我測試下發上來。  回復  更多評論
      
    # re: [原創] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署詳解[未登錄] 2008-12-03 14:56 | zhangy
    勞駕 出現這樣的問題 web.xml中加了<listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>

    <listener>
    <listener-class>com.sun.faces.application.WebappLifecycleListener</listener-class>
    </listener>后出現
    2008-8-6 20:15:27 org.apache.catalina.core.StandardContext start
    嚴重: Error listenerStart
    2008-8-6 20:15:27 org.apache.catalina.core.StandardContext start
    嚴重: Context [/jbpm-console] startup failed due to previous errors
    2008-8-6 20:15:27 org.apache.coyote.http11.Http11AprProtocol start
    信息: Starting Coyote HTTP/1.1 on http-8080

    按你說的一步步來的。TOMCAT報這個錯,
    web.xml不加上述代碼后 tomcat正常運行 沒有問題
    但是洅瀏覽器中鍵入http://localhost:8989/jbpm-console/sa/processes.jsf后回車
    tomcat報這樣的異常了


    警告: Unexpected error forwarding to login page
    javax.servlet.ServletException: Servlet.init() for servlet Faces Servlet threw exception
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1085)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:701)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:663)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD
    ispatcher.java:409)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis
    patcher.java:312)
    at org.apache.catalina.authenticator.FormAuthenticator.authenticate(Form
    Authenticator.java:220)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
    torBase.java:504)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
    eContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:520)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:137)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
    eContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:118)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
    eContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:520)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:109)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
    eContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:520)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16
    0)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
    :799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
    ssConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
    :577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
    ool.java:684)
    at java.lang.Thread.run(Thread.java:595)
    怎么辦????  回復  更多評論
      
    # re: [原創] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署詳解 2008-12-18 15:23 | 獨上太行
    警告: No default ExpressionFactory from Faces Implementation, attempting to load
    from Feature[compiler.ExpressionFactory]
    2008-12-18 15:21:13 com.sun.facelets.FaceletViewHandler handleRenderException
    嚴重: Error Rendering View[/ua/login.xhtml]
    com.sun.facelets.FaceletException: Could not instantiate feature[compiler.Expres
    sionFactory]: com.sun.el.ExpressionFactoryImpl
    at com.sun.facelets.compiler.Compiler.featureInstance(Compiler.java:154)

    at com.sun.facelets.compiler.Compiler.createExpressionFactory(Compiler.j
    ava:143)
    at com.sun.facelets.impl.DefaultFaceletFactory.createFacelet(DefaultFace
    letFactory.java:198)
    at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFacelet
    Factory.java:144)
    at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFacelet
    Factory.java:95)
    at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java
    :517)
    at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.jav
    a:567)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrap
    per.java:178)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePha
    se.java:106)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:173)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
    atcher.java:672)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applica
    tionDispatcher.java:463)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD
    ispatcher.java:398)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis
    patcher.java:301)
    at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPag
    e(FormAuthenticator.java:315)
    at org.apache.catalina.authenticator.FormAuthenticator.authenticate(Form
    Authenticator.java:243)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
    torBase.java:490)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
    a:148)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)

    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
    va:697)
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSock
    et.java:889)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
    ool.java:684)
    at java.lang.Thread.run(Unknown Source)
    2008-12-18 15:21:13 com.sun.faces.lifecycle.LifecycleImpl phase
    警告: executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@5113
    f0) threw exception
    com.sun.facelets.FaceletException: Could not instantiate feature[compiler.Expres
    sionFactory]: com.sun.el.ExpressionFactoryImpl
    at com.sun.facelets.compiler.Compiler.featureInstance(Compiler.java:154)

    at com.sun.facelets.compiler.Compiler.createExpressionFactory(Compiler.j
    ava:143)
    at com.sun.facelets.impl.DefaultFaceletFactory.createFacelet(DefaultFace
    letFactory.java:198)
    at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFacelet
    Factory.java:144)
    at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFacelet
    Factory.java:95)
    at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java
    :517)
    at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.jav
    a:567)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrap
    per.java:178)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePha
    se.java:106)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:173)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
    atcher.java:672)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applica
    tionDispatcher.java:463)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD
    ispatcher.java:398)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis
    patcher.java:301)
    at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPag
    e(FormAuthenticator.java:315)
    at org.apache.catalina.authenticator.FormAuthenticator.authenticate(Form
    Authenticator.java:243)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
    torBase.java:490)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
    a:148)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)

    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
    va:697)
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSock
    et.java:889)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
    ool.java:684)
    at java.lang.Thread.run(Unknown Source)
    [ERROR] Servlet.service() for servlet Faces Servlet threw exception
    com.sun.facelets.FaceletException: Could not instantiate feature[compiler.Expres
    sionFactory]: com.sun.el.ExpressionFactoryImpl
    at com.sun.facelets.compiler.Compiler.featureInstance(Compiler.java:154)

    at com.sun.facelets.compiler.Compiler.createExpressionFactory(Compiler.j
    ava:143)
    at com.sun.facelets.impl.DefaultFaceletFactory.createFacelet(DefaultFace
    letFactory.java:198)
    at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFacelet
    Factory.java:144)
    at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFacelet
    Factory.java:95)
    at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java
    :517)
    at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.jav
    a:567)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrap
    per.java:178)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePha
    se.java:106)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:173)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
    atcher.java:672)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applica
    tionDispatcher.java:463)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD
    ispatcher.java:398)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis
    patcher.java:301)
    at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPag
    e(FormAuthenticator.java:315)
    at org.apache.catalina.authenticator.FormAuthenticator.authenticate(Form
    Authenticator.java:243)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
    torBase.java:490)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
    a:148)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)

    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
    va:697)
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSock
    et.java:889)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
    ool.java:684)
    at java.lang.Thread.run(Unknown Source)
    [WARN] Unexpected error forwarding to login page
    javax.servlet.ServletException: Could not instantiate feature[compiler.Expressio
    nFactory]: com.sun.el.ExpressionFactoryImpl
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:249)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:173)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
    atcher.java:672)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applica
    tionDispatcher.java:463)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD
    ispatcher.java:398)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis
    patcher.java:301)
    at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPag
    e(FormAuthenticator.java:315)
    at org.apache.catalina.authenticator.FormAuthenticator.authenticate(Form
    Authenticator.java:243)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
    torBase.java:490)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
    a:148)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)

    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
    va:697)
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSock
    et.java:889)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
    ool.java:684)
    at java.lang.Thread.run(Unknown Source)
    我加了那兩個監聽器后還是報錯,不知道樓主知道什么原因不?
      回復  更多評論
      
    # re: [原創] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署詳解 2008-12-18 15:50 | 獨上太行
    找到答案了,原來是少了el-ri-1.0.jar
    http://download.java.net/maven/2/com/sun/el/el-ri/1.0/
    不明白在jboss-jbpm自帶的jboss服務器中沒有這個包為什么能運行。。。
    忘了說明一下,我現在用的是jbpm3.3.0的。是通過安裝包安裝的jboss-jbpm,結構和之前的版本不大一樣了。  回復  更多評論
      
    # re: [原創] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署詳解 2009-09-30 08:47 | 崔永
    請問我怎么下載你的Lib啊?一點擊下載就說我的權限不夠。  回復  更多評論
      
    # re: [原創] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署詳解 2009-10-09 15:07 | 獨上太行
    @崔永
    請再試一下,我今天下載也是可以的,不需要登錄。實在不行,給我你的郵箱我把jar發給你。  回復  更多評論
      
    # re: [原創] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署詳解 2009-10-09 15:16 | 崔永
    依然有如下錯誤提示:

    403 - Forbidden: Access is denied.
    You do not have permission to view this directory or page using the credentials that you supplied.

    但是我已經解決了,找到了可用的包了,謝謝你。  回復  更多評論
      
    # re: [原創] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署詳解 2009-12-24 11:39 | 菠蘿大象
    感謝大家的回復,我好久都沒寫博客了,沒想到,這么早寫的一篇文章,現在還有人關注。我決定開始再來更新博客。  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 日韩成人免费aa在线看| 在线观看亚洲免费视频| 国产亚洲精品线观看动态图| 国产va免费精品观看精品 | 成人奭片免费观看| 久久国产精品免费视频| 一级毛片免费观看不收费| 亚洲变态另类一区二区三区 | 久久青草免费91线频观看不卡| 美女被免费网站在线视频免费| 亚洲国产成人精品激情| 久久亚洲AV成人无码电影| 精品亚洲综合在线第一区| 亚洲乱码中文字幕手机在线| 四虎永久免费观看| 免费看大黄高清网站视频在线| 日韩免费一区二区三区在线播放| 久9久9精品免费观看| 亚洲高清视频一视频二视频三| 一二三四在线播放免费观看中文版视频 | 亚洲欧洲日产国码一级毛片| 国产成人精品男人免费| 成全高清视频免费观看| 扒开双腿猛进入爽爽免费视频 | 亚洲最大在线观看| 亚洲经典在线中文字幕| 亚洲第一页在线播放| 亚洲国产综合第一精品小说| 亚洲综合激情九月婷婷| 亚洲精品成人网站在线播放| 日木av无码专区亚洲av毛片| 久久久久亚洲av无码尤物| 亚洲国产精久久久久久久| 久久精品九九亚洲精品| 亚洲影院在线观看| 亚洲大片免费观看| 亚洲AV无码一区二区三区在线| 亚洲制服丝袜中文字幕| 亚洲欧美日韩一区二区三区| 亚洲a无码综合a国产av中文| 免费人人潮人人爽一区二区 |