Categorias
Java Java EE Programação

Obtenção de grande volume de dados em Jobs

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 […]

Categorias
Banco de dados Java Java EE Oracle Programação

High CPU causado pelo método copyRowsAsNeeded do driver do Oracle

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 […]

Categorias
Banco de dados Java Java EE Programação

Resolvendo “enq: TX – allocate ITL entry” com uma abordagem alternativa

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, […]

Categorias
Banco de dados Java Java EE Programação

Chamadas remotas em contexto transacional de banco de dados

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 […]

Categorias
Java EE Programação

Weblogic 10.3.0.0 + JSF 2.0 + @EJB Injection

Ao se colocar o JSF 2.0 no Weblogic 10.3.0.0, os EJB’s não são injetados nos manageds beans do JSF através da anotação @EJB. Para corrigir esse problema, basta utilizar a classe abaixo: E declarar o el-resolver no faces-config.xml:

Categorias
Java Java EE Programação

Weblogic + JPA + Hibernate = ClassNotFoundException: org.hibernate.hql.ast.HqlToken

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: […]

Categorias
Java Java EE Programação

As coisas estúpidas feitas quando se trabalha com programaçã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 […]

Categorias
Java EE

Freemarker + Sitemesh + Spring

Depois de muito tempo consegui fazer minha aplicação utilizando Freemarker (template engine) + Sitemesh (web page layout framework) + Spring (IOC, etc) funcionar. Basicamente, basta configurar no web.xml o filtro do Sitemesh (com.opensymphony.sitemesh.webapp.SiteMeshFilter), a servlet do Freemarker que vem com o Sitemesh (com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet) e a servlet do Spring MVC (org.springframework.web.servlet.DispatcherServlet). O filtro do Sitemesh é […]

Categorias
Java EE Programação

PostBack no JSF

Um grande problema com o JSF é que na especificação 1.1 não existe algum método para saber se a página está sendo executada no postback (quando você reenvia os dados para ela mesma). Mas existe o seguinte workaround: package web.jsf.vh; import java.io.IOException; import java.util.Locale; import java.util.Map; import javax.faces.FacesException; import javax.faces.application.ViewHandler; import javax.faces.component.UIViewRoot; import javax.faces.context.FacesContext; public […]

Categorias
Java EE Programação

JSF – Duplicate componentID

Utilizando o DataTable do RichFaces em uma simples página, após um reload na página sempre era retornado o seguinte erro: Duplicate component ID ‘_id0:_dataTable:_id1’ found in view. Segue abaixo o código da página que causava o erro: <ui:composition xmlns=”http://www.w3.org/1999/xhtml” xmlns:ui=”http://java.sun.com/jsf/facelets” xmlns:h=”http://java.sun.com/jsf/html” xmlns:f=”http://java.sun.com/jsf/core” xmlns:a4j=”https://ajax4jsf.dev.java.net/ajax” xmlns:rich=”http://richfaces.ajax4jsf.org/rich”> <h:form binding=”#{UserConsultPage.component}”> <rich:dataTable id=”dataTable” binding=”#{UserConsultPage.dataTable}” var=”item”> <rich:column> <f:facet name=”header”> <h:outputText value=”Name” […]