Página JSF travada ou congelada

0 respostas
K

Boa tarde pessoal, estou com um problema, que naum consegui localizar uma solução ainda. Após ser apertado do botão de novo da minha aplicação, a tela fica congelada, já debuguei o código porém a aplicação realizada tudo que esta dentro do metodo que está mapeado para este botão, porém qnd saí deste metódo a aplicação fica travada em uma classe chamada: JIoEndpoint$Worked.run().

código da JSF:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:a4j="http://richfaces.org/a4j"
	template="/WEB-INF/paginas-genericas/template.xhtml">

	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

	<ui:define name="body">
		<f:view locale="#{LoginBB.idiomaPadrao.siglaIdioma}">

			<a4j:keepAlive beanName="ServicoBB" />

			<h:form id="mainForm">
				<rich:toolBar id="mainToolBar" itemSeparator="line"
					style="width:100%;">
					<rich:toolBarGroup location="left">
						<!-- CHANGE -->
						<h:outputLabel value="#{bundleApplication.TITLE_Servico}"
							styleClass="bg" />
					</rich:toolBarGroup>

					<rich:toolBarGroup location="right">
						<a4j:commandLink id="toolBtnNovo" action="#{ServicoBB.new_}"
							reRender="mainForm" oncomplete="highlightDiv()">
							<h:graphicImage id="imgBtnNovo" url="../resources/img/new.gif"
								style="border: 0px; cursor: pointer;" />
							<h:outputLabel for="imgBtnNovo" value="#{bundleGeneral.OPT_Novo}"
								style="cursor: pointer;" />
						</a4j:commandLink>

						<rich:toolTip for="toolBtnNovo"
							value="#{bundleGeneral.TIT_ToolbarNovo}" />
					</rich:toolBarGroup>

					<rich:toolBarGroup location="right">
						<a4j:commandLink id="toolBtnSalvar" action="#{ServicoBB.save}"
							reRender="fieldsPanel, dataTable">
							<h:graphicImage id="imgBtnSalvar" url="../resources/img/save.gif"
								style="border: 0px; cursor: pointer;" />
							<h:outputLabel for="imgBtnSalvar"
								value="#{bundleGeneral.OPT_Salvar}" style="cursor: pointer;" />
						</a4j:commandLink>

						<rich:toolTip for="toolBtnSalvar"
							value="#{bundleGeneral.TIT_ToolbarSalvar}" />
					</rich:toolBarGroup>
				</rich:toolBar>

				<h:panelGrid id="panelMsg" style="height:45px;">
					<rich:messages errorClass="mensagemErro"
						warnClass="mensagemSuccess" infoClass="mensagemInfo" id="mensagem" />
				</h:panelGrid>

				<rich:effect name="highlightDiv" for="conteudoint" type="Highlight"
					params="duration:1.0" />

				<rich:panel id="fieldsPanel" style="width:100%;">
					<br />
					<div id="contentDiv">
					<!-- CHANGE -->
					 <h:panelGrid border="0"
						columns="2"
						 style="width:100%;"
						columnClasses="col1_perfil2, col2_perfil2">

						<h:outputLabel for="codServico"
							value="#{bundleApplication.LBL_CodServico}: " />
						<h:inputText id="codServico"
							value="#{ServicoBB.servicoTO.codServico}" style="width:90%; "
							disabled="true" readonly="true" />

						<h:outputLabel for="desServico"
							value="*#{bundleApplication.LBL_DesServico}: " />
						<h:inputText id="desServico"
							value="#{ServicoBB.servicoTO.desServico}" style="width:90%; " />

						<h:outputLabel id="codRespServicoLBL" style="width:50%; "
							value="#{bundleApplication.LBL_codRespServico}: " />						
							 
							<h:panelGrid columns="3" style="width:90%; border: 0;"
										 columnClasses="col1_responsavel, col2_responsavel, col3_responsavel">
								<h:inputText id="codSolicitante" value="#{ServicoBB.servicoTO.codResponsavelServico}"
											 style="width:90%" />
								<a4j:commandLink id="btnSolicitante" action="#{ServicoBB.geraListResp}"
												 oncomplete="Richfaces.showModalPanel('panelSelecionarResponsavel')"
												 reRender="formSelecionarSolicitante">
									<h:graphicImage id="imgBtnSolicitante" url="../resources/img/usr.gif"
									style="border: 0px; cursor: pointer; padding-top: 3px;" />
								<rich:toolTip for="imgBtnSolicitante"
									value="#{bundleApplication.TIT_PesquisarUsuario}" />
								</a4j:commandLink>
								<a4j:commandLink id="btnLimparSolicitante"
									action="#{ServicoBB.limpaResponsavel}"
									reRender="codSolicitante">
								<h:graphicImage id="imgBtnLimparSolicitante"
									url="../resources/img/icone_borracha.gif"
									style="border: 0px; cursor: pointer; padding-top: 3px; padding-left:2px;" />
								<rich:toolTip for="imgBtnLimparSolicitante"
									value="#{bundleApplication.TIT_LimparResponsavelSelecionado}" />
								</a4j:commandLink>
								
							</h:panelGrid>	



						<h:outputLabel id="flAvisoEvento_cons"
							value="*#{bundleApplication.LBL_FlagAvisoEvento}:" />
						<h:selectOneRadio id="flgAtivo_cons" style="width:60%; "
							value="#{ServicoBB.servicoTO.flgAvisoEvento}"
							styleClass="semBorda" >
							<f:selectItem itemLabel="#{bundleGeneral.VALUE_Sim}"
								itemValue='S'  />
							<f:selectItem itemLabel="#{bundleGeneral.VALUE_Nao}"
								itemValue='N' />
						</h:selectOneRadio>
						
						<h:outputLabel id="codArqBat_LBL"
							value="#{bundleApplication.LBL_CodArqBat}: " />
						<h:inputText id="codArqBat"
							value="#{ServicoBB.servicoTO.codArqquivoBat}" style="width:90%; " />

						<h:outputLabel id="dirRemessa_LBL"
							value="#{bundleApplication.LBL_DirArqBat}: " />
						<h:inputText id="dirArqBat"
							value="#{ServicoBB.servicoTO.dirRemessa}" style="width:90%; " />

						<h:outputLabel id="extArqAnexado_LBL"
							value="#{bundleApplication.LBL_ExtArqAnexado}: " />
						<h:inputText id="extArquivoAnexado"
							value="#{ServicoBB.servicoTO.extArquivoAnexado}"
							style="width:90%; " />

						<h:outputLabel id="flgRemoverArquivo_LBL"
							value="*#{bundleApplication.LBL_FlagRemoverArquivo}:" />
						<h:selectOneRadio id="flgRemoverArquivo" style="width:60%"
							value="#{ServicoBB.servicoTO.flgRemoverArquivo}"
							styleClass="semBorda">
							<f:selectItem itemLabel="#{bundleGeneral.VALUE_Sim}"
								itemValue='S' />
							<f:selectItem itemLabel="#{bundleGeneral.VALUE_Nao}"
								itemValue='N' />
						</h:selectOneRadio>

						<h:outputLabel id="renomearArquivo_LBL"
							value="#{bundleApplication.LBL_RenomearArquivo}: " />
						<h:selectOneMenu id="renArquivo" style="width:90%; "
							value="#{ServicoBB.servicoTO.flgRenomearArquivo}"
							immediate="true">
							<f:selectItem itemValue="" itemLabel=" " />
							<f:selectItems value="#{ServicoBB.renArqListSelectItem}" />
							<f:converter converterId="genericConverter" />
						</h:selectOneMenu>

						<h:outputLabel id="dirArqRetorno_LBL"
							value="#{bundleApplication.LBL_DirArqRetorno}: " />
						<h:inputText id="dirArquivoRetorno"
							value="#{ServicoBB.servicoTO.dirRetorno}" style="width:90%; " />

						<h:outputLabel id="msgSucessoOperacao_LBL"
							value="*#{bundleApplication.LBL_MsgSucessoOperacao}:" />
						<h:inputTextarea id="msgSucessoOperacao"
							value="#{ServicoBB.servicoTO.mensagemSucesso}" style="width:90%" />

						<h:outputLabel id="extArqRetorno_LBL"
							value="#{bundleApplication.LBL_ExtArqRetorno}: " />
						<h:inputText id="extArquivoRetorno"
							value="#{ServicoBB.servicoTO.exArquivoRetorno}"
							style="width:90%; " />

						<h:outputLabel id="extArqErro_LBL"
							value="#{bundleApplication.LBL_ExtArqErro}: " />
						<h:inputText id="extArquivoErro"
							value="#{ServicoBB.servicoTO.exArquivoErro}" style="width:90%; " />

						<h:outputLabel id="chkDiasServ_LBL"
							value="#{bundleApplication.LBL_DiasServ}: " />
						<h:selectManyCheckbox id="diasServ" style="width:90%" 
							value="#{ServicoBB.listStringDiasServ}" layout="pageDirection" 
							styleClass="acessoQuadroAcoes" >
							<f:selectItems value="#{ServicoBB.listDiasServSelectItem}" />
						</h:selectManyCheckbox>

						<h:outputLabel id="flAtivo_LBL"
							value="*#{bundleGeneral.LBL_Ativo}:" />
						<h:selectOneRadio id="flgAtivo" style="width:60%"
							value="#{ServicoBB.servicoTO.flgAtivo}" styleClass="semBorda">
							<f:selectItem itemLabel="#{bundleGeneral.VALUE_Sim}"
								itemValue='S' />
							<f:selectItem itemLabel="#{bundleGeneral.VALUE_Nao}"
								itemValue='N' />
						</h:selectOneRadio>

					</h:panelGrid></div>

				<br />
				</rich:panel>
			</h:form>
                  </f:view>

	</ui:define>
</ui:composition>

Código do BB:

@Component("ServicoBB")
@Scope("request")
public class ServicoBB extends GenericBB{
	
	private static final long serialVersionUID = 1L;
	

	IServicoDAO servicoDAO;

	IServicoService servicoService;
	
	@Autowired
	IDiasServicoDAO diasServicoDAO;

	private ServicoTO servicoTO;
	
	private Servico servico;

	
	private List<DiasServicoTO> diasServicoList;
	private List<Servico> servicoList;
	private List<String> renArqList;
	private List<SelectItem> renArqListSelectItem;
	private List<Integer> listDiasServ;
	private List<String> listStringDiasServ;
	private List<SelectItem> listDiasServSelectItem;
	private List<Usuario> respServList;	
	private boolean isEdicao;
	
	
// actions

	
	@Autowired
	public ServicoBB(IServicoDAO servicoDAO, IServicoService servicoService){
		setLogger(Logger.getLogger(ServicoBB.class));
		setBundle(super.getBundle("bundle.application.Application"));
		
		this.servicoDAO = servicoDAO;
		this.servicoService = servicoService;
		isEdicao = Boolean.FALSE;
		clean();
	}
	
		
	
	/**
	 * Novo cadastro
	 */
	public void new_() {
		isEdicao=Boolean.TRUE;
		clean();
	}
	
	/**
	 * Limpa os campos e variaveis
	 */
	private void clean() {
		
		servicoTO = new ServicoTO();
		listStringDiasServ = new ArrayList<String>();
		diasServicoList = new ArrayList<DiasServicoTO>();
		geraListRenArq();
		geraListDiasServ();
	}
        
        public void geraListRenArq(){
		
		if(!isEdicao()){
			List<SelectItem> lista = new ArrayList<SelectItem>();
			
			lista.add(new SelectItem(0,"N\u00E3o Renomear"));
			lista.add(new SelectItem(1,"C\u00F3digo do Parceiro"));
			lista.add(new SelectItem(2,"C\u00F3d Parceiro + C\u00F3d Servi\u00E7o"));
			lista.add(new SelectItem(3,"C\u00F3d Parceiro + ddmm"));
			lista.add(new SelectItem(4,"C\u00F3d Parceiro + ddmm + nsa"));
			lista.add(new SelectItem(5,"Nome Resumido + ddmm + nsa"));

			setRenArqListSelectItem(lista);
		}		
	}
        public void geraListDiasServ(){
		if(!isEdicao()){
			List<SelectItem> lista = new ArrayList<SelectItem>();
			for(int i=0; i <=31; i++) {
			   lista.add(new SelectItem(i,String.valueOf(i)));
			}
			setListDiasServSelectItem(lista);
		}
	}
Criado 15 de dezembro de 2010
Respostas 0
Participantes 1