7 Replies Latest reply on Aug 15, 2017 1:20 PM by smitha.george

    JBPM 7.1.0 - Cannot Load Process Definitions

    smitha.george

      I installed JBPM 7.1.0, accessed JBPM console, added a project, configured a service task by adding the dependencies, kbase, ksession, workitemhandler, workitem definition and created a business process using the service task. Configured Process variables successfully and built and deployed it. The deployed project jar is seen in the Artifact Repository, along with the added dependencies. But artificat repository GAV for groupid.artifactid:version comes as undetermined and the process does not shows up in Process Definitions. Also noticed that, while accessing the dependency, the console is missing the first letter of the group id in the repository path:

       

       

      In the above example, inside the repository path, it replaces mysql with ysql.

      Artifact repository:

       

      Any help would be greatly appreciated. Thank you so much.

        • 1. Re: JBPM 7.1.0 - Cannot Load Process Definitions
          mccloud

          Do you have a reproducer project that I can clone and test? It's quite hard to determine from just the description and the 2 log-lines what's going wrong.

           

          Cheers,

           

          Duncan

          • 2. Re: JBPM 7.1.0 - Cannot Load Process Definitions
            smitha.george

            Thank you for the response Duncan. The steps to reproduce the issue are:

            1. Install JBPM 7.1.0.Final version following the instructions given in https://docs.jboss.org/jbpm/release/7.0.0.Final/jbpm-docs/html_single/#_jbpminstaller

            2. Create a Project / Case project.

            3. Upload a WorkItemHandler Jar having a simple MySQL DB update with GAV information (add manually if needed) into the Artifact Repository.

            4. Upload mysql-connector-java jar into the Artifact Repository (Provide GAV information manually if needed).

            5.Add these two jars as dependencies to the project.

            6. Create a kbase, ksession and add the workitemhandler into the ksession.

            7. Add the workitem handler into the WorkDefinition.

            8. Create a simple Business Process / Case Definition including the service task corresponding to the added workitemhandler.

            9. Build and deploy the project having process / case definition.

            10. Check Process management -> Process Definition or (in case of case definition, check jbpm-casemgmt console -> Case List).

            11. The deployed processes are not available in both process definitions / case lists.

             

            The WorkItemHandler can be a simple java maven  project having a single MySQL Table Update using jdbc protocol, which is then exported into jar and added as a dependency into artifact repository.

            These are the steps i followed.

             

            For the very basic testing, even without any work item handlers, if the artifact repository can display atleast the mysql-connector-java jar groupid.artifactid:version correctly after uploading that, it may resolve the issue. the root cause i guess is that the artifact repository is not able to retrieve the jar it uploaded because it encounters a typo in the jar location : mysql is incorrectly converted to ysql. i can see the jar aptly uploaded in the location :

             

            Unfortunately, the path the workbench is checking for this jar while process definition loading is:

            • 3. Re: JBPM 7.1.0 - Cannot Load Process Definitions
              smitha.george

              To simplify the whole root cause analysis, without creating any project/process, we just have to install JBPM7.1.0.Final version as per the instructions given in  jBPM Documentation, open the JBPM Console  and simply upload mysql-connector-java.jar in the Project authoring -> Artifact Repository. 

               

              <dependency>

              <groupId>mysql</groupId>

              <artifactId>mysql-connector-java</artifactId>

                 <version>6.0.5</version>

              </dependency>.

               

              Now the Artifact Repository will show the uploaded file information as :

              The GAV information groupid:artifactid:version comes as undetermined. If we just click the open/ download button there itself, it gives the error in console as (same typo of mysql -> ysql): and the error in the workbench as: . If this can be resolved, the rest will also get resolved.

              • 4. Re: JBPM 7.1.0 - Cannot Load Process Definitions
                mccloud

                When you manually upload that JAR  file to the repository, does it show a pop-up stating that the JAR does not contain a valid POM file and you're asked to specify the GAV manually? Or does the JAR file upload directly.

                 

                I've tried to replicate your situation using the following file: Maven Repository: mysql » mysql-connector-java » 6.0.5

                However, when I upload that file, I need to enter the GAV manually, and all works fine after that. The GAV information I've entered is displayed correctly in the UI.

                 

                Can you point me to the exact JAR file that you're using, just to be sure that we're looking at the same thing?

                 

                Cheers,

                 

                Duncan

                • 5. Re: JBPM 7.1.0 - Cannot Load Process Definitions
                  smitha.george

                  Thank you so much Duncan for taking time and testing it out. I used the same Maven Repository: mysql » mysql-connector-java » 6.0.5 jar file which was downloaded into my local .m2 folder and uploaded it from there to Artifact Repository. Now, I had gotten all these things working perfectly in JBPM version 6.4.0, and in version 6.4.0, this scenario of manually updating GAV information while uploading the jar through a pop up was working well and the groupid:artifactid:version was showing up correctly.

                   

                  I am facing this problem in version 7.1.0. For this Maven Repository: mysql » mysql-connector-java » 6.0.5 jar, it did not ask for manual GAV information entry. Pop up did not show up. But for some other jars (project specific work item handlers), pop up did show up, i entered the data, and even after that, the GAV information was showing as <undetermined>

                   

                  . The upload actually happens successfully. The jar shows up in kie repository folder.  only thing is the GAV information is undetermined, cannot open/download the uploaded jar from artifact repository itself, and while process definition loading, because this dependency cannot be loaded, the process doesn't show up in process definitions.

                  • 6. Re: JBPM 7.1.0 - Cannot Load Process Definitions
                    mccloud

                    I've tried it again an again, I really cannot reproduce this with that given JAR file. I always get that popup. Can you put that JAR files somewhere where I can download it, so I can use the exact same file that you are using?

                     

                    Cheers,

                     

                    Duncan

                    • 7. Re: JBPM 7.1.0 - Cannot Load Process Definitions
                      smitha.george

                      Thank you Duncan, the JAR file is exactly same as Maven Repository: mysql » mysql-connector-java » 6.0.5 . If you could see the GAV information successfully with this JAR in Artifact Repository, I wonder, if it is some thing to do with my installation. I am using Windows 10 64 bit OS. Now I am trying a different approach of installing JBPM 7.1.0 Docker version in a Linux VM to see if that helps. Will update if there is a favorable outcome. Thanks a lot for all your effort.