Необходимо вызвать три состояния веб-потока параллельно - PullRequest
0 голосов
/ 02 октября 2011

Мы столкнулись с серьезными проблемами производительности нашего приложения. Нам нужно отправить три разных запроса нашему бэкэнду, когда мы используем веб-поток и отправляем их один за другим, что приводит к значительному времени загрузки экрана.

Можем ли мы вызвать три состояния веб-потока параллельно, чтобы мы могли отправлять три запроса нашему бэкэнду параллельно? Или есть какой-нибудь способ загрузить наш экран и вызвать один или два метода позже?

нам нужно перейти от состояния просмотра retrieveAccInsList к состоянию представления accSummary, но между ними мне нужно отправить три разных запроса в backenf, поскольку экран AccSumary содержит 3 экрана, объединенные, поэтому мне нужны данные из трех разных мест. 1005 *

<view-state id="retrieveAccInsList">
    <transition on="openAccount" to="detailForAccountAction">
        <set name="conversationScope.selectedAccount" value="reqSearchHandler.selectedAccIns" />
        <set name="reqSearchHandler.objectToRetrieveCd" value="'RequestSearch'" />
    </transition>
</view-state>

<action-state id="detailForAccountAction">
    <evaluate expression="accountDetail.getDetailsForAccount(ClientDetailRq)"
        result="flowScope.response">
        <attribute name="name" value="detailAccountResponse" />
    </evaluate>
    <transition on="detailAccountResponse.success" to="searchNoteAction" />
    <transition on="detailAccountResponse.error" to="retrieveAccInsList" />
</action-state>

<action-state id="searchNoteAction">
    <evaluate expression="certNotesHandler.searchForNotes()"
        result="flowScope.response">
        <attribute name="name" value="noteResponse" />
    </evaluate>
    <transition on="noteResponse.success" to="searchActivityAction" />
    <transition on="noteResponse.error" to="retrieveAccInsList" />
</action-state>

<action-state id="searchActivityAction">
    <set name="reqSearchHandler.requestStatus" value="'O'" />
    <set name="reqSearchHandler.objectToRetrieveCd" value="'RequestSearch'" />
    <evaluate expression="reqSearchHandler.setparam()" />
    <evaluate expression="reqSearchHandler.searchForRequest(ReqInquireRq)"
        result="flowScope.response">
        <attribute name="name" value="activtiyResponse" />
    </evaluate>
    <transition on="activtiyResponse.success" to="accSummary" />
    <transition on="activtiyResponse.error" to="retrieveAccInsList" />
</action-state

1 Ответ

0 голосов
/ 02 октября 2011

Конечно; используйте Ajax. Но без дальнейших подробностей сложно сказать - зачем вам нужно вызывать три состояния веб-потока «параллельно»? Это называется «поток», потому что они линейны (по крайней мере, в течение одного разговора; я знаю, что вы можете иметь несколько активных потоков одновременно).

...