Opened 10 years ago
Closed 7 years ago
#347 closed defect (fixed)
configclients does not show proper status of the Java clients
Reported by: | sponge | Owned by: | str4d |
---|---|---|---|
Priority: | minor | Milestone: | 0.9.10 |
Component: | apps/console | Version: | 0.8.1 |
Keywords: | configclients | Cc: | |
Parent Tickets: | Sensitive: | no |
Description
Using latest mtn build: 0.8.1-31-rc
How to reproduce.
1: Go into configclients.
2: Untick something that is ticked to automatically start.
3: Click "Save Client Configuration" button
Now the unticked client shows a "Start" button…
Client was already started…
UI should show a "Stop" button.
Even better, if the client is running, autostarting or not, the Stop/Start? button should always be available. Having to untick, then save, then stop/start, then tick and save again is a bad design anyway.
Subtickets
Change History (14)
comment:1 Changed 10 years ago by
Milestone: | 0.8.2 → 0.8.4 |
---|---|
Owner: | zzz deleted |
Priority: | major → minor |
Status: | new → assigned |
comment:2 Changed 10 years ago by
Didn't know it was a bug for me, will fix, thanks for reminding me/clearing this up.
Do you want this fixed right away fro 8.2 or later?
comment:3 Changed 10 years ago by
Milestone: | 0.8.4 → 0.8.3 |
---|---|
Owner: | set to sponge |
<zzz> sponge re: 347, if you want to do it, great, if so pls wait until after 0.8.2 as running clients.config clients in thread groups will take some code and may have unexpected side-effects
<sponge> ok, super!
<sponge> again, thanks for the reminder
<zzz> I don't think you promised to do it, just that we talked about it
<sponge> also, I might be able to do it without threadgroups
<zzz> checking whether a webapp is running should be a one-liner (all the code is there) if you want to do that for 0.8.2
<sponge> however tg's are really the right way to go
<sponge> that can wait
<sponge> I'll hold off till next cycle
<zzz> the client runner back-end stuff for tg's is there… but you have to find a place to remember it so you can get at it from configclients
<sponge> I rather it all done at once, not a little here, and a little there
<zzz> no rush, not a major bug, and been like that for years
- sponge nods
<zzz> HH stopped when he got it working for plugins, he did most of the work, just have to keep going
<sponge> I just always found it to be one of those annoyances
<zzz> yup
<zzz> ok I'll assign to you w/ milestone 0.8.3
<sponge> great
<sponge> I gleefully accept the challenge
comment:4 Changed 10 years ago by
Milestone: | 0.8.3 → 0.8.7 |
---|
comment:5 Changed 9 years ago by
Milestone: | 0.8.12 → 0.8.14 |
---|
comment:7 Changed 8 years ago by
Milestone: | → 0.9.4 |
---|
Seeing no progress from sponge after 2 years (guess the glee wore off…), I'm going to work on this for 0.9.4.
TODO
- New ClientApp? interface for clients
- New ClientAppManager? in the router
- LoadClientAppsJob? will check for the interface in the class. If present, it will instantiate via a standard constructor, then start. The client will report lifecycle state changes to the ClientAppManager?. If the interface is not implemented, the client will be started with main() as usual.
comment:8 Changed 8 years ago by
Most of the infrastructure is in 0.9.3-1. RouterConsoleRunner? and TunnelControllerGroup? are converted. There's a new JettyStart? to replace the org.mortbay.start.Main.
What remains is:
- hook configclients.jsp into the new app manager
- SAM
- BOB
- decide what to do about plugins
- URLLauncher we can leave alone
Even if we just focus on clients (and not plugins), I'm not sure this will all be ready for 0.9.4. I may just let this soak for a while and push the completion to 0.9.5.
comment:9 Changed 8 years ago by
Milestone: | 0.9.4 → 0.9.6 |
---|
Implemented in 0.9.5-5 rev c795930368b02f50866381aa077a672208b2dfc9
SAM and BOB must be converted to implement the ClientApp? interface to get the stop button.
I will do SAM and then reassign the ticket to you to do BOB.
comment:10 Changed 8 years ago by
Component: | apps/console → apps/BOB |
---|
SAM implemented in 0.9.5-6 rev 3f9f2b8ac593cacbc8eec2d43ecf85a48c32373b
Reassigning to you for BOB.
comment:11 Changed 7 years ago by
Milestone: | 0.9.6 → 0.9.10 |
---|---|
Owner: | changed from sponge to str4d |
Status: | assigned → started |
Working on this now.
comment:12 Changed 7 years ago by
Component: | apps/BOB → apps/console |
---|---|
Status: | started → infoneeded |
BOB implemented in 0.9.9-6 rev db1de6263913eb52bd611dd736c6fd78a2902351
What are we doing about plugins?
comment:13 Changed 7 years ago by
Status: | infoneeded → assigned |
---|
re: plugins
Most plugins are webapps and are started/stopped that way.
Some plugins do supply a clients.config file. Those are started via the ClientApp? interface automatically, via LoadClientAppsJob?.
str4d added the ability to stop a ClientApp? in PluginStarter? in 0.9.12 2aa15805ec56c38779cd71ce576881bd03edf2e5
comment:14 Changed 7 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
It's always been like this, and we've discussed all of this at length before, so I assume you are just entering it here for the record. In fact, at one point, I thought you said you were going to do it? It's not so much a 'bad design' as a work-in-progress that isn't progressing.
The router has never "known" the status of clients started via clients.config. Or webapps via webapps.config.
HungryHobo? and I together got things working for plugins (the 3rd section on configclients.jsp). The UI supports the logic for showing/hiding the buttons exists, as it's the same for all 3 sections.
Adding the webapp logic should be easy, for clients will be harder. But it's more of a testing effort than anything else.
Don't volunteer for this unless you are going to do the testing too.
unassigning myself, not to say I won't do it, but I haven't yet…