8 Replies Latest reply on Apr 6, 2009 9:33 PM by sri r

    Jbpm issues

    Matej Knopp Newbie

      Hi

      First I want to thank you for working on jBPM, from all open source workflow engines I've worked with, I consider it to be the best.

      I'm building a custom workflow solution with jBPM. The solution consists of a custom web client built with Wicket web framework and a possibility to deploy wicket components alongside the workflow. The components are then part of user tasklist.

      Here are the problems I've encountered so far:
      1. I had to modify the ProcessClassLoader and ClassLoaderUtil, because by default jbpm creates new instance of class loader for every delegate object requested. So I cache the classloaders for specific process defition + version. I also modified the classloader. I understand this is not how jbpm classloading is supposed to work, however, it would be great if in future it would be possible to achieve such effect withou having to modify jbpm code.

      2. When I specify xml schema in process xml, i can't deploy it, unless i modify jbpm to ignore validation errors.
      This is the error i get:
      [[ERROR] line 376: cos-ct-extends.1.4.2.2.2.2.1: Error for type '#AnonType_assignment'. The content type of a derived type and that of its base must both be mixed or element-only., [WARNING] swimlane 'swimlane1' does not have an assignment]
      I'll post the sample process file in next post. Is this a known issue?

      3. When process is being deployed, the inner classes are ignored. So when I have class Foo with inner class Bar, the Foo.class file gets deployed, but the Foo$Bar.class is not.

      Thanks,
      -Matej Knopp

        • 1. Re: Jbpm issues
          Matej Knopp Newbie

          Sample file that makes jbpm choke

          <?xml version="1.0" encoding="UTF-8"?>
          
          <process-definition xmlns="urn:jbpm.org:jpdl-3.2"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="urn:jbpm.org:jpdl-3.2 http://docs.jboss.org/jbpm/xsd/jpdl-3.2.xsd"
           name="simple">
          
           <swimlane name="swimlane1">
           <assignment pooled-actors="actor1"></assignment>
           </swimlane>
          
           <start-state name="start">
           <transition name="XX" to="task1"></transition>
           </start-state>
          
           <task-node name="task1">
           <task name="start" swimlane="swimlane1">
           <controller class="com.sample.action.TestController" config-type="bean"></controller>
           </task>
           <transition name="Continue" to="first"></transition>
           </task-node>
          
           <state name="first">
           <event type="node-enter">
           </event>
           <transition name="to_end" to="end">
           <action name="action" class="com.sample.action.MessageActionHandler">
           <message>About to finish!</message>
           </action>
           </transition>
           </state>
           <end-state name="end"></end-state>
          
          
          </process-definition>
          

          Btw. I haven't mentioned that in previous post, I'm using jbpm 3.2 beta 2.

          • 2. Re: Jbpm issues
            Ronald van Kuijk Master

            1: look at http://jira.jboss.org/jira/browse/JBPM-653
            2: could be a bug in the xsd. Can you check that and maybe file an issue if it is one?
            3: do the classess get in the processarchive? If so, file an issue against the core (http://jira.jboss.org/jira/browse/JBPM) if not, file an issue against the gpd (http://jira.jboss.org/jira/browse/GPD)

            • 3. Re: Jbpm issues
              Johan Parent Newbie

              I had the problem listed below. Turns out is was a classpath issue. In my case there was some interference in lookup of the JpdlEntityResolver and the EntityResolver setup provided by my Weblogic.jar.

              Maybe this solves the problem for you. If not crank up your log4j.properties to DEBUG and see where it hurts.

              Best regards,

              Johan

              2. When I specify xml schema in process xml, i can't deploy it, unless i modify jbpm to ignore validation errors.
              This is the error i get:
              [[ERROR] line 376: cos-ct-extends.1.4.2.2.2.2.1: Error for type '#AnonType_assignment'. The content type of a derived type and that of its base must both be mixed or element-only., [WARNING] swimlane 'swimlane1' does not have an assignment]
              I'll post the sample process file in next post. Is this a known issue?
              


              • 4. Re: Jbpm issues
                Johan Parent Newbie

                I had the problem listed below. Turns out is was a classpath issue. In my case there was some interference in lookup of the JpdlEntityResolver and the EntityResolver setup provided by my Weblogic.jar.

                Maybe this solves the problem for you. If not crank up your log4j.properties to DEBUG and see where it hurts.

                Best regards,

                Johan

                2. When I specify xml schema in process xml, i can't deploy it, unless i modify jbpm to ignore validation errors.
                This is the error i get:
                [[ERROR] line 376: cos-ct-extends.1.4.2.2.2.2.1: Error for type '#AnonType_assignment'. The content type of a derived type and that of its base must both be mixed or element-only., [WARNING] swimlane 'swimlane1' does not have an assignment]
                I'll post the sample process file in next post. Is this a known issue?
                


                • 5. Re: Jbpm issues
                  G M Newbie

                  Hi Johan,

                  can you please tell me how exactly did you fix the classpath issue problem?

                  I think I have the same issue with jbpm 3.2 and weblogic 8.1: when parsing the process definition, it seems that JpdlParser uses dom4j's SAXReader, which uses weblogic's RegistryXMLReader. I would like to use xerces instead (since I tested it and it worked in my context)...

                  George.

                  • 6. Re: Jbpm issues
                    G M Newbie

                    I was able to ignore weblogic.jar and switch to xerces by setting the following system property:

                     System.setProperty("javax.xml.parsers.SAXParserFactory", "org.apache.xerces.jaxp.SAXParserFactoryImpl");
                    




                    • 7. Re: Jbpm issues
                      Ajay Kamath Newbie

                      hi,

                      when i deploy my process definition.xml in eclipse.
                      i am getting the following error

                      "cos-ct-extends.1.4.2.2.2.2.1: Error for type '#AnonType_assignment'. The content type of a derived type and that of its base must both be mixed or element-only"


                      CAN ANYBODY HELP PLEASE?

                      • 8. Re: Jbpm issues
                        sri r Newbie

                        I was able to get past through this error. Check your maven script if you have mentioned xercesImpl dependancy with 'provided' scope. Remove the scope tag and it should work like a charm.

                        -Sridhar