alibaba / alibaba/testable-mock
增加TestableMock依赖使用mongo-java-driver报错
- Dominant language
- Java
- Stars
- 1.8k
- Forks
- 306
- PR merge metrics
- No merged PRs in 30d
Description
mongo-java-driver创建MongoClientOptions对象报错
```
@Configuration
public class MongoConfig {
@Bean
public MongoClientOptions mongoClientOptions() {
MongoClientOptions.Builder build = new MongoClientOptions.Builder();
build.connectionsPerHost(100);
build.threadsAllowedToBlockForConnectionMultiplier(10);
build.maxWaitTime(120000);
build.connectTimeout(6000);
build.socketTimeout(600000);
MongoClientOptions options = build.build();
return options;
}
}
```
jdk版本号:java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
testable版本号:0.6.2
Caused by: java.lang.ClassCircularityError: javax/crypto/BadPaddingException
at sun.security.rsa.RSASignature.engineVerify(RSASignature.java:194)
at java.security.Signature$Delegate.engineVerify(Signature.java:1222)
at java.security.Signature.verify(Signature.java:655)
at sun.security.x509.X509CertImpl.verify(X509CertImpl.java:444)
at sun.security.x509.X509CertImpl.verify(X509CertImpl.java:392)
at javax.crypto.JarVerifier.testSignatures(JarVerifier.java:775)
at javax.crypto.JarVerifier.access$400(JarVerifier.java:37)
at javax.crypto.JarVerifier$1.run(JarVerifier.java:222)
at javax.crypto.JarVerifier$1.run(JarVerifier.java:187)
at java.security.AccessController.doPrivileged(Native Method)
at javax.crypto.JarVerifier.(JarVerifier.java:186)
at javax.crypto.JceSecurity.loadPolicies(JceSecurity.java:378)
at javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:323)
at javax.crypto.JceSecurity.access$000(JceSecurity.java:50)
at javax.crypto.JceSecurity$1.run(JceSecurity.java:85)
at java.security.AccessController.doPrivileged(Native Method)
at javax.crypto.JceSecurity.(JceSecurity.java:82)
at javax.crypto.JceSecurityManager.(JceSecurityManager.java:65)
at javax.crypto.Cipher.getConfiguredPermission(Cipher.java:2586)
at javax.crypto.Cipher.getMaxAllowedKeyLength(Cipher.java:2610)
at sun.security.ssl.CipherSuite$BulkCipher.isUnlimited(CipherSuite.java:535)
at sun.security.ssl.CipherSuite$BulkCipher.(CipherSuite.java:507)
at sun.security.ssl.CipherSuite.(CipherSuite.java:614)
at sun.security.ssl.SSLContextImpl.getApplicableCipherSuiteList(SSLContextImpl.java:294)
at sun.security.ssl.SSLContextImpl.access$100(SSLContextImpl.java:42)
at sun.security.ssl.SSLContextImpl$AbstractTLSContext.(SSLContextImpl.java:432)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java.security.Provider$Service.getImplClass(Provider.java:1634)
at java.security.Provider$Service.newInstance(Provider.java:1592)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:236)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:164)
at javax.net.ssl.SSLContext.getInstance(SSLContext.java:156)
at javax.net.ssl.SSLContext.getDefault(SSLContext.java:96)
at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:122)
at com.mongodb.MongoClientOptions.(MongoClientOptions.java:54)
at com.mongodb.MongoClientOptions$Builder.build(MongoClientOptions.java:1396)
at com.k8stest.mongo.MongoConfig.mongoClientOptions(MongoConfig.java:17)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the MongoConfig.mongoClientOptions() call with Java 8u191, TestableMock 0.6.2, and mongo-java-driver, then trace the failure through com.mongodb.MongoClientOptions and the JCE/SSL stack shown in the report. Done means the reported configuration no longer raises ClassCircularityError, with the dependency or runtime conditions responsible identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, mongodb
- Domain
- testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100