Recommended Jedis version for Java 1.6 - java

Appreciate if somebody could provide expert opinion on what is the most recommended Jedis version for Java 1.6. Thanks in advance,

Looking at the Git history, Jedis updated to Java 1.7 on 04.07.2016 https://github.com/redis/jedis/pull/1334
The latest release before this date would be version 2.8.1 from 14.03.2016 https://mvnrepository.com/artifact/redis.clients/jedis/2.8.1
Assuming there would be no changes of the required JDK within a patch version you could also use version 2.8.2 from 22.07.2016 https://mvnrepository.com/artifact/redis.clients/jedis/2.8.2
But to be honest, try everything to update your JDK 6 to to current LTS JDK 17. It will be much easier to update ANY dependency you have to fix security vulnerabilities, which I am almost sure you have, when you are bound to JDK 6 dependencies, which tend to not receive any updates since a looong time.

Related

Issue with Java version in AsterixDB

I am trying the installation of AsterixDB and see that Java version 8 is not compatible on starting the cluster.
Although in the documentation I see that this version should work.
https://asterixdb.apache.org/docs/0.9.2/install.html
If your version is at least 1.8.0_x, similar to the output shown below, you are good to proceed.
My version is 1.8.0_311.
You are referring to the documentation for an old version, but if you are installing the latest version of AsterixDB (0.9.7.1), please try Java 11 or more.
You need to use Oracle 1.8.0_60.

Using JJWT on JDK 1.6

On the main page I noticed that JJWT is supposed to run on all JDK, which - since our project for all sorts of reasons is still stuck on v1.6 - sounded great.
With the last version maven retrieves however, the class version is not compatible.
And afterwards in the build wiki I noticed it specifies version 7.
Anyone have a clue what does run on v1.6.
Can I use an older version, or should I compile it myself maybe.
On the main page I noticed that JJWT is supposed to run on all JDK ...
That is definitely incorrect / inaccurate. The initial commits for the JJWT project were for JDK 1.6. And I can see that the code uses generics, so compiling / running for earlier than JDK 1.5 will be impossible.
The POM.xml file for the latest version of the project sets the source and target version for the project to JDK 1.7. So certainly the artifacts that a standard build will generate now will NOT run on a Java 6 platform. The class file version will be too recent for a Java 6 JVM to understand.
Now you could try changing the JDK level to 1.6 in the POM file in the HEAD version. However, the JDK version for JJWT was bumped past 1.6 four years ago, so there are liable to be build issues if you wind back. (The developers could have introduced Java 7+ dependencies; e.g. using try with resources syntax or Java 7+ APIs.)
A better idea would be to use an old version of JJWT. You should be able to figure out what version you need to use (or build) for JDK 1.6 compatibility by looking at the project's git history on Github. Look at the relevant changes to the POM file and when they happened. I think it is version 0.9.0 or thereabouts.
Of course a better solution would be "unstick" your project. JDK 1.6 is 8 years past its end of life, and 3 years past the end of Oracle's JDK 1.6 (paid) extended support.

Java versions confusion

I want to install Java on a few different servers for running a third party service on tomcat.
I am not a Java developer and I got a bit confused when I began searching for the installer.
I checked the different Java versions and their long term support dates.
It seems that Java 11 JDK is - LTS so i decided to use it.
But when I was trying to find a runtime version (JRE?) since this is the version I am supposed to install on the server(?) I only found Java JRE 8.X.X, and this got me confused.
There is no higher major version of the JRE?
How does it work if you use the JDK 11 or even 14-15 as a developer and then use Java 8 JRE on your deployed servers?
Maybe the JDK holds inside of it the Java 8 JRE version?
Or do you actually need to install the JDK version on the servers instead?
The JRE is a subset of JDK. It contains everything needet to run Java applications but no support for development. So, if you need a JRE, a JDK is also good, although it conatins much stuff that you will not need.
Normally, for executing a Java application, you need a JRE with the same version or higher than the JDK used for development. But the developer can advise the compiler to generate code for a lower version. If he does so, he cannot use the features of the higher versions. For example the compiler of JDK 1.8 can produce code for JRE 1.6. You should consult the manual, to see which old versions are supported by the compiler of a specific version.
After some research,
It seems there is no separate JRE section anymore.
Also JDK 11 for production is not free and I guess this is an ongoing trend for the near future.
On a side note there is the open JDK 11 version but it does warn you about outdated security updates.
So basically in my case sticking to updated Java JRE 8 version is good enough for the near future.

Our company is planning to move towards AdoptOpenJdk 11 with Wildfly 10 running on it

Our company is planning to move towards AdoptOpenJdk 11 from Oracle JDK8 with Wildfly 10 running on it. All the code and wildfly server will be same(written and supported by JDK8) and since java is backward compatible, I think that it should work theoretically, but are there any issues that we have to be aware of?
There are a lot of updates from JDK 8 to JDK 11. I would recommend just moving to AdoptOpenJdk 8 in the short term. Your specific code may be ok, but you also have a huge set of dependencies that may be using something that needs updated. For example, what is your build tool? Gradle needed to be updated because it needed a newer version of ASM. Are you using JAX-RS? Jersey 2.27 doesn't work on Java 11.
JavaEE is in a weird place right now because Oracle basically dumped it on the Eclipse foundation (now called JakartaEE). It will take a little while for it to be sorted out.
I have migrated from openjdk-8 to openjdk-11.
Steps I follow:
1. Add missing Java dependencies in jdk11
2. Upgrade/remove supported plugins (Need to upgrade ASM to 7.1, cglib or other byte manipulation libs)
3. Change JAVA_OPTIONS related to GC.
4. Wildfly support for java11
More details on libs versions check the link

What is the latest JGroups version that can be used with Java 5?

I have to use Java 5 in the my client's environment. And I have problems finding a JGroups version that still runs on Java5. I have found that 2.6.15.GA compiles and runs on Java 5, but it is quite old. 2.12.2.Final does not even compile on Java5 due to usage of new API. But there are several versions in between. Does any of you know since what time JGroups switched to Java 6?
I've downloaded JGroups 2.8.1 GA uploaded 2010-04-30 and it contained class-files compiled with Java 6 (50.0). Not sure how come Andrey was able to use that version?
So the latest version I could find was JGroups 2.8.0 GA uploaded 2009-12-21.
Hope this help someone that, like me, is stuck with an old environment running Java 5.
Just reposting #eee comment, because its valid answer:
JGroups 2.5 requires JDK 1.5 or higher. Version 2.9 requires JDK 1.6
or higher. jgroups.org/manual/html_single/index.html#d0e244

Categories