Spring + Prevayler + Tapestry

7 respostas
vamorim

Alguém já desenvolveu com Spring, Prevayler e Tapestry?

Quando faço

MySystem ms = (MySystem) prevayler.prevalentSystem();

está acontencendo algum erro na hora de fazer o cast.

O mais estranho é quando eu faço

Object o = (Object) prevayler.prevalentSystem();

e pego o nome da classe do objeto via reflection, ele aponta para a minha classe MySystem!

Para piorar, num teste standalone o sistema funciona. Já quando eu carrego o mesmo bean via Tapestry ele dá pau. Alguém pode me ajudar?

7 Respostas

cv1

Eh tudo que interessa Serializable? Os serialVersionUIDs tao certinhos? Ja tentou limpar os logs?

vamorim

Sim

Sim

Sim

:roll:

cv1

Confirma que isso aqui funciona:

Object system = prevayler.prevalentSystem(); System.out.println(system.getClass() == MySystem.class); System.out.println(system.getClass().equals(MySystem.class));

vamorim

:? Deu falso nos dois.

Isso me deixa ainda mais confuso. Pq então funcionaria o teste standalone?

vamorim

O menino tá muito chorão hoje… Esse código retorna true se for standalone e falso se for web…

package persistent.prevayler;

import java.io.IOException;

import org.prevayler.Prevayler;
import org.prevayler.PrevaylerFactory;

public class MyPrevayler {
    private Prevayler prevayler;

    public MyPrevayler() {
        MySystem aMySystem = new MySystem();

        PrevaylerFactory factory = new PrevaylerFactory();
        factory.configurePrevalenceBase("data");
        factory.configurePrevalentSystem(aMySystem);

        try {
            prevayler = factory.create();
            prevayler.takeSnapshot();

            Object s = prevayler.prevalentSystem();

            boolean t1 = s.getClass() == MySystem.class;
            System.out.println(t1);

            boolean t2 = s.getClass().equals(MySystem.class);
            System.out.println(t2);

        } catch (IOException exIO) {
            exIO.printStackTrace();
            System.exit(1);
        } catch (ClassNotFoundException exClassNotFound) {
            exClassNotFound.printStackTrace();
            System.exit(1);
        }
    }

    public Prevayler getPrevayler() {
        return prevayler;
    }
}
cv1

As minhas bolas de cristal indicam que voce tem um classpath confuso :mrgreen:

vamorim

Realmente era problema com o classpath…

Criado 6 de junho de 2005
Ultima resposta 7 de jun. de 2005
Respostas 7
Participantes 2