Pergunta

Existe uma maneira fácil de chamar um terminal de serviço GWT RPC diretamente do código Java? Quero dizer código Java real, não o código Java compilado para baixo em javascript.

Eu pergunto porque queremos correr benchmarks de desempenho / testes de stress contra uma interface GWT RPC. Eu gostaria de escrever o equipamento de teste em Java e executá-lo em uma JVM (ao contrário de JavaScript em execução em um navegador).

Eu acho que deve haver uma maneira de fazer isso porque eu suponho modo GWT Hospedado requer tal funcionalidade. No entanto, eu realmente não posso encontrar qualquer código em tempo de execução do GWT que demonstra como fazer isso de forma limpa. Eu olhei para o pacote com.google.gwt.user.client.rpc mas as coisas lá dentro parece usar JSNI que obviamente não seria utilizável por puro Java.

Foi útil?

Solução

GWT SyncProxy permite acessar serviços GWT RPC (por exemplo métodos) de puro Java (não JSNI) código. Assim, você pode usá-lo para testar sua interface RPC.

Consulte http: // www. gdevelop.com/w/blog/2010/01/10/testing-gwt-rpc-services/ para mais detalhes.

Outras dicas

Você está tentando referência a lógica de negócios do serviço, ou quão bem em si GWT-RPC executa? Se você está principalmente preocupado com o quão bem seus executa código de back-end, você poderia simplesmente instanciar a classe que implementa o serviço diretamente:

MyServiceImpl impl = new MyServiceImpl();
impl.doSomething();

Se você quiser testar uma maior fatia da pilha, incluindo as chamadas RPC, dê uma olhada aqui . Há uma seção chamada "executando o seu teste em modo web", que tem a seguinte linha: 'Por padrão, testes executados em modo hospedado são executados como bytecode normal de Java em uma JVM'. Então, se você usar a configuração descrita, eu acho que você começa seus testes para rodar em Java por padrão. Também nessa página é informação sobre GWT é construído em ferramentas de criação de perfil.

Você pode usar uma ferramenta de teste de carga convencional como Grinder para repetir solicitações POST para o seu serviço. Isso não é bem o que você está pedindo, mas pode ser uma maneira melhor de realizar testes de carga sobre a sua aplicação. Grinder pode simular muitos usuários simultâneos e assim por diante.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top