getindata / flink-http-connector

Http Connector for Apache Flink. Provides sources and sinks for Datastream , Table and SQL APIs.
Apache License 2.0
136 stars 39 forks source link

Whether to consider support for jdk8 #55

Closed RoronoaZoro1665 closed 1 year ago

kristoffSC commented 1 year ago

Hi @RoronoaZoro1665 could you share your use case?

As far as i know, Flink docker images are using Java 11. If you are creating a Flink job with our connector and you are forced to use Java 8 then what you could do, if you have access to Flink cluster deployment infrastructure is that instead creating an uber Jar, you could mark http-connector dependency as provided in your job and put the http-connector jar in Flink's lib folder.

maver1ck commented 1 year ago

@RoronoaZoro1665 I think JDK8 is not supported anymore. Support ended 10 months ago (31 Mar 2022)

RoronoaZoro1665 commented 1 year ago

you could mark http-connector dependency as provided in your job

uber jar could solve '11</target.java.version>' in pom? httpclient also refer jdk11

kristoffSC commented 1 year ago

httpclient also refer jdk11

Yes because httpclient comes from Java 11 and this is what we aimed to have -> use as most of JDK/Flink libraries without introducing 3rd party libraries to the connector.

Using JDK 11 was a conscious design choice which we will not back out from, meaning we will not provide compile level support for JRE 8.

So yeah you will not be able to compile/Run connector code with JDK 8. However I'm not sure if any of connector public API (classes not in internal package) use Java 11 API, I would have to double check this. Then I think that it will be possible to use our connector in Java 8 based flink job but mark connector dependency as provided.

then your job will be compiled with JDK 8 but without our connector library included. On Flink cluster however it will be running still on JRE 11, since as far as I know all Flink docker images are using Java 11. If you will add connector jar to flink lib folder I think it all should work with your job compiled with JDK 8.

Hope that helped, Cheers.