Categorias
Java Programação

Spring gerenciando as transações

Após duas longas semanas resolvi o problema que estava tendo com o Spring gerenciando as transações de banco de dados. O que acontecia é que nenhuma transação era aberta na classe marcada com a anotação “@Transactional”. Segue abaixo um exemplo de como utilizar o gerenciamento de transações do Spring: package br.com.test; public interface IService { […]

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

Categorias
Java EE Programação

JSF + Spring + JPA + Hibernate

Ao tentar fazer o deploy de uma aplicação utilizando JSF, Spring e JPA (com implementação do hibernate) é recebida a seguinte exception: javax.persistence.PersistenceException: org.hibernate.SessionException: Session is closed! Para resolver este problema, basta apenas adicionar o seguinte filtro no “web.xml”: <filter> <filter-name>Spring OpenEntityManagerInViewFilter</filter-name> <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>Spring OpenEntityManagerInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

Categorias
Java EE Programação

Debug no Tomcat 5.5

Para rodar um debug remoto no tomcat 5.5 no Ubuntu, basta editar o arquivo “/etc/init.d/tomcat5.5” e colocar a seguinte linha: -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n antes das linhas: # Define other required variables CATALINA_PID=”/var/run/$NAME.pid” BOOTSTRAP_CLASS=org.apache.catalina.startup.Bootstrap JSVC_CLASSPATH=”/usr/share/java/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar”

Categorias
Java EE Programação

Problema no botão back do navegador

O botão back do navegador é muito útil ao usuário para ele conseguir navegar entre diferentes páginas e websites. Entretanto, o botão back pode trazer diversos problemas aos sites. Uma maneira de “travar” o botão é desabilitar completamente o cache das páginas que não devem permitir que sejam acessadas através do botão back. Para se […]

Categorias
Programação

MySQL não responde para outras máquinas

Se você estiver tendo algum problema ao tentar conectar ao MySQL de outra máquina, basta alterar o arquivo “my.cnf” localizado no diretório “/etc/mysql” e comentar a seguinte linha: bind-address = 127.0.0.1 No caso, ela ficará da seguinte maneira: #bind-address = 127.0.0.1 Após alterar o arquivo, e salvá-lo, bastar restartar o mysql: sudo /etc/inid.d/mysql restart Obs.: […]

Categorias
Programação

Eclipse e PermGen

Se você estiver tendo problemas de memória com o Eclipse, como por exemplo: java.lang.OutOfMemoryError: PermGen space Basta alterar o arquivo “eclipse.ini” e adicionar as seguintes linhas no final dele: -XX:PermSize=64M -XX:MaxPermSize=128M