Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review plugins update mechanism #214

Open
tadayosi opened this issue Mar 31, 2023 · 1 comment
Open

Review plugins update mechanism #214

tadayosi opened this issue Mar 31, 2023 · 1 comment
Labels
area/core area/jmx kind/refactoring Code improvements that don't add or change features

Comments

@tadayosi
Copy link
Member

tadayosi commented Mar 31, 2023

With #32 #213, now we have pluginsUpdated event that can broadcast notifications for plugins update. At the same time, we already have the plugin watcher mechanism backed by the server-side plugin registry MBean in the JMX workspace. We need to review these two different plugins update mechanisms and consider consolidating them if necessary.

#213 (comment)

In reality, probably that plugin watcher MBean is an old mechanism, where in the past we expected dynamic additions and deletions of plugins via JMX, especially on dynamic environments like OSGi/Karaf. But now, with Hawtio.next we currently only support Spring Boot and Quarkus as the runtimes and they are relatively static at runtime; all dependencies would be resolved before bootstrap. I can't think of use cases where plugins are added dynamically after application launches on Spring Boot and Quarkus. Correct me if I'm wrong.

This plugin implementation here only loads external plugins at the initial page loading time, and it might be enough for the runtimes Hawtio.next supports. If that's the case, we can consider just removing the plugin watcher from hawtio-next and the main hawtio project.

@tadayosi
Copy link
Member Author

tadayosi commented Mar 31, 2023

As far as I understand, the plugin registry MBean watcher isn't used at all for Spring Boot. The Hawtio Spring Boot implementation escapes the plugin mechanism via JMX MBean server and uses its own plugin endpoint to implement the same plugin system for Spring Boot apps. That means plugins update never happens via the plugin registry watcher right now.

This method used to be used for war-based Hawtio applications, but so far we don't have plan to actively support this kind of deployment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/core area/jmx kind/refactoring Code improvements that don't add or change features
Projects
Status: Backlog
Development

No branches or pull requests

1 participant