Sempre que é feito um job,uma das preocupações do lado da aplicação é em como não levar todos os registros necessários para a memória. Existem algumas maneiras para se fazer isso, sendo que as duas mais comuns que vejo são queries limitadas e queries paginadas. Além dessas duas formas existe uma terceira que é limitando […]
Categoria: Java
Algum tempo atrás me deparei com uma situação onde uma aplicação começava a utilizar muita CPU, o load da máquina física subia demais e o tempo de resposta da aplicação acabava piorando junto com o uso de cpu / load da máquina. Para identificar o que estava causando, colocamos um script na máquina física que […]
Um dos problemas vistos num banco Oracle com muitos DML’s concorrentes é o evento de espera “enq: TX – allocate ITL entry”. O problema com esse evento é que as sessões fazendo os comandos de alteração nos registros demoram para executar, causando mais espera na aplicação. Existem alguns jeitos de resolver esse evento de espera, […]
Um dos problemas que vejo acontecendo em diversos sistemas de produção é o pool de conexões com o banco de dados esgotar, através da exception abaixo: Geralmente, a primeira solução proposta é aumentar o pool de conexões. Só que após algum tempo o problema volta a ocorrer novamente. Olhando à partir do banco de dados […]
Ao tentar efetuar o deploy de uma aplicação com JPA (implementação: Hibernate), ocorre o seguinte erro: org.springframework.orm.hibernate3.HibernateQueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken [SELECT p FROM PARAMETRO p WHERE UPPER(RTRIM(p.parametroPK.parametroGeral)) = :parametroGeral AND UPPER(RTRIM(p.parametroPK.codigo)) = :codigo]; nested exception is org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken [SELECT p FROM PARAMETRO p WHERE UPPER(RTRIM(p.parametroPK.parametroGeral)) = :parametroGeral AND UPPER(RTRIM(p.parametroPK.codigo)) = :codigo] Caused by: org.hibernate.QueryException: ClassNotFoundException: […]
Esses dias precisei fazer alguns testes que verificavam se existia uma propriedade de sistema para tomar determinada ação. Ao se passar a propriedade através da seguinte linha de comando: mvn -Dminha.propriedade=valor test Verifiquei que o teste nunca encontrava a propriedade passada através da chamada System.getProperty(“minha.propriedade”). Dois jeitos fáceis para fazer a passagem de propriedade corretamente […]
Selenium + Wait for Ajax
Hoje tive que fazer um teste automatizado que deveria obrigatoriamente esperar por um Ajax ser executado para continuar a sua execução. Encontrei este link: http://agilesoftwaretesting.com/?p=111, que fala o seguinte: Faça um método em java como: public static void waitForAjax(Selenium selenium, String timeout) { String js_condition = “selenium.browserbot.getCurrentWindow().jQuery.active == 0”; selenium.waitForCondition(js_condition, timeout); } O valor da […]
Novo Site do PagSeguro
O novo site do PagSeguro não foi apenas uma melhoria no código antigo, foi muito mais que isso. O novo site do PagSeguro foi a reescrita completa de um enorme sistema que estava em produção. A entrada em produção começou no dia 30/10/2009 no início da noite, onde o sistema antigo foi alterado para não […]
Este post foi traduzido e alterado deste link: http://blog.cherouvim.com/the-stupidest-things-ive-done-in-my-programming-job/ Observação: Não fui eu quem escreveu este post. Apenas fiz a tradução e alteração pois achei muito interessante. As coisas estúpidas feitas quando se trabalho com programação ORM Estupidez Construir um framework próprio de ORM. Consequências O projeto vira uma bagunça depois de 2 anos de […]
PDB Extractor
Ainda em relação ao post anterior, tive que extrair o conteúdo de um arquivo PDB (um formato de arquivo usado nos Palm’s). Encontrei a solução parcial neste post:http://www.neowin.net/forum/index.php?s=d21af43a292e783de98d0644c0824b70&showtopic=689476&pid=590047756&st=0&#entry590047756 A solução descrita não funcionou, mas após algumas alterações na solução, serviu para o que eu precisava: /*** * T3_allfiles * based upon T3_APR.java from Shadowmite’s forum […]