Tomcat version 9 and java 17

1,202 views
Skip to first unread message

Сергей Пушкин

unread,
Feb 14, 2024, 9:17:36 AM2/14/24
to Kill Bill users mailing-list
How can I integrate versions of Tomcat up to 9 and Java 17 within a Kill Bill container v0.24.5?

Alternatively, is it more feasible to contribute Java 17 to the killbill-cloud? As I understand it, 9 Tomcat has already been integrated at v0.24.7

Why am I asking this question and what is my problem? I'm running docker compose at local machine and I want to embed my plugin, which was compiled with Java version 17.


Here's an example of Docker:
 
killbill:
image: killbill/killbill:0.24.5
ports:
- ${PORT_KILLBILL}:8080
- "12345:12345"
environment: <some variables>
volumes:
- ./config:/config
- ../bundles:/bundles


However, I'm getting an error:
2024-02-14 15:08:13 java.lang.UnsupportedClassVersionError: ru/finex/evolution/ClasspathScanner has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

Here's the full log: link


killbill/killbill:0.24.5
Apache Tomcat/8.5.92
Java 11.0.20+8-post-Ubuntu-1ubuntu120.04
Docker desktop 4.27.1

karan bansal

unread,
Feb 15, 2024, 1:09:38 PM2/15/24
to Kill Bill users mailing-list
Hi there,

Currently we do not support Java 17, however, adding support for Java 17 or 21 should need changes only at a few places. Example PR here for adding support for Java 11. Also, this can be made configurable by adding a parameter JAVA_VERSION for example to ansible, docker etc. Would you be interested to contribute/propose a PR for this?

Regards
Karan

Сергей Пушкин

unread,
Feb 16, 2024, 9:43:14 AM2/16/24
to Kill Bill users mailing-list
Hello, Karan

Yes, I am ready to contribute and do PR. I'm not sure that I understand now how to make the JAVA_VERSION parameter more correctly. I can do this in several approaches and will be glad to receive comments and feedback on github.

But before creating a PR, I would like to discuss one point with dependency compatibility. After a little research by killbill-oss-parent, I saw that it uses org.jooby:jooby:1.6.9. This version of Jooby uses org.ow2.asm:asm:7.3.1. As far as ASM was concerned, they had problems with some versions of Java due to their use of external dependencies (example https://gitlab.ow2.org/asm/asm/-/issues/317971 ). Why am I writing this? The current version of killbill is oss-parent (https://github.com/killbill/killbill-oss-parent/blob/master/pom.xml ) uses jooby.version 1.6.9 in its dependencies

Do you think it's necessary to upgrade the Jooby version additionally to support a Java version higher than 11?

Regards
Sergei
четверг, 15 февраля 2024 г. в 21:09:38 UTC+3, karan bansal:

Сергей Пушкин

unread,
Feb 16, 2024, 9:43:20 AM2/16/24
to Kill Bill users mailing-list
Hi Karan


Yes, I am ready to contribute and do PR. I'm not sure that I understand now how to make the JAVA_VERSION parameter more correctly. I can do this in several approaches and will be glad to receive comments and feedback on github.

But before creating a PR, I would like to discuss one point with dependency compatibility. After a little research by killbill-oss-parent, I saw that it uses org.jooby:jooby:1.6.9. This version of Jooby uses org.ow2.asm:asm:7.3.1. As far as ASM was concerned, they had problems with some versions of Java due to their use of external dependencies (example). Why am I writing this? The current version of killbill is oss-parent uses jooby.version 1.6.9 in its dependencies


Do you think it's necessary to upgrade the Jooby version additionally to support a Java version higher than 11?

Regards
Sergei

четверг, 15 февраля 2024 г. в 21:09:38 UTC+3, karan bansal:
Hi there,

karan bansal

unread,
Feb 19, 2024, 12:13:27 PM2/19/24
to Kill Bill users mailing-list
Hi Sergei,

You are correct about the dependencies, compatible versions for both Java 11 and 17 will be required. We do have a Github issue tracking Jooby upgrade here

Regards
Karan

Сергей Пушкин

unread,
Feb 21, 2024, 4:37:33 AM2/21/24
to Kill Bill users mailing-list
Hi Karan,

I started implementing the plan step by step. I have now created a pull request to raise the jooby version. Next, I will create a pull request for killbill-cloud.
https://github.com/killbill/killbill-oss-parent/pull/831

Regards
Sergei

понедельник, 19 февраля 2024 г. в 20:13:27 UTC+3, karan bansal:

sh...@methodmaker.co.nz

unread,
Jul 22, 2024, 7:59:36 AM7/22/24
to Kill Bill users mailing-list
Where did we get to with this work. Support for Java 17 would be very much appreciated as the JVM has much better support for resource allocations available inside the container in cgroup v2 environments. 


Rgs
Shaun

E. Ingen

unread,
Jul 31, 2024, 10:33:12 AM7/31/24
to Kill Bill users mailing-list
I'm also very interested to know the timeline for the Jooby upgrade.
We have a brand new plugin that we can't use until a killbill version with higher version java support is released!

Best, 
Eva

Op maandag 22 juli 2024 om 13:59:36 UTC+2 schreef sh...@methodmaker.co.nz:
Reply all
Reply to author
Forward
0 new messages