You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description:
As I need to connect the latest version of MongoDB (7.x.x), I tried the V2.0.0 tag with the updated drivers. It deploys normally but when I try to use the connector I have the following error :
[2023-06-27 13:33:16,916] ERROR {NativeWorkerPool} - Uncaught exception java.lang.NoClassDefFoundError: com/mongodb/client/MongoClients at org.wso2.carbon.connector.utils.SimpleMongoClient.<init>(SimpleMongoClient.java:72) at org.wso2.carbon.connector.connection.MongoConnection.<init>(MongoConnection.java:69) at org.wso2.carbon.connector.operations.MongoConfig.connect(MongoConfig.java:73) at org.wso2.carbon.connector.core.AbstractConnector.mediate(AbstractConnector.java:32) at org.apache.synapse.mediators.ext.ClassMediator.updateInstancePropertiesAndMediate(ClassMediator.java:178) at org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:110) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:72) at org.apache.synapse.mediators.template.TemplateMediator.mediate(TemplateMediator.java:136) at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:170) at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:93) at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:141) at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:93) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:110) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:72) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) at org.apache.synapse.api.Resource.process(Resource.java:342) at org.apache.synapse.api.API.process(API.java:477) at org.apache.synapse.api.AbstractApiHandler.apiProcess(AbstractApiHandler.java:94) at org.apache.synapse.api.AbstractApiHandler.dispatchToAPI(AbstractApiHandler.java:72) at org.apache.synapse.api.rest.RestRequestHandler.dispatchToAPI(RestRequestHandler.java:90) at org.apache.synapse.api.rest.RestRequestHandler.process(RestRequestHandler.java:76) at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:54) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:346) at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:101) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:379) at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:438) at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:186) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.ClassNotFoundException: com.mongodb.client.MongoClients at org.apache.axis2.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:279) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 33 more
I believe the problem comes from the fact that there is an older version of the drivers
included in the MI. That version seems to be a dependency of dataservices and the way to create a a connection didn't use MongoClients
I tried to add the new drivers (mongodb-driver-sync-4.9.1.jar, bson-4.9.1.jar, bson-record-codec-4.9.1.jar, mongodb-driver-core-4.9.1.jar) at several places $MI_HOME/lib, $MI_HOME/wso2/components/plugins/, $MI_HOME/wso2/lib but nothing seems to work. The mi always uses the older version of the driver
Description
Moving the issue from https://github.com/wso2-extensions/esb-connector-mongodb/issues/11
Description:
As I need to connect the latest version of MongoDB (7.x.x), I tried the V2.0.0 tag with the updated drivers. It deploys normally but when I try to use the connector I have the following error :
[2023-06-27 13:33:16,916] ERROR {NativeWorkerPool} - Uncaught exception java.lang.NoClassDefFoundError: com/mongodb/client/MongoClients at org.wso2.carbon.connector.utils.SimpleMongoClient.<init>(SimpleMongoClient.java:72) at org.wso2.carbon.connector.connection.MongoConnection.<init>(MongoConnection.java:69) at org.wso2.carbon.connector.operations.MongoConfig.connect(MongoConfig.java:73) at org.wso2.carbon.connector.core.AbstractConnector.mediate(AbstractConnector.java:32) at org.apache.synapse.mediators.ext.ClassMediator.updateInstancePropertiesAndMediate(ClassMediator.java:178) at org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:110) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:72) at org.apache.synapse.mediators.template.TemplateMediator.mediate(TemplateMediator.java:136) at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:170) at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:93) at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:141) at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:93) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:110) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:72) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) at org.apache.synapse.api.Resource.process(Resource.java:342) at org.apache.synapse.api.API.process(API.java:477) at org.apache.synapse.api.AbstractApiHandler.apiProcess(AbstractApiHandler.java:94) at org.apache.synapse.api.AbstractApiHandler.dispatchToAPI(AbstractApiHandler.java:72) at org.apache.synapse.api.rest.RestRequestHandler.dispatchToAPI(RestRequestHandler.java:90) at org.apache.synapse.api.rest.RestRequestHandler.process(RestRequestHandler.java:76) at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:54) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:346) at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:101) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:379) at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:438) at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:186) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.ClassNotFoundException: com.mongodb.client.MongoClients at org.apache.axis2.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:279) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 33 more
I believe the problem comes from the fact that there is an older version of the drivers
<groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.5.0</version>
included in the MI. That version seems to be a dependency of dataservices and the way to create a a connection didn't use MongoClients
I tried to add the new drivers (mongodb-driver-sync-4.9.1.jar, bson-4.9.1.jar, bson-record-codec-4.9.1.jar, mongodb-driver-core-4.9.1.jar) at several places $MI_HOME/lib, $MI_HOME/wso2/components/plugins/, $MI_HOME/wso2/lib but nothing seems to work. The mi always uses the older version of the driver
Suggested Labels:
maven,dependencies,ClassNotFoundException
Suggested Assignees:
Affected Product Version:
v2.0.0 on mi v4.2.0
OS, DB, other environment details and versions:
Windows, started in the Integration Studio
Steps to reproduce:
I tried the same logic with an older version of MongoDB (5.0.18) and the connector v1.0.2 (with the older driver), and it worked.
Related Issues:
Steps to Reproduce
No response
Affected Version(s)
No response
OS, DB, other environment details and versions
No response
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response
The text was updated successfully, but these errors were encountered: