[SOLVED] Where to add dependencies ?

1
0
-1

Hi all,

I'm working on Bonita BPM Studio with community version. My process create a bug on a bugzilla server via an API that I've coded myself.

But when my process when it arrives at the task who create a bug, it not working because :

org.bonitasoft.engine.commons.exceptions.SBonitaRuntimeException: javax.xml.parsers.FactoryConfigurationError: Provider for javax.xml.parsers.SAXParserFactory cannot be found

My API doesn't use javax jar... In fact I don't understand this exception.

Then I've added in Developpement >>> Manage jars javax jar but it not working. Then I've added this jar in process dependencies but it not working. Then I've added it too in application dependencies but it not working. Then I've added it in C:\BonitaBPMCommunity-6.4.1\workspace\tomcat\webapps\bonita\WEB-INF\lib but it not working...

Then, my question is : where to add this jar ?

Bonita's documentation must to be improve !!

Thanks in advance

Comments

Submitted by haris.subasic on Tue, 02/24/2015 - 16:59

Few weeks ago, it seems you had the same problem but resolved it by adding the .jar in application dependencies, right? You can try to use the option Refresh connector repository from the Development menu in the studio.

Submitted by halla1 on Wed, 02/25/2015 - 13:37

If you are using JDK>=1.6, we don't need to add any javax jar as they are part of JDK. You may verify once if there are any custom dependent jars that are added to your process conflicting with JDK SaxFactory classes.

Submitted by big73 on Wed, 02/25/2015 - 14:15

Hi Haris and Halla and thank you for your responses.

@haris, that's true but since yesterday, it not working with jar in applications's dependencies because there is a conflict with many parser.

Yeah, this problem happens when there are many instances of SAX parser. I'm using a JRE 1.7 and not a JDK.. how can I to run Bonita BPM Studio on JDK 1.7 ?

Thanks

Submitted by big73 on Wed, 02/25/2015 - 16:50

I've just run Bonita BPM Studio on Oracle JDK 7 and the same exception occurs...

Submitted by halla1 on Thu, 02/26/2015 - 10:47

can you please add me in skype id: hari_alla

Let see if i can help you by going through the process.

Submitted by big73 on Fri, 02/27/2015 - 09:35

Hi dear Halla

I've solved half of problem : In my case I've developped an API who parse xml file and return me a list of Element. With this list I load a List Widget in a form. This API need of JDOM2 who contain a SAX Parser.

The problem is :

I. when I put my jar API in application's dependencies and JDOM2 in developpement >> manage jars, all works fine in Bonita BPM Studio but when I export bar file to deploy it in JBoss server it not working because it don't resolve my jar API.

II. Then I delete my jar API from API applications's dependencies and I put it in process's dependencies always with JDOM in "manage jars". Now it works well in Bonita BPM Studio but when I export bar file in JBoss, it not working because it don't resolve JDom2

III. Then when I put JDOM in process'dependencies, I get a problem because there is a conflit cause of instanciation of more than once Sax Parser.

Have you understand my problem ? Sorry again form my bad english but I need some help please to solve this issue.

Thanks a lot

Submitted by big73 on Fri, 02/27/2015 - 14:24

I've solved issue and now I understand more about how Bonita BPM run his dependencies.

In fact, JDOM2 API contains a SAX Parser and Bonita has his own SAX Parser, if there are more than once instance of SAX Parser Bonita BPM Engine threw an Exception. Because at the start of Bonita BPM Engine, classLoader load all classes needed by Engine including a SAX Parser for Bonita BPM and when my process is running, ClassLoader load an other SAX Parser (JDOM2 for my process) and at this moment Bonita BPM Engine threw an exception like ClassCastException.

The solution is to see in this case JDOM2 like a dependencie of Tomcat Server and not like a dependencie of Bonita process. To do this, add the jar in Tomcat's classpath (Bonita BPM Studio):

Bonita_Homel\workspace\tomcat\webapps\bonita\WEB-INF\lib

Just enjoy now ! And if you want to deploy your bar file, just export it from Bonita BPM Studio and install it on Tomcat bundle. And add the jar in this directory :

tomcat_bundle_Home\webapps\bonita\WEB-INF\lib

Enjoy again !

But, i don't know where to install this jar on JBoss bundle, someone knows please ?

Sorry for my english and Thanks in advance !

1 answer

1
+1
-1

Maybe doing:

Development -> manage jars.. add

an then

Config -> Process dependencies -> others ... add

Notifications