Questions & Answers

Schmatrick
Returning Observer

GuiScriptContext Sessions

Hallo zusammen, 

habe folgendes Problem mit meinem guiScriptContext.
Im Code durchlaufe ich alle Projekte um bestimtme Absatzvorlagen zu zรคhlen (~ 40 Projekte).

 

 

 

final GuiScriptContext guiScriptContext = (GuiScriptContext) context.get("context");
final SpecialistsBroker broker = guiScriptContext.getConnection().getBroker();
final AdminService adminService = broker.requireSpecialist(ServicesBroker.TYPE).getService(AdminService.class);
final Project[] projects = adminService.getProjectStorage().getProjects();

 

 

 


Die geรถffneten Session werden danach leider nicht automatisch geschlossen (Fรผr jedes Projekt wird eine Session geรถffnet), daher habe ich versucht das "windowClosing" Event zu erweitern des JDialogs.


 

 

 

            @Override
            public void windowClosing(WindowEvent e) {
                try {
                    guiScriptContext.getConnection().disconnect();
                } catch (IOException e1) {
                    guiScriptContext.logError("Could not close sessions");
                }
            }

 

 

 

 

Hiermit werden die Sessions geschlossen, aber leider hรคngt der SA sich danach komplett auf.
Kann mir jemand verraten wie ich die Sessions ordentlich schlieรŸen kann, ohne das irgendwas auseinander fliegt?

Viele GrรผรŸe,
Patrick Wittke

0 Kudos
1 Reply
hoebbel
Crownpeak employee

Hallo Patrick,

werden denn die Sessions geschlossen, wenn Du den SiteArchitect schlieรŸt? Und/oder nach 20 Minuten Wartezeit?

Anmerkung: Mit den FirstSpirit Versionen 2022.9 und 2022.10 wird es hier einige Anpassungen geben, die das geschilderte Verhalten mรถglicherweise korrigieren. Jedenfalls konnte ich bei eine entsprechenden lokalen Test mit 2022.10 das Problem mit diesem Skript hier nicht reproduzieren (weder als Serverskript noch in einem SiteArchitect)

import de.espirit.firstspirit.access.AdminService;
import de.espirit.firstspirit.access.ServicesBroker;

broker = context.getConnection().getBroker();
adminService = broker.requireSpecialist(ServicesBroker.TYPE).getService(AdminService.class);
projects = adminService.getProjectStorage().getProjects();
for (project:projects) {
	context.logInfo("Projekt: " + project.getName() + " / Revision: " + project.getRevision(new Date()));
}

Viele GrรผรŸe
Holger

0 Kudos

Type a product name