Mensagens enviadas por: danieldestro
Índice dos Fóruns » Perfil de danieldestro » Mensagens enviadas por danieldestro
Autor Mensagem
Do meu iPhone:

g4j wrote:e esse?



acreditem, encontrei em uma classe de "utilidades"


"ABSTRAÇÃO"
Até poderia criar um método "cancel" na minha thread e ela chamar o "close" ou algo do tipo do Stream. É uma ideia sim. Posso testar.
Pois é Viny. Me alertei ao fato de "stop" e "destroy" serem deprecated, porém era a última tentativa de tentar abortar threads do meu processo.

O fato é que estas threads executam tarefas que eu não tenho controle sobre a execução, ou seja, não posso executar aos poucos e abortar sua execução.

Porém, acreditei que eu poderia simplesmente abortar a execução geral de uma thread "por fora", mas vejo que não dá mesmo.

Conhece alguma solução para o caso?

Acabei também achando um "bug" na aplicação e coloquei um timeout em um serviço HTTP que tava dando problema. Acho que resolvi pontualmente o problema aqui, porém, nada impede que outros "timeouts" possam ocorrer e meu sistema entra em "hang".
Coloquei "stop" no lugar de "interrupt" na linha 112 e funcionou neste teste ai. Porém, no sistema real não rolou não. Ele não para a thread.
Caros,

Tenho um sistema que precisa executar múltiplas tarefas em parelelo e para isso usei o conceito de pool de threads.

A principio desenvolvi uma solução para atender meus requisitos. Porém estou apanhando para fazer com que cada tarefa execute dentro de um período de timeout ou então seja interrompida.

Segue uma a implementação (obviamente simplificada) para uma possível ajuda.

Este interrupt() não tem efeito sobre a thread em execução, pois a thread a ser interrompida não faz uso de nada da APi de Threads que lance um InterruptedException (ex: Thread.sleep()).

Sei que poderia usar o Thread Pool do Java, com Executor, mas ainda não vi uma forma clara de fazer esse timeout da execução da tarefa.

Sugestões?

denisdwtg wrote:O que quiseram fazer aqui????


Avisa que existe o break.
Bom, fiz uma gambiarra aqui e funcionou no meu caso.





Mas ainda procuro a solução correta.
Olhei a documentação mas não achei nada direto que me explica como pegar uma mensagem i18n dentro de um Controller do vRaptor 3.

Só achei referência usando um Validator, que não é o meu caso.

Algo que eu possa injetar no Controller para me dar esta informação que configura no messages.properties?
g4j wrote:Pasmem... Peguei um cara ensinando outro a fazer um método retornar 2 valores, rsrsrs retornava um Object[]


Melhor que isso.. só isso: http://www.guj.com.br/java/234881-ondemand---novo-design-pattern
Simplesmente uso Long como id e não uso mais relacionamentos persistentes, só faço referência às "FKs". E ai carrego na "mão" os objetos relacionados.



Estou meio que apanhando para fazer simples relacionamentos de entidades na minha aplicação com JPA para rodar no Google App Engine (GAE).

Um simples caso de relacionamento 1-N está virando um inferno.

Descobri que não posso usar chaves do tipo Long para classes relacionadas, então passei a usar Key.







Porém, no caso acima tomei uma exceção que pede que eu crie o ProductGroup com um "parent" para o seu key, já que estou associando a um Product. Ou seja, o relacionamento, obrigatoriamente, tem de ser OWNED.

Uma coisa simples, fica difícil de se fazer.

Neste caso, estou pensando em abrir mão de usar relacionamentos entre objetos e usar as classes como simples estrutura de dados.



Terei de fazer "JOIN" e sumarização (sum, avg, etc) na mão. Me parece deselegante, do ponto de vista do design, mas, talvez, uma simples solução para não me matar a cada hora descobrindo as restrições do GAE com o seu BigTable / Datanucleus.

Alguém sugere uma outra solução viável?
Opa, legal. Extender DefaultPathResolver resolveu meu problema. Valeu pela ajuda.
Aliás, poderiam incluir na documentação o fato de @Path e etc inibir o método citado acima.
Dá uma olhada aqui: http://www.guj.com.br/java/33085-genericdao
ÓTIMO controle de transações.

 
Índice dos Fóruns » Perfil de danieldestro » Mensagens enviadas por danieldestro
Ir para:   
Powered by JForum 2.1.8 © JForum Team