Hallo Community...
ich arbeite gerade mit JSF und habe ein Performance Problem... Hintergrund ist folgender: Es werden Werte aus Backing Beans abgerufen und verschiedenen Komponenten des JSF Frameworks visualisiert.
Später werden in der selben JSF die gleichen Parameter an ein anderes BackingBean übergeben
Dummerweise werden die Daten aus der Backing Bean BuildData mehrfach gecallt. Das ist besonders bei Datenbank - Abfragen ziemlich unperformant. Ich suche nun einen Framework konformen Weg die Daten beim ersten Aufruf aus dem CodeSnippet 1 in lokalen Variablen der JSF / JSP zwischenzuspeichern, damit der Call an der Stelle des Snippets 2 nicht an die Backing Bean gemacht wird.
Die Backing-Bean hat einen request scope. Session scope und weitere möchte ich eigentlich nicht verwenden um die Return values in dem Bean selbst zu speichern / cachen. Ich möchte wirklich im Code Snippet 2 auf Variablen zugreifen die im Code Snippet 1 deklariert werden.
Hat jmd. eine Idee oder eine Richtung für mich?
ich arbeite gerade mit JSF und habe ein Performance Problem... Hintergrund ist folgender: Es werden Werte aus Backing Beans abgerufen und verschiedenen Komponenten des JSF Frameworks visualisiert.
Code:
Code Snippet 1:
<h:inputText id="nextlevelvalue" value="#{BuildData.actualLevel}"/>
<h:outputText id="builddirectory" value="#{text['builddirectory']}" />
usw.
Später werden in der selben JSF die gleichen Parameter an ein anderes BackingBean übergeben
Code:
Code Snippet 2:
<h:commandLink action="#{ProcessBuildData.buildparameters}">
<f:param name="actualLevel" value="#{BuildData.actualLevel}" />
<f:param name="buildant" value="#{BuildData.buildant}" />
<f:param name="builddirectory" value="#{BuildData.builddirectory}" />
<f:param name="buildoption" value="#{BuildData.buildoption}" />
<f:param name="buildhostslist" value="#{BuildData.activeReleaseBuildhost}" />
<f:param name="release" value="#{BuildData.release}" />
<f:param name="buildparameter" value="#{BuildData.buildparameter}" />
<f:param name="updateoptions" value="#{BuildData.updateoptions}" />
<f:param name="whichTracks" value="#{BuildData.whichTracks}" />
<Button id="jumptoduild"><h:outputText value="#{text['buildbutton']}" /></Button>
</h:commandLink>
Dummerweise werden die Daten aus der Backing Bean BuildData mehrfach gecallt. Das ist besonders bei Datenbank - Abfragen ziemlich unperformant. Ich suche nun einen Framework konformen Weg die Daten beim ersten Aufruf aus dem CodeSnippet 1 in lokalen Variablen der JSF / JSP zwischenzuspeichern, damit der Call an der Stelle des Snippets 2 nicht an die Backing Bean gemacht wird.
Die Backing-Bean hat einen request scope. Session scope und weitere möchte ich eigentlich nicht verwenden um die Return values in dem Bean selbst zu speichern / cachen. Ich möchte wirklich im Code Snippet 2 auf Variablen zugreifen die im Code Snippet 1 deklariert werden.
Hat jmd. eine Idee oder eine Richtung für mich?
Zuletzt bearbeitet: