Posts

Showing posts from 2012

Erro ao criar nova instancia do XpathReader

Ao tentar iniciar uma nova instância do XpathReader, eu recebi o erro abaixo: The processing instruction target matching "[xX][mM][lL]" is not allowed Esse erro acontece, devido a existência de : Espaço em branco antes do header de <?xml ... Existencia de mais de um header de  <?xml... Ou algum conteudo antes do header. Problemas de encoding No meu caso bastou utilizar o metodo trim da classe String, assim removendo os espaços em branco antes do header.

Erro ao instalar o Java EE 6 "Error: could not find required version JAVA(TM) 2 Runtime Environment in (null)"

Esse problema ocorre pois a instalação não consegue achar a instalação da JDK ou JRE . Para resolver esse problema, basta executar o instalador informando como argumento o seguinte : Caso você possua a variavel de ambiente JAVA_HOME definida, faça uso deste comando <nome_do_instalador> -j %JAVA_HOME% Caso você não possua a varivel de ambiente definida, o comando é praticamente igual <nome_do_instalador> -j <caminho_da_instalacao> Em ambos os casos eu tive o seguinte erro: Error: 'Files\Java\jdk1.7.0_07' is not a valid argument Não sei se esse é um problema unicamente do windows, porem para resolver esse erro acima, basta colocar o caminho entre aspas, funciona também se você informar a Java home entre aspas.

JPA Buscas de parametros diferentes e com Join que retornam o mesmo Objeto

Utilizando a Criteria Query para realizar 2 buscas com Join e apesar de informar parâmetros diferentes nas 2 buscas, eu sempre recebia como retorno em ambas o primeiro objeto buscado. Deixando claro aqui algumas particularidades: Por sorte(ou não), o Objeto buscado era o mesmo alguns valores de sua composição mudavam. Esses atributos que tinham valores diferentes, não eram utilizados no Equals e HashCode do Objeto buscado. A transação do Provider ainda estava aberta quando foi feita a segunda busca. Ambas buscas feitas pelo mesmo metodo, porem com parâmetros diferentes Tendo isso em mente, temos o seguinte cenário a busca é realizada com sucesso, e o provider faz uso do Equals e HashCode para verificar se esse objeto já existe no contexto de persistência, caso já exista o provider somente retorna o valor que se encontra já gravado no contexto. No meu caso ambos Objeto retornados eram iguais perante ao Equals e HashCode, por isso era sempre retornado o valor já presente no c

Ativar Debug Remoto no Jboss 6.x

Para habilitar o Debug remoto no Jboss 6.x, é preciso fazer algumas alterações nos arquivos de configuração -Windows Na pasta bin do Jboss possui um arquivo chamado " run.conf.bat ", deve-se descomentar a linha 52 ou a linha que possua o seguinte conteudo rem set "JAVA_OPTS=%JAVA_OPTS% -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n" Basta remover o "rem" do começo da linha. -Linux Na pasta bin do Jboss possui um arquivo chamado " run.conf ", deve-se descomentar a linha 47 ou a linha que possua o seguinte conteudo #JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n" Basta remover o "#" do começo da linha.

Obtendo o HibernateEntityManager a partir do EntityManager da JPA

As vezes quando trabalhamos somente com a interface da JPA, algumas funcionalidades da Criteria Query, não trabalham como queremos, por isso precisamos acessar à implementação da JPA, no meu caso eu precisei acessar o hibernate. Como eu tinha acesso somente ao EntityManager da JPA, seria preciso conseguir o HibernateEntityManager, para isso basta adicionar o seguinte codigo: HibernateEntityManager hem = entityManager.unwrap(HibernateEntityManager.class); Session session = hem.getSession(); O metodo unwrap do entityManager, existe justamente para esse feito, para que possamos acessar a implementação do provider.

Tela preta no Backtrack 5 ao executar o startx

Eu estava tentando instalar o Backtrack 5 no meu notebook, porem sempre que eu entrava o comando do startx para iniciar a parte gráfica do S.O., aparecia uma tela preta e nela ficava. Em algumas pesquisas, fui descobrir que é um problema com alguns drivers de vídeo da intel. Para resolver isso, basta modificar comando de boot. No meu caso eu estava utilizando o Unetbootin , para gerar o boot através de um pendrive, porém o processo é o mesmo. Ao iniciar o boot e aparecer as opções do S.O., basta apertar tab, para editar o comando de boot, basta remover os caracteres "--"(sem aspas) e  adicionar a instrução abaixo: I915.modeset=1 É uma definição que será utilizada pelo Kernel, para definição do Driver de video.

Junit

O que é? JUnit é um Framework de teste unitário para a linguagem programação Java. Instalação: Jars: Para fazer uso do Framework é necessário fazer o download, dos Jars, que atualmente, se encontram na versão 4, através do site  http://www.junit.org/ Após o download, extraia ou abra o arquivo compactado, na raiz terá o arquivo "junit-4.*.jar". Copie ou mova esse arquivo para biblioteca e adicione o mesmo ao classpath. Maven: Para instalações via Maven, adicione o seguinte ao pom.xml <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.1</version> <scope>test</scope> </dependency> Anotações:  @Test Anotação que marca e identifica um metodo como um metodo de Teste. Ex.: @Test public void testSucesso() { // Codigo de teste } @Test (expected = Exception.class) Anotação que marca e identifica um método como um método

Entidade

O que é? É um POJO(Plain Old Java Object), marcado com a anotação @Entity, que sera gerenciado pelo Persistence Provider. Esse Pojo deve seguir algumas regras: -Deve possuir um construtor sem argumentos(no-arg), a classe pode possuir outros construtores. -O construtor(no-arg), deve ser marcado como public ou protected -A Entidade precisa ser uma classe(top-level), Enuns e Interfaces não pode ser entidades. -A Classe não pode ser final. Metodos e Atributos que irão ser persistidos, também não podem ser final. - Caso a classe vá ser passada por referencia através de uma interface remota, é preciso que a entidade implemennte a interface Serializable. Dessa maneira esses objetos tem seus estados persistidos em algum armazenamento Quais são os estados de uma Entidade New - é uma entidade que ainda não foi persistida e por esse motivo não possui uma Identidade de Persistência, e por consequencia a mesma não esta  no contexto de persistência. Managed - é uma entidade que pos

Static Metamodel

O que é? É uma maneira de representar os atributos da classe de forma, mostrando seus relacionamentos Por que utilizar? Pois torna as Criteria Query criadas, ainda mais TypedSafe e por esse motivo já diminui os possíveis erros de acontecerem. Perante a minha experiencia com Criteria Query e Static Metamodel, so tive os seguintes problemas , quando à  alteração do atributo de modo a trocar tipo ou trocar o seu nome. Caso o mesmo seja alterado conforme dito anteriormente, ao tentar o utilizar esse atributo do Metamodel o mesmo ira lançar uma Exceção de NullPointerException Como criar Para criar um Static Metamodel, deve-se ter uma Entidade, um Embeddable, uma MappedSuperclass, algo que de uma forma represente dados em uma tabela. Lembrando que a classe deve estar no Persistence Unit, para ser gerenciada pelo Provider. Conforme exemplo abaixo: package br.umpoucomais.entidades; /** Importações */ @Entity public class Cliente{ @Id private Long id; @Column(name = "CPF&qu

Como criar um datasource para JBoss 6.x

Eu nunca fui um fã dos XMLs, sempre achei que quase tudo que se faz com ele, faz-se melhor sem ele!!! Com a exceção de arquivos de configuração e WebService. Mas isso pode ser realmente algum trauma ou problema que eu tenho com o XML. Mas vamos a proposta do post: Esse é um XML para criação de um datasource, lembrando que ao menos no JBoss 6.x, o arquivo de configuração deve terminar com "-ds.xml"(sem as aspas), pois somente assim o AS entende o arquivo como um DataSource e a mesma instancia do AS, pode carregar múltiplos DS's. Esses arquivos de configuração devem ser colocados dentro da pasta de deploy do seu projeto: JNDI_NAME oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@IP:PORT:SID USUARIO SENHA

Tabelas Uteis do Oracle

Essas são algumas das tabelas do Oracle que podem ser muito uteis dependendo da necessidade: ALL_CONS_COLUMNS – Possui todas as Constraints juntamente com suas devidas colunas e tabelas. ALL_CONSTRAINTS – Todas as constraints do banco de dados. ALL_ALL_TABLES – Todas as tabelas do banco de dados ALL_SEQUENCES – Todas as sequences do banco de dados USER_ALL_TABLES - Todas as tabelas do usuário atual USER_CONSTRAINTS - Todas as constraints do usuário atual USER_CONS_COLUMNS - Possui todas as Constraints juntamente com suas devidas colunas e tabelas, porem somente do usuario atual. Ao Som de "Dear God - Avenged Sevenfold"

Como achar uma Constraint pelo nome e sem saber o nome da tabela

Esse Post tem como ideia passar algumas coisas uteis que eu aprendi trabalhando com o Oracle, na versão 10g, não sei se funciona em outras versões Esse SQL tem como função retornar o nome da tabela e o nome da coluna que detem a constraint informada: SELECT a.table_name as Tabela_da_Constraint,a.column_name as Nome_da_Coluna,a.constraint_name as Nome_da_Constraint FROM ALL_CONS_COLUMNS A JOIN ALL_CONSTRAINTS C ON A.CONSTRAINT_NAME = C.CONSTRAINT_NAME where A.constraint_name='NOME_DA_CONSTRAINT'