You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@community.apache.org by "Bobur Umurzokov (Jira)" <ji...@apache.org> on 2022/02/24 12:44:00 UTC
[jira] [Created] (COMDEV-451) Apache APISIX: Java Plugin Runner Improvement
Bobur Umurzokov created COMDEV-451:
--------------------------------------
Summary: Apache APISIX: Java Plugin Runner Improvement
Key: COMDEV-451
URL: https://issues.apache.org/jira/browse/COMDEV-451
Project: Community Development
Issue Type: New Feature
Components: GSoC/Mentoring ideas
Reporter: Bobur Umurzokov
*Background:*
At the moment, the Java runner plugin requires you to use an existing template project and change it according to one’s needs.
*Task:*
Improve developer experience on the existing Java plugin runner so that we can attract and increase the number of users from the Java community.
*Limitations:*
* The architecture doesn’t manage multiple plugins. All need to be set in the same project
* The standard Java unit of deployment is the JAR.
* The plugin doesn’t allow for other widespread JVM-based languages ({_}e.g.{_}, Scala, Kotlin, Clojure, Groovy). Though it would be technically feasible, we would need to change the template’s language
*Requirements:*
The new plugin runner:
* MUST use the JAR as the unit of deployment
* MUST not require the usage of a project template
* MAY require the plugin to follow a certain class hierarchy ({_}i.e.{_}, extends JavaPlugin)
* MAY use a more specific format to enforce a structure
* MUST allow multiple plugins to be deployed
* MUST use isolated classloader for each plugin
* MUST allow any JVM-compatible bytecode to run, whatever the language it was generated from
* MAY allow hot reloading of Java plugins
* MAY require a single JAR per plugin (to ease the classpath management of shared libraries)
* MUST define a minimum JVM version
*Difficulty:* Normal
*Project size:* ~350 hours.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@community.apache.org
For additional commands, e-mail: dev-help@community.apache.org