Arquivos da categoria: Java

Maven – Compilar sem os teste

Maven

Maven

Por padrão o maven executa todos os teste unitários do projeto sempre que você executa o build ( package ) . O problema disto é que algumas vezes apenas precisamos atualizar a aplicação e em alguns dias fazemos isso milhares de vezes.

O maven nos da algumas opções para dinamizar esta execução.

Skiping tests:

Ao executar o maven informando o parâmetro “-Dmaven.skip.test=true” indica que o build deve ser executado sem os testes unitários.

Melhorando o tempo de execução do Maven

Seguem abaixo algumas dicas para melhorar o tempo de execução.

OBS: Algumas destas podem aumentar consideravelmente o uso de CPU.

Sem conectar a internet:

Temos também a opção de forçar o maven a trabalhar offline com o parâmetro “-o“. Por padrão todas as dependências do projeto são salvas localmente como em um serviço de cache, e sendo assim este parâmetro não fará muita diferença.

Ex.:

Para isto é recomendado que antes você execute o seguinte comando para que sejam baixadas todas as dependências e salvas no cache:

Sem logs:

Em algumas situações você pode não querer ver tudo o que o maven esta fazendo. Para isto temos a opção de executa-lo em modo “silencioso” com o parâmetro “-q”.

Ex.:

Multi thread:

É possível especificar a quantidades de threads serão utilizadas no processo de build. Este é um recurso que deve ser utilizado com cautela pois existem muitos fatore que podem influenciar no desempenho do build, como número de núcleos do processador, quantidade de submodulos do projeto e quantidade de tasks a serem executadas dentre outros fatores.

Fontes:

Site oficial

Auto incremento no banco de dados Derby ( javaDb )

   O auto incremento no derby é um pouco diferente do padrão dos outros banco de dados.
Segue um exemplo que pode ajudar a criar as tabelas de seu novo banco.

Conectando-se ao banco Derby

Apache Derby é um sistema de gerenciamento de banco de dados relacional Java que pode ser embutido em programas Java e que possui quase todos os recursos dos grandes SGDBS.

História:
Apache Derby originou-se na Cloudscape Inc, uma start-up de Oakland, California fundada em 1996 para desenvolver tecnologia Java para banco de dados. A primeira versão do motor do banco de dados, foi nomeada JBMS, em 1997. Posteriormente foi renomeada para Cloudscape e novas versões eram desenvolvidas a cada seis meses.
Em 1999 a Informix Software, Inc., comprou a Cloudscape, Inc. Em 2001 a IBM adquiriu os ativos da Informix Software, incluindo a Cloudscape. O banco de dados foi registrado como IBM Cloudscape e suas versões continuaram a ser produzidas, principalmente focando o uso em aplicações embarcadas usando os produtos Java da IBM.
Em agosto de 2004 a IBM contribuiu com o código para a Apache Software Foundation como Derby, um projecto incubado mantido pelo projeto Apache DB. Em julho de 2005 o projeto Derby foi promovido na incubadora do Apache e agora está sendo desenvolvido como um sub projeto do DB, um projeto de alto nível na Apache. Anteriormente à promoção do Derby na incubação, a Sun uniu-se ao projeto Derby com a intenção de usar o Derby como um componente de seus produtos,3 e com o lançamento do Java 6 em dezembro de 2006, a Sun incluiu o Derby no JDK renomeado como Java DB.
Em março de 2008 a IBM anunciou a remoção do produto Cloudscape do mercado, mas continuará contribuindo com o projeto Apache Derby.
Fonte: (wikipedia)

Você pode fazer o download do arquivo jar do Derby aqui

Executando scripts Groovy no java

Logo Groovy

Logo Groovy

Existem situações onde precisamos montar lógica em tempo de execução, o java tem recursos muito bons para trabalhar com reflection, mas quando não é suficiente sentimos falta do bom JavaScript.
Para não precisar recorrer a bibliotecas de execução de JavaScript podemos utilizar o Groovy.

Conectando-se ao Oracle com java JDBC

Conectar java ao banco de dados oracle com jdbc connect to oracle with jdbc

Oracle

O JDBC é a sigla de Java Data Base Connector e é uma das maiores vantagens de se utilizar o Java, pela grande facilidade de se conectar a diversos bancos de dados com o mesmo código fonte.

Para começar a utilizar você deve seguir os seguintes passos:

  1. Faça o download do driver no site da Oracle
  2. Adicione o driver ao ClassPath da aplicação
  3. Utilize o código abaixo para criação da conexão com o banco Oracle

Abaixo você pode ver um exemplo de como inicializar uma nova conexão com o banco de dados. Para se conectar com outros bancos basta mudar a String  com o nome da classe do driver e a String com a URL de conexão com o banco.

Outras Strings de Conexão( ConnectionString ):

Banco classe do driver url de Conexão
MySQL com.mysql.jdbc.Driver jdbc:mysql://hostname/ databaseName
ORACLE oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@hostname:port Number:databaseName
DB2 COM.ibm.db2.jdbc.net.DB2Driver jdbc:db2:hostname:port Number/databaseName
Sybase com.sybase.jdbc.SybDriver jdbc:sybase:Tds:hostname: port Number/databaseName

Usando log com Java

System.out.println(e.getMessage());
Este é talves, o maior motivo para querer-mos utilizar uma ferramenta para gestão dos processos de log.
Enquanto estamos desenvolvendo, é comum o uso do sysout, para registro e ate “depuração” do código, o problema começa quando o sistema vai para a produção e ocorrem erros misteriosos e o usuario nunca sabe realmente informar o que aconteceu.

O log4j propõe resolver este problema, não apenas registrando as mensagens em arquivos para encapsulando todo o processo que envolve os registros de log, como formatação das saidas, inclusão de data e hora, backup do log e outros.

Para utilização desta API, basta fazer o download do arquivo .jar e adiciona-lo ao buildpath da aplicação. 
 
No caso de uma aplicação web, basta colar o arquivo na pasta “lib”  do projeto.

Na primeira linha, foi usada uma configuração básica 
Na segunda linha iniciamos a classe que registra o log.
Esta configuração não resolve muita coisa porque apenas registra no console as saidas informadas:

0 [localhost-startStop-1] INFO com.edgardleal.ClassTest  – Sistema iniciado
500 [localhost-startStop-1] WARN
com.edgardleal.ClassTest  – Mensagem de alerta
500 [localhost-startStop-1] ERROR com.edgardleal.ClassTest  – Log de erro

A primeira coluna indica o tempo decorrido deste a inicialização da classe Logger
2º Thread que esta sendo executada no momento
3º Nível do log
4º Classe que executou o log
5º Mensagem informada

Para que tenha-mos um log realmente útil precisaremos criar um arquivo de configurações para definirmos nossas preferencias e termos um resultado como o do exemplo abaixo:

INFO localhost-startStop-1 15:33:42.017 com.edgardleal.ClassTest – Sistema iniciado
WARN localhost-startStop-1 15:33:42.517 com.edgardleal.ClassTest – Mensagem de alerta
ERROR localhost-startStop-1 15:33:42.517 com.edgardleal.ClassTest – Log de erro

Crie um arquivo com o nome “log.properties” com o seguinte coneudo:


1º Nome o layout de configuração
2º Tipo de layout utilizado ( o arquivo continua crescendo )
3º Formatação utilizada, neste caso, utilizaremos o padrão informado abaixo
4º Nome do arquivo de log
5º Mascara utilizada para gerar o resultado
6º Tamanho máximo do arquivo de log
7º Número máximo de backups mantidos
 
E alteramos o código anterior para que fique da seguinte forma:

  

Na primeira linha do código, iniciamos a configuração global do log com o arquivo “log.properties”

Veja a documentação completa