pg-yang commented on issue #8133:
URL: https://github.com/apache/skywalking/issues/8133#issuecomment-1188848135

   I test jdk-http-scenario , It's right when use jdk8.
   And use jdk18 will cause exception like :
   
   ```
   ERROR 2022-07-19 17:21:34.678 http-nio-8081-exec-2 
org.apache.skywalking.apm.plugin.jdk.http.HttpClientWriteRequestInterceptor_internal
 : class[class sun.net.www.http.HttpClient] before method[writeRequests] 
intercept failure
   java.lang.IllegalAccessError: class 
org.apache.skywalking.apm.plugin.jdk.http.HttpClientWriteRequestInterceptor (in 
unnamed module @0x68149c35) cannot access class sun.net.www.MessageHeader (in 
module java.base) because module java.base does not export sun.net.www to 
unnamed module @0x68149c35
        at 
org.apache.skywalking.apm.plugin.jdk.http.HttpClientWriteRequestInterceptor.beforeMethod(HttpClientWriteRequestInterceptor.java:44)
        at 
org.apache.skywalking.apm.plugin.jdk.http.HttpClientWriteRequestInterceptor_internal.intercept(InstanceMethodInterTemplate.java:74)
        at java.base/sun.net.www.http.HttpClient.writeRequests(HttpClient.java)
        at 
java.base/sun.net.www.http.HttpClient.writeRequests(HttpClient.java:703)
        at 
java.base/sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:747)
        at 
java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1686)
        at 
java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)
        at 
java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:529)
        at 
org.apache.skywalking.apm.testcase.jdkhttp.controller.CaseController.testcase(CaseController.java:46)
        at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:577)
        at 
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
        at 
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
        at 
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892)
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
        at 
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039)
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
        at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
        at 
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
        at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
   
   ```
   I think it's module problem from java 9+ (HttpClientWriteRequestInterceptor 
depended on sun.net.www.MessageHeader), And it might resolved by :
   1.  User can add jvm option: `--add-exports 
java.base/sun.net.www=ALL-UNNAMED` ,  And is there  other way to export 
java.base/sun.net.www module programmatically(I'm not good at java9 module )
   2. not use `sun.net.www.MessageHeader ` in  
`HttpClientWriteRequestInterceptor `, We should find other way to implement 
`jdk-http-plugin`


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to