rstudio / shinycannon

Load generation tool, part of shinyloadtest
https://rstudio.github.io/shinyloadtest/
15 stars 6 forks source link

Java 7 compatibility fixes #19

Closed alandipert closed 5 years ago

alandipert commented 5 years ago

Rationale

Currently, JRE 8+ (aka 1.8) is required on all platforms. Running on Java 7 (aka 1.7) results in at least the following error:

Exception in thread "main" java.lang.NoClassDefFoundError: java/time/Instant

Java 7 compatibility is nice because it means that people on Ubuntu 14.04 (LTS, EOL April 2019) would only need to install our .deb and not worry about manually installing the Oracle JRE 8 (there isn't an OpenJDK 8 for Ubuntu 14.04).

As an alternative to this PR, we could instead add instructions for running on Ubuntu 14.04 to our documentation that would include steps for downloading Oracle JRE 8.

Approach

The PR:

Risks

I had to downgrade our log4j dep to 2.8.2 (released April 2017) from 2.11.1 and there are quite a few changes between the two. I've done some testing and everything seems to still work, but there's a chance our logging stuff is now broken in some subtle way.

alandipert commented 5 years ago

@jcheng5 do you think these changes are reasonable enough for us to merge this once it looks good to you? Or do you think it would be better to document installing Java 8 on Ubuntu 14.04 instead?

Personally I'm slightly concerned about the old log4j dep. It seems to work OK but it's hard to know if it will cause any problems.

I lean toward merging this, as I figure if it does cause problems, we can re-evaluate java 7 support.

jcheng5 commented 5 years ago

Yeah, I prefer to merge too.