Diferença de tempo na execução de um método chamado pelo flex e direto pelo java [RESOLVIDO]

3 respostas
orogerio

Bom dia !

Desenvolvo em Flex 3 e Java 6 … utilizando FlexBuilder e Netbeans e a integração é feita com BlazeDS.
Tenho uma tela em flex, que chama um service no java Service.criaGradePorSemana para exibir uma lista de horários numa espécie de gride.

O estranho:
Rodando a aplicação e chamando normal pelo flex, a execução fica lenta(dá pra eu ver o log no netbeans que as logs ficam lentos) = 15 seg
Fiz no main do java um teste chamando a mesma função(mal da pra ver o log) = 2 seg.

Alguém sabe o porquê desta perda de desempenho? É alguma coisa no BlazeDS.

Agradeço a ajuda
Rogério

3 Respostas

AUser

Lembrando: o blaze pega o objeto de retorno, serializa, compacta ,e depois envia ao Flex. O objeto q vc esta´retornando é mto grande? Ou recebendo?

orogerio

Não é tão grande.

Pq quando coloco a lista de objetos na memória do java, o método retorna rapidamente para o flex.
Quando vou montando essa lista dinâmicamente (consultas ao banco), parece que o flex executa as chamadas mais devagar.

Mas pelo main do java, vai rapido.

???! :?

orogerio

O problema são os logs do JPA.

antes eu estava fazendo assim, com nivel FINE, para me mostrar as instruções SQL.

<property name="toplink.logging.level" value="FINE"/>
     <property name="toplink.logging.exceptions" value="true"/>

agora criei 2 unidades de persistência, uma para ambiente de desenvolvimento com FINE e uma para produção com WARNING.

<property name="toplink.logging.level" value="WARNING"/>
<property name="toplink.logging.exceptions" value="true"/>

Resolveu, ficou bem rápido. Mas ainda não sei pq fica lento só no flex. :roll:

Criado 10 de agosto de 2011
Ultima resposta 10 de ago. de 2011
Respostas 3
Participantes 2