I'll be back!

            Focus on BPM, celebrate PegaRULES Process Commander (PRPC)
          posts - 76, comments - 161, trackbacks - 0, articles - 2
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          PRPC JSR94 Troubleshooting

          Posted on 2009-05-31 18:00 zolly 閱讀(1381) 評論(1)  編輯  收藏
          Product Version: PRPC V5.3
          Reference Document: jsr94service52.pdf

          按照來自PDN文檔jsr94service52中的JSR94 Sample一步一步重現時,無論采用Ant還是Eclipse編譯運行,都可能會出現如下的問題:
          2009-05-31 17:14:43,500 [     user-5a57c3e103] (    etier.engine.EngineStartup) ERROR   - PegaRULES initialization failed. Server: user-5a57c3e103
          com.pega.pegarules.pub.context.InitializationFailedError: PRNodeImpl init failed
              at com.pega.pegarules.engine.context.PREnvironment.getThreadAndInitialize(PREnvironment.java:
          338)
              at com.pega.pegarules.etier.engine.EngineStartup.initEngine(EngineStartup.java:
          456)
              at com.pega.pegarules.etier.impl.EngineImpl._initEngine_privact(EngineImpl.java:
          125)
              at com.pega.pegarules.etier.impl.EngineImpl.doStartup(EngineImpl.java:
          98)
              at com.pega.pegarules.priv.services.jsr94.PRRuntime.startEngine(PRRuntime.java:
          327)
              at com.pega.pegarules.priv.services.jsr94.PRRuntime.getEngine(PRRuntime.java:
          87)
              at com.pega.pegarules.priv.services.jsr94.PRRuntime.<init>(PRRuntime.java:
          78)
              at com.pega.pegarules.priv.services.jsr94.PRAdministrator.<init>(PRAdministrator.java:
          81)
              at com.pega.pegarules.pub.services.jsr94.PRuleServiceProvider.<init>(PRuleServiceProvider.java:
          64)
              at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
              at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:
          39)
              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:
          27)
              at java.lang.reflect.Constructor.newInstance(Constructor.java:
          513)
              at java.lang.Class.newInstance0(Class.java:
          355)
              at java.lang.Class.newInstance(Class.java:
          308)
              at javax.rules.RuleServiceProviderManager.registerRuleServiceProvider(RuleServiceProviderManager.java:
          84)
              at javax.rules.RuleServiceProviderManager.registerRuleServiceProvider(RuleServiceProviderManager.java:
          67)
              at com.pega.pegarules.pub.services.jsr94.PRuleServiceProvider.<clinit>(PRuleServiceProvider.java:
          52)
              at com.pega.pegarules.sample.service.jsr94.client.SubmitClaim.run(SubmitClaim.java:
          97)
          Caused by: com.pega.pegarules.pub.PRRuntimeException: Method Invocation exception
              at com.pega.pegarules.engine.context.PREnvironment.doWithRequestorLocked(PREnvironment.java:
          731)
              at com.pega.pegarules.engine.context.PREnvironment.doWithRequestorLocked(PREnvironment.java:
          568)
              at com.pega.pegarules.engine.context.PREnvironment.getThreadAndInitialize(PREnvironment.java:
          328)
               
          18 more
          Caused by: java.lang.reflect.InvocationTargetException
              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:
          597)
              at com.pega.pegarules.engine.context.PREnvironment.doWithRequestorLocked(PREnvironment.java:
          729)
               
          20 more
          Caused by: java.lang.NoClassDefFoundError: javax/servlet/jsp/JspFactory
              at com.pega.pegarules.engine.context.PRNodeImpl.updateSystemStart(PRNodeImpl.java:
          1519)
              at com.pega.pegarules.engine.context.PRNodeImpl.startNode(PRNodeImpl.java:
          1157)
              at com.pega.pegarules.engine.context.PREnvironment.finishInit(PREnvironment.java:
          833)
               
          25 more
          Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.JspFactory
              at java.net.URLClassLoader$
          1.run(URLClassLoader.java:200)
              at java.security.AccessController.doPrivileged(Native Method)
              at java.net.URLClassLoader.findClass(URLClassLoader.java:
          188)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:
          307)
              at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
          301)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:
          252)
              at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
          320)
               
          28 more

          如果出現類似javax.serverlet.jsp.JspFactory相關的問題,可能有兩個原因引起:
          1. 在所有引用的Jar path中,沒找到javax.serverlet.jsp.JspFactory類。
          2. 在多個Jar path中,都找到javax.serverlet.jsp.JspFactory類,出現沖突。

          在PRPC中使用JSR94,需要調用servlet-api.jar,該jar包來自Tomcat/common/lib,查詢http://www.findjar.com/index.jsp?query=javax.servlet.jsp.JspFactory可知在servlet-api.jar中應該(不敢肯定)包括javax.serverlet.jsp.JspFactory類,但程序仍然報告錯誤信息。從查詢結果中得知在同樣的目錄下,還有一個jar包jsp-api.jar也包含該類。于是,本人將兩個jar包同時放到Eclipse的Path中去,結果編譯運行成功。所以本人推測,在apache-tomcat-5.5.17版本中,servlet-api.jar中并不包含javax.serverlet.jsp.JspFactory類。

          如有異議,還請高手指點,以上推斷,純屬個人愚見。

          評論

          # re: PRPC JSR94 Troubleshooting  回復  更多評論   

          2009-06-03 17:44 by Purnendu.Dash
          If he doesn’t want the Obj- methods, he can always the public APIs to do so.
          There are many methods in “com.pega.pegarules.pub.database” package (check out the Database interface).

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


          網站導航:
           
          主站蜘蛛池模板: 丰镇市| 靖江市| 永登县| 察哈| 永川市| 富川| 阜新| 福建省| 衢州市| 应城市| 淳化县| 达孜县| 吉首市| 内乡县| 牡丹江市| 祁阳县| 郯城县| 临沂市| 昌黎县| 蒲江县| 仙桃市| 连山| 淳安县| 潞西市| 门头沟区| 临沭县| 临潭县| 满洲里市| 南岸区| 叶城县| 广平县| 信阳市| 黄梅县| 台山市| 北海市| 邵东县| 福安市| 汤原县| 榆树市| 昌江| 梁河县|