Como o spring não possui a anotação de escopo "view" nativa eu procurei aquela implementação que tem na internet e coloquei no meu projeto.
Fiz as devidas configurações no .xml conforme é necessário, etc... Inclusive não estou tendo nenhum "erro" ao rodar meu sistema.
Porém eu percebi que a cada requisição ajax meu método anotado com @Postconstructor é chamado o que está causando lentidão, pois neste procedimento eu faço a carga inicial
das minhas Lists<>.
A duvida é:
- Deveria estar se comportando deste modo? A impressão que tenho é de que está funcionando como "request".
Pode postar seu código pra gente dar uma analisada??
D
dionatan1989
altitdb:
Pode postar seu código pra gente dar uma analisada??
Não sei qual trecho você quer exatamente, mais a minha implementação do view scoped para spring já coloquei no post anterior...
Segue trecho do meu controller. Meu método anotado com @Postconstruct está sendo chamado a cada requisição ajax.
packagebr.com.webscola.controller;importbr.com.webscola.model.bean.CentroCusto;importbr.com.webscola.model.bean.Parcela;importbr.com.webscola.model.bean.Pessoa;importbr.com.webscola.model.bean.Titulo;importbr.com.webscola.service.CentroCustoService;importbr.com.webscola.service.FinanceiroService;importbr.com.webscola.service.PessoaService;importbr.com.webscola.util.Calculos;importjava.io.Serializable;importjava.math.BigDecimal;importjava.math.RoundingMode;importjava.util.ArrayList;importjava.util.List;importjavax.annotation.PostConstruct;importjavax.faces.application.FacesMessage;importjavax.faces.context.FacesContext;importorg.primefaces.component.datatable.DataTable;importorg.primefaces.model.chart.CartesianChartModel;importorg.primefaces.model.chart.ChartSeries;importorg.primefaces.model.chart.PieChartModel;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.context.annotation.Scope;importorg.springframework.stereotype.Component;@Component@Scope("view")publicclassTituloMBimplementsSerializable{@AutowiredprivateFinanceiroServicefinanceiroService;@AutowiredprivatePessoaServicepessoaService;@AutowiredprivateCentroCustoServicecentroCustoService;privateTitulotitulo=newTitulo();privateList<Titulo>titulosPagar=newArrayList<Titulo>();privateList<Titulo>titulosReceber=newArrayList<Titulo>();privateList<Parcela>parcelasApagar=newArrayList<Parcela>();privateList<Pessoa>fornecedores=newArrayList<Pessoa>();privateList<Pessoa>clientes=newArrayList<Pessoa>();privateCentroCustocentroCusto=newCentroCusto();privateList<CentroCusto>centrosCusto=newArrayList<CentroCusto>();privateList<CentroCusto>centrosReceita=newArrayList<CentroCusto>();privateParcelaparcela;privateIntegerintervaloParcelas=0;privateBooleangerarParcelas=false;publicstaticfinalStringINDEX="index";publicstaticfinalStringCPAGAR_INDEX="cpagar_index";publicstaticfinalStringCPAGAR_INS="cpagar_ins";publicstaticfinalStringCPAGAR_ALT="cpagar_alt";publicstaticfinalStringBAIXACPAGAR="baixa_cpagar";publicstaticfinalStringCRECEBER_INDEX="creceber_index";publicstaticfinalStringCRECEBER_INS="creceber_ins";publicstaticfinalStringCRECEBER_ALT="creceber_alt";publicstaticfinalStringBAIXACRECEBER="baixa_creceber";publicstaticfinalStringCHEQUE_INDEX="cheque_index";publicstaticfinalStringCHEQUE_INS="cheque_ins";publicstaticfinalStringCHEQUE_ALT="cheque_ALT";publicstaticfinalStringMOV_INDEX="mov_index";publicstaticfinalStringMOV_INS="mov_ins";publicstaticfinalStringMOV_ALT="mov_alt";publicstaticfinalStringBPERIODO_INDEX="bperiodo_index";publicstaticfinalStringBPERIODO_INS="bperiodo_ins";publicstaticfinalStringBPERIODO_ALT="bperiodo_alt";publicstaticfinalStringFLUXO_INDEX="fluxo_index";privateStringcurrentState=INDEX;privateDataTabledataTable;privateCartesianChartModelcategoryModel;privatePieChartModelpieModel;publicTituloMB(){}@PostConstructpublicvoidcarregar(){System.out.println("EXECUTOU METODO CARREGAR");createCategoryModel();createPieModel();//Carregar centros de custoatualizarCentrosCusto();//Carrega lista de fornecedoresatualizarListaFornecedores();//Carrega centros de receitaatualizarCentrosReceita();//Carrega lista de clientesatualizarListaClientes();atualizarTitulosPagar();atualizarTitulosReceber();}.....
D
dionatan1989
O mais estranho é que isto só acontece em um dos meus controllers. E nele não há nada de diferente em relação aos outros.
D
dionatan1989
O mais estranho é que isto só acontece em um dos meus controllers. E nele não há nada de diferente em relação aos outros.