3 Replies Latest reply on Feb 13, 2009 4:35 AM by heytex

    Cant parse process def file on weblogic 10.3

    heytex

        Recently I tried to deploy todo list example in SEAM 2.1.1GA to weblogic AS 10.3 following the instructions provided in reference but encountered some problems...


      1.
      First weblogic server complains that there's no ejb in ejb jar. So I arranged the ear file, moving jbpm related files to the todo.war and put SEAM components with seam.properties in the WEB-INF\classes. Finally I have only jboss-seam.jar, todo.war in my ear file. This is tested and works fine on JBoss AS 4.2.3GA.


      2.
      The weblogic server complains that it can't find library files in the root of ear file. So I moved those library files manually in the lib directory in the ear file. This makes no difference to Jboss AS. However, there're some library files somehow produces error in weblogic server ( javassist.jar & jboss-common-core.jar ), I moved these two files to domain lib directory in weblogic to let weblogic find library files while not producing errors. (Any idea about why this happended or how to resolve more elegantly ?)


      3.
      After step 1,2 and making necessary changes indicated in SEAM reference weblogic chapter(including adding weblogic-application.xml in meta-inf dir of ear file), I still get an exception complaining that it can't parse my process definition file (while working well on Jboss AS).



      'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1234435961640> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1234435954968' for task '0'. Error is: 'weblogic.application.ModuleException: '
      weblogic.application.ModuleException: 
           at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1373)
           at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:468)
           at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
           at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
           at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
           at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
           at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
           at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
           at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
           at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
           at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
           at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
           at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
           at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
           at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:16)
           at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162)
           at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
           at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
           at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:140)
           at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:106)
           at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
           at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:820)
           at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1227)
           at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:436)
           at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
           at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181)
           at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
           at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67)
           at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
           at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
           at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
      org.jbpm.jpdl.JpdlException: [[ERROR] couldn't parse process definition]
           at org.jbpm.jpdl.xml.JpdlXmlReader.readProcessDefinition(JpdlXmlReader.java:172)
           at org.jbpm.graph.def.ProcessDefinition.parseXmlInputStream(ProcessDefinition.java:180)
           at org.jbpm.graph.def.ProcessDefinition.parseXmlResource(ProcessDefinition.java:161)
           at org.jboss.seam.bpm.Jbpm.deployProcess(Jbpm.java:311)
           at org.jboss.seam.bpm.Jbpm.installProcessDefinitions(Jbpm.java:294)
           at org.jboss.seam.bpm.Jbpm.startup(Jbpm.java:80)
           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 org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
           at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144)
           at org.jboss.seam.Component.callComponentMethod(Component.java:2211)
           at org.jboss.seam.Component.callCreateMethod(Component.java:2134)
           at org.jboss.seam.Component.newInstance(Component.java:2094)
           at org.jboss.seam.contexts.Contexts.startup(Contexts.java:304)
           at org.jboss.seam.contexts.Contexts.startup(Contexts.java:278)
           at org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:112)
           at org.jboss.seam.init.Initialization.init(Initialization.java:735)
           at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:35)
           at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:465)
           at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
           at weblogic.security.service.SecurityManager.runAs(Unknown Source)
           at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:175)
           at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1784)
           at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2999)
           at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1371)
           at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:468)
           at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
           at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
           at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
           at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
           at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
           at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
           at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
           at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
           at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
           at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
           at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
           at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
           at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:16)
           at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162)
           at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
           at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
           at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:140)
           at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:106)
           at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
           at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:820)
           at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1227)
           at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:436)
           at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
           at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181)
           at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
           at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67)
           at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
           at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
           at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)



      I put todo.jpdl.xml in root of ear, ear\lib, root of todo.war, and war\WEB-INF\classes ...all produce the same exception. I read about an article which indicated that weblogic may use it's own xml parser that leads to parse errors. However, I tried both sun jdk 1.6 and jrockit 1.6, the situation remains. Following is my hibernate.cfg.xml, although I don't think it causes the problem.


         <property name="show_sql">true</property>
          <property name="connection.datasource">seam-jee5-ds</property>
          <property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
          <property name="transaction.manager_lookup_class">org.hibernate.transaction.WeblogicTransactionManagerLookup</property>
          <property name="cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
          <property name="hbm2ddl.auto">create-drop</property>



      Any help is appreciated..

        • 1. Re: Cant parse process def file on weblogic 10.3
          heytex

          My file structure looks like this:



          Ear
            lib(dir)
            MEATA INF(dir)
            jboss seam.jar
            todo.war
          



          todo.war
            img(dir)
            layout(dir)
            stylesheet(dir)
            META INF(dir)
            WEB INF(dir)
              components.xml,faces config.xml,pages.xml,web.xml(use default settings.)
              lib(dir)
              classes(dir)
                  META INF(dir)
                  org.jboss.seam.example.todo.login.class and TodoList.class
                  seam.properties
          
            hibernate.config.xml
            jbpm.config.xml
            todo.jpdl.xml
          
            login.jsp
            todo.jsp
            index.html
          



          files in ear\lib


          antlr runtime.jar
          asm.jar
          cglib.jar
          commons logging.jar
          concurrent.jar
          dom4j.jar
          drools compiler.jar
          drools core.jar
          hibernate.jar
          hibernate annotations.jar
          hibernate commons annotations.jar
          hibernate entitymanager.jar
          hibernate search.jar
          hibernate validator.jar
          jboss el.jar
          jbpm jpdl.jar
          lucene core.jar
          richfaces api.jar
          




          files in war\WEB INF\lib


          commons beanutils.jar
          commons digester.jar
          jboss seam debug.jar
          jboss seam ioc.jar
          jboss seam mail.jar
          jboss seam pdf.jar
          jboss seam remoting.jar
          jboss seam ui.jar
          jsf facelets.jar
          richfaces impl.jar
          richfaces ui.jar
          



          files in server library
          (C:\bea\wlserver_10.3\samples\domains\wl_server\lib)


          hsqldb.jar
          javassist.jar(leads to error if put in ear\lib)
          javax.jsf_1.2.0.0.jar
          jboss common core.jar(leads to error if put in ear\lib)
          

          • 2. Re: Cant parse process def file on weblogic 10.3
            heytex

            Step 2 could be my mistake in the mess of that not restarting server while having unnormal undeployments.However, the couldn't parse problem remains without the step.

            • 3. Re: Cant parse process def file on weblogic 10.3
              heytex

              You can download my todo-ear.ear 
              Here.