Sfondo rapido: sto lavorando allo sviluppo di un'interfaccia che verrà implementata da me stesso e da altri sviluppatori. Questa interfaccia consentirà agli utenti di "plug-in" un nuovo codice funzionale in un sistema per un nuovo utilizzo. Questo nuovo codice verrà chiamato da un server / applicazione già in esecuzione. (TLDR: Ho bisogno di sviluppare la possibilità di installare plug-in nella mia applicazione al volo)
Tutto il lavoro che ho fatto finora con le interfacce è stato per scopi di codifica interna, non per essere esposto all'esterno. L'unico modo in cui posso pensare di consentire agli utenti di collegare nuove interfacce di implementazione del codice, è che l'utente possa in qualche modo agganciare un file JAR nel contenere la classe di implementazione e in qualche modo definire la sua firma di classe per la chiamata. Questo sembra qualcosa che è stato fatto prima, non sono mai stato esposto nel lato del codice di esso.
Esiste un framework che potrei utilizzare per consentire questo plug-in del nuovo codice Java durante il runtime server / applicazione? Ho già usato le API, ma in più del servizio web che mostra il senso in cui stai consumando un servizio e non "implementando" un'interfaccia di base.
Per riferimento sto usando un back-end Java, con Spring per l'applicazione principale.