SSLSocketImpl.getEnabledCipherSuites中的NPE
我在多个worker中使用Apache HTTP客户端,看起来有某种竞争条件(stacktrace在最后)。 我很困惑,谷歌搜索堆栈跟踪没有提供任何提示(尚未)。 在Linux上使用Java 1.7.0-b147 64位。
- 我在这里做错了吗?
- 是否有已知的,有效的替代Sun的
SSLSocket
实现?
编辑:也许没用,但调用代码如下:
public String call() { HttpUriRequest request = new HttpGet(aUrl); HttpResponse response = httpClient.execute(request); StatusLine statusLine = response.getStatusLine(); return EntityUtils.toString(response.getEntity()); }
其中httpClient共享给所有可调用对象。
堆栈跟踪:
java.lang.NullPointerException at sun.security.ssl.SSLSocketImpl.getEnabledCipherSuites(SSLSocketImpl.java:2320) at javax.net.ssl.SSLSocket.getSSLParameters(SSLSocket.java:614) at sun.security.ssl.SSLSocketImpl.getSSLParameters(SSLSocketImpl.java:2406) at sun.security.ssl.SSLAlgorithmConstraints.(SSLAlgorithmConstraints.java:65) at sun.security.ssl.Handshaker.init(Handshaker.java:236) at sun.security.ssl.Handshaker.(Handshaker.java:191) at sun.security.ssl.ClientHandshaker.(ClientHandshaker.java:104) at sun.security.ssl.SSLSocketImpl.initHandshaker(SSLSocketImpl.java:1217) at sun.security.ssl.SSLSocketImpl.doneConnect(SSLSocketImpl.java:634) at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:608) at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:414) at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180) at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:643) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
这是一个JDK问题。 运行JDK 1.7.0_u4时遇到此问题,升级到JDK 1.7.0_u25后解决了。
- 使用已安装的spark和maven将Spark Scala Program编译为jar文件
- Java:如何将原始JSON记录为JSON,并避免在使用logback / slf4j进行日志记录期间转义
- 实现具有相同方法的多个接口
- unit testingSpring MissingServletRequestParameterException JSON响应
- 加载spring-boot和spring-data-jpa时,Hibernate无法加载JPA 2.1 Converter
- 如何创建在Visual Studio代码中工作的Java / Maven项目?
- 在Java 6中使用的最佳方法,可以同时访问List
- 限制JTextPane内存使用量
- Java Web Service是否可以托管而无需在Tomcat / JBoss等服务器上部署它?