JSF, objeto não serializável gerando exceção

1 resposta
kirill

Olá pessoal,
estou desenvolvendo em JSF e em uma parte do código eu tenho uma classe com escopo None
que utilizo para fazer contato com um WebService. Isso não vem ao caso aqui,
o que acontece é que esta classe se utiliza de outra classe que eu criei e esta utiliza a API
org.jdom para parsing de documentos XML. A classe que utilizo (SAXBuilder não é serializável) e
é disparada uma exceção em tempo de execução dizendo que o objeto não pode ser serializado.

Out 25, 2011 8:43:12 PM org.apache.catalina.session.StandardManager startInternal
Grave: Exception loading sessions from persistent storage
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.jdom.input.SAXBuilder

Como funciona a aplicação:
Eu tenho uma Classe de escopo Request SearchController que é chamada por um botão da View,
e executa o método de busca search com um termo de busca digitado pelo usuário.

public void search() {     
        int searchResultCount = DownloadFactory.getResults(searchTerm);
        if (searchResultCount > 0) {
            Tab t = new Tab(searchTerm,searchResultCount);
            tabs.addTab(t);
        } else {
            sendMessage(FacesMessage.SEVERITY_ERROR, "No results found for " + searchTerm);
        }
    }

Em seguida a classe DownloadFactory que possui uma instancia estática de Downloader
utiliza este Downloader para descobrir quantos resultados tem no WebService. Então uma aba é criada na View.
Como a aba(classe Tab com escopo None e serializável) possui um dataTable LazyLoaded, existe uma classe chamada
Downloader que também é serializada e que recupera os documentos necessários para o dataTable. É nesta classe
Downloader que há uma instancia da classe SAXBuilder do JDom. Creio que meu problema seja uma questão simples de ser resolvida e está ligada à arquitetura da aplicação.

Agradeço quem puder me ajudar.

1 Resposta

kirill

Ninguem pode me ajudar nesta questão ?

Criado 25 de outubro de 2011
Ultima resposta 26 de out. de 2011
Respostas 1
Participantes 1