Linux – Executar jar na inicialização do sistema. Jar como serviço. (How to make a jar file run on startup)


java linux tux

Uma maneira fácil de se fazer isso é utilizar o SysVInit.

1 – Você deve criar um script de start e stop para sua aplicação. No exemplo vamos utilizar o diretorio /opt/:

Start Script: /opt/server/myapp-start.sh
Stop Script: /opt/server/myapp-stop.sh

Cada arquivo dará as instruções necessárias para executar e parar o aplicativo.
O conteudo é bem simples, exemplo de como ligar:

#!/bin/bash

java -jar /opt/server/myapp.jar

Para parar, pode ser algo como:

#!/bin/bash
# Grabs and kill a process from the pidlist that has the word myapp

pid=`ps aux | grep myapp | awk '{print $2}'`
kill -9 $pid

2 – Crie um script ‘myscript’ e coloque-o em /etc/init.d.

‘/etc/init.d/myscript’ conteudo: Continuar lendo

Android + Servlet – Como criar um Servlet para tráfego de objetos com o Android


comunicacao

“Servlet (servidorzinho em tradução livre) é um componente como um servidor, que gera dados HTML e XML para a camada de apresentação de uma aplicação Web. É basicamente uma classe na linguagem de programação Java que dinamicamente processa requisições e respostas, proporcionando dessa maneira novos recursos aos servidores. A definição mais usada considera-os extensões de servidores. Servlet é um módulo que estende a funcionalidade de um servidor Web, através de módulos de aplicação implementados em Java.” (Wikipédia)

O objetivo desse post é mostrar como criar um Servlet para se comunicar via objetos com um cliente Android. No exemplo vou utilizar o NetBeans 7.3 com Glassfish e o Android com uma maquina virtual 4.2.2. O objetivo deste post não é explicar toda estrutura do Servlet, mas sim explicar a criação de um projeto simples que receba um objeto e retorne outro.

Vamos iniciar com a criação do Servlet: Continuar lendo

Java – Reflection em uma Constante (how to get a constant in java with class)


java.lang.reflect Simples assim:

[...]

String value = Foo.class.getDeclaredField("THIS_IS_MY_CONST").get(String.class);

[...]

Java – Remover tags HTML de uma String (How to remove HTML from String)


html to text

A classe ParserDelegator junto com a interface HTMLEditorKit.ParserCallback do pacote ‘javax.swing.text.html’ permite o reajuste de um texto em HTML para um texto comum, ajustando todas as tags de acentuação e retirando todas as demais tags. Vamos criar uma classe que será responsável por isso, veja abaixo:

public class HtmlToText extends HTMLEditorKit.ParserCallback {

    private StringBuilder s;

    public HtmlToText() {
    }

public String parse(String texto) throws Exception {
byte[] dados = texto.getBytes();
ByteArrayInputStream bais = new ByteArrayInputStream(dados);
Reader reader = new InputStreamReader(bais);
return parse(reader);
}

    public String parse(Reader in) throws IOException {
        s = new StringBuilder();
        ParserDelegator delegator = new ParserDelegator();
        delegator.parse(in, this, Boolean.TRUE);
        return getText();
    }

    @Override
    public void handleText(char[] text, int pos) {
        s.append(text);
        s.append("\n");
    }

    public String getText() {
        return s.toString();
    }
}

Para utilizarmos segue o exemplo:

Continuar lendo

Java – Criptografia MD5


Sobre a Criptografia MD5

“O MD5 (Message-Digest algorithm 5) é um algoritmo de hash de 128 bits unidirecional desenvolvido pela RSA Data Security, Inc., descrito na RFC 1321, e muito utilizado por softwares com protocolo ponto-a-ponto (P2P, ou Peer-to-Peer, em inglês) na verificação de integridade de arquivos e logins.
Foi desenvolvido em 1991 por Ronald Rivest para suceder ao MD4 que tinha alguns problemas de segurança. Por ser um algoritmo unidirecional, uma hash md5 não pode ser transformada novamente no texto que lhe deu origem. O método de verificação é, então, feito pela comparação das duas hash (uma da mensagem original confiável e outra da mensagem recebida). O MD5 também é usado para verificar a integridade de um arquivo através, por exemplo, do programa md5sum, que cria a hash de um arquivo. Isto pode-se tornar muito útil para downloads de arquivos grandes, para programas P2P que constroem o arquivo através de pedaços e estão sujeitos a corrupção dos mesmos. Como autenticação de login é utilizada em vários sistemas operacionais unix e em muitos sites com autentificação.
Em 2008, Ronald Rivest e outros, publicaram uma nova versão do algoritmo o MD6 com hash de tamanhos 224, 256, 384 ou 512 bytes. O algoritmo MD6 iria participar do concurso para ser o novo algoritmo SHA-3, porém logo depois removeu-o do concurso por considerá-lo muito lento, anunciando que os computadores de hoje são muito lentos para usar o MD6.” (Wikipidia – 2012)
Agora vamos ver como seria sua utilização na linguagem Java.
Continuar lendo

Java – Usando o SimpleDateFormat


Acredito que varias pessoas já tiveram problemas com o objeto Date, ou ajustar uma String de data com formato americano por exemplo.

O SimpleDateFormat é uma Classe bem simples de ser utilizada e totalmente útil para esse assunto. Com o SimpleDateFormat você pode definir seus próprios padrões de data, por exemplo, dd/mm/aaaa, dd/mm/aaaa, aaaa-mm-dd, e assim por diante. Os padrões de letras são definidas na imagem abaixo (todos os outros caracteres de ‘A’ a ‘Z’ e de ‘a’ a ‘z’ são reservados):

Tabela SimpleDateFormat

Abaixo  vamos mostrar um exemplo bem simples da utilização dessa Classe.
Continuar lendo

Como configurar o RoboCode no Netbeans


O que é o RoboCode?

Robocode é um jogo de programação. Ele pode ser usado para ensinar ouaprender a programação em Java ou. NET. Ela pode servir como uma plataformapara explorar AI e técnicas de aprendizagem de máquina. Ou pode ser um hobby,competitiva viciante que consome todo o seu tempo e ciclos de CPU. (http://robowiki.net/wiki/Main_Page)

Download e outras informações: http://robocode.sourceforge.net/

Configurando para o Netbeans

Primeiramente vá em Tools > Libraries…
Continuar lendo