[JAVA-2855] New mongo-srv schema doesn't work in OSGi environment Created: 08/May/18  Updated: 28/Oct/23  Resolved: 10/May/18

Status: Closed
Project: Java Driver
Component/s: Connection Management
Affects Version/s: 3.6.3
Fix Version/s: 3.8.0

Type: Bug Priority: Major - P3
Reporter: Tomek R?kawek Assignee: Jeffrey Yemin
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

When using the mongo-srv schema in OSGi environment, following exception is logged:

08.05.2018 13:18:51.063 *ERROR* [FelixStartLevel] org.apache.jackrabbit.oak-store-document bundle org.apache.jackrabbit.oak-store-document:1.9.0 (108)[org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService(224)] : The activate method has thrown an exception (java.lang.NoClassDefFoundError: javax/naming/NamingException)
java.lang.NoClassDefFoundError: javax/naming/NamingException
        at com.mongodb.ConnectionString.<init>(ConnectionString.java:321) [org.mongodb.mongo-java-driver:3.6.3]
        at com.mongodb.MongoClientURI.<init>(MongoClientURI.java:234) [org.mongodb.mongo-java-driver:3.6.3]
        at com.mongodb.MongoClientURI.<init>(MongoClientURI.java:216) [org.mongodb.mongo-java-driver:3.6.3]
        at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.registerNodeStore(DocumentNodeStoreService.java:279) [org.apache.jackrabbit.oak-store-document:1.9.0]
        at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.registerNodeStoreIfPossible(DocumentNodeStoreService.java:252) [org.apache.jackrabbit.oak-store-document:1.9.0]
        at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.activate(DocumentNodeStoreService.java:236) [org.apache.jackrabbit.oak-store-document:1.9.0]

It's caused by the fact that the DnsResolver class uses types from the javax.naming package, but the package itself isn't listed in the Import-Package section of the manifest.



 Comments   
Comment by Githook User [ 10/May/18 ]

Author:

{'name': 'Jeff Yemin', 'email': 'jeff.yemin@10gen.com', 'username': 'jyemin'}

Message: JAVA-2855: Add javax.naming to OSGI imports

The driver took a dependency on javax.naming and javax.naming.directory
packages to support mongodb+srv connection strings. These packages have
to be added to the OSGI imports for mongodb-driver-core and
mongo-java-driver.
Branch: 3.7.x
https://github.com/mongodb/mongo-java-driver/commit/2d9d65d35afdebec3b8c717dcdca9131a6910550

Comment by Githook User [ 10/May/18 ]

Author:

{'name': 'Jeff Yemin', 'email': 'jeff.yemin@10gen.com', 'username': 'jyemin'}

Message: JAVA-2855: Add javax.naming to OSGI imports

The driver took a dependency on javax.naming and javax.naming.directory
packages to support mongodb+srv connection strings. These packages have
to be added to the OSGI imports for mongodb-driver-core and
mongo-java-driver.
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/39cef5e3d06a47ae84ea7feca8059594531ebf4b

Comment by Jeffrey Yemin [ 10/May/18 ]

How quickly do you need a fix for this? We can probably slip it into a 3.7.1 release, or otherwise wait for 3.8.0 in a couple of months.

Generated at Thu Feb 08 08:58:14 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.