Java 7 JDK debian 8.5

Tags

1 – Como root, crie o arquivo “java-8-debian.list”:

#vim /etc/apt/sources.list.d/java-8-debian.list

2 – Adicione o seguinte conteúdo no arquivo:

deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main

3 – Agora importe a chave GPG no sistema para validação dos pacotes antes da instalação

#apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886

4 – Execute, como root:

#apt-get update
#apt-get install oracle-java7-installer

5 – Verifique a instalação

#java -version

Exibirá algo como:

java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

Algorithm negotiation failed for SSH Secure Shell Client

ssh

1 – No servidor, Edite o arquivo “/etc/ssh/sshd_config”

# vim /etc/ssh/sshd_config

2 – E adicione o seguinte conteudo:

# Ciphers
Ciphers aes128-cbc,aes192-cbc,aes256-cbc,blowfish-cbc,arcfour
KexAlgorithms diffie-hellman-group1-sha1

 

3 – Reinicie o serviço

#/etc/init.d/ssh restart

3 – Ou Reinicie o servidor

#reboot

 
fonte: https://linuxcluster.wordpress.com/2016/08/15/algorithm-negotiation-failed-for-ssh-secure-shell-client/

Configuração de rede no CentOS

Tags

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

Exemplo via DHCP:

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp

Exemplo via IP fixo:

DEVICE=eth0
TYPE=Ethernet
IPADDR=192.168.1.198
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes

# vim /etc/resolv.conf
# DNS DO GOOGLE
nameserver 8.8.8.8
nameserver 8.8.4.4

# service network restart
Ou:
# /etc/init.d/network restart

Exemplo descomplicado JSF2 + EJB3 + PRIMEFACES

Neste exemplo podemos encontrar:
– Um sistema CRUDE completo JSF2;
– Persistencia com EJB3;
– Injeção de dependencia via anotação @EJB;
– @ViewScope com @PostConstruct;
– Validação e messagens JSF;
– Utilização da tag <f:ajax />;
– Utilização de skins diferenciados via parametro de contexto “primefaces.THEME” no web.xml;
– Utilização de templates via facelets;

Primeiro você deve ter um ambiente com JDK6, JBOSS 6.0, Eclipse J2EE WTP + JBOSS Tools Plugin – Breve farei um post ensinando como configurar este ambiente.

Baixo o exemplo completo aqui: ejbjsf2.war

Use a opcao do eclipse Import->WAR file …

Depois de clikar finish vc vai ter a aplicação pronta para analise.

Bom, vamos analizar alguns passos que foram utilizados para criar a aplicação:

1 – A aplicação foi criada como um “Dynamic Web Projec”, foi selecionado JBoss 6 comO Targe runtime, servlet 3.0, configuração custom para inserir o JSF2, foi marcada a opção para gerar o web.xml e escolhido a extensão *.xhtml para o JSF;

2 – Depois é montada a aplicação na seguinte estrutura:

2.1 – Dentro de src foi criado a pasta META-INF e um arquivo persistence.xml. Este é o arquivo responsavel pela conexão de bando de dados do JPA utilizado pelos EJB. No caso, inicialmente eu fiz uma configuração utilizando um data source Oracle chamado FrankleyDS que configurei dentro da pasta do JBOSS, mas comentei e fiz uma configuração utilizando o DefaultDS que já vem preconfigurado para melhor portabilidade do exemplo. Feito isso tá pronto a conexão com o banco;

2.2 – Foi criado a classe “Contato.java” dentro do pacote “modelo”:
-implementa Serializable;
– tem a anotação @Entity para indicar que é uma entidade de persistencia;
– tem a anotação @SequenceGenerator(name = “SEQ_CONTATO”, sequenceName = “SEQ_CONTATO”,allocationSize=0,initialValue=1) é para funcionamento em conjunto com oracle (Não é obrigatoria para o exemplo, mas não faz mau deixar);
– temos a anotação @Id;
– a anotação @GeneratedValue( generator = “SEQ_CONTATO” , strategy = GenerationType.SEQUENCE) tambem é para funcionamento em conjunto com oracle (basta por @GeneratedValue para funcionar o exemplo, tambem não faz mau deixar como está)
Feito isto já temos o nosso Mapeamento Objeto Relacional;

2.3 – Foi criado a Interface IContatoBO no pacote “negocio” que serve para especificar nosso EJB;

2.4 – Foi criado a Classe ContatoBO que é nosso EJB:
– vemos a anotação @Stateless, quer dizer que vai ser um bean que não guarda estado e por isso consome menos memoria;
– vemos a anotação @Local, quer dizer que a comunicação com o EJB vai ser em modo local, os beans não serão serializados e nem vai ser possivel acessar remotamente este EJB;
– a anotação @PersistenceContext é que faz nosso trabalho sujo. Ela indica que vai ser injetado nossa persistence-unit “sample”, que configuramos no nosso persistence.xml, no objeto EntityManager em. Isso vai acontecer porque nois temos apenas uma persistence-unit configurada no nosso projeto, caso tenhamos mais de uma somos obrigados a colocar por exemplo @PersistenceContext(name=”sample”);
Feito isto temos nosso EJB pronto para uso;

2.5 – Foi criado a classe ContatoBean que é o famoso Bean JSF:
– No JSF2, eu não preciso mais configurar faces-config.xml basta por a anatação @ManagedBean para o bean ficar disponivel para o xhtml;
– E colocar a anotation para representar o escopo do bean @ViewScoped, @RequestScoped, @SessionScoped ou @ApplicationScoped. No nosso caso colocamos @ViewScoped para indicar que o bean vai ter escopo de Visão (Novo no JSF2 – Enquanto não trocar de pagina o bean sera mantido na memoria, quase igual a @SessionScoped);
(Ps.: Atentar para na hora de importar essas anotações utilizar o pacote javax.faces.bean.* );
– Temos a anotação @EJB, que é o cora que vai dizer pro JBoss que o nosso objeto IContatoBO contatoBO é um EJB e vai injeta-lo no noss bean jsf. Porem esta injecão ocorre um pouco depois de nosso objeto ser criado na memoria e como estamos utilizando o view scope, não podemos colocar a linha listaContato = contatoBO.listar(); no construtor do Bean JSF. Pois vai dar bilha e por isso existe a anotação @PostConstruct que deve ser colocada em um metodo qualquer sem retorno, exemplo public void construct() – Já tá bem esplicadinho no comentario do codigo.
– Tambem vemos que as actions não precisam ter retorno String, podem ser void;
Pronto temos nosso Bean JSF pronto.

2.6 – Não precisamos de muita configuração, já que o JBoss 6.0 já traz o mojara 2.0 configurado de cara, basta adicionar a biblioteca do primefaces (primefaces-2.2.1.jar) e os temas do primefaces que utilizei para teste bluesky (bluesky-1.0.1.jar) e hot-sneaks (hot-sneaks-1.0.1.jar) e jogar tudo detro do WEB-INF/lib da aplicação.
A configuração do web.xml ficou bem simples, no caso as bobagem de sempre do JSF e nossa escolha do tema “bluesky” para o primefaces ficar com a cara do RichFaces. Caso queira pode por o “hot-sneaks” no lugar já que já tem o “.jar” dele dentro da lib. E a faces-config.xhtml foi criado só pra desencargo de consciencia.

2.7 – foi criado uma pasta templates com os .xhtml: template.xhtml, header.xhtml e footer.xhtml que são os templates de facelet para nossa aplicação.

2.7 – Foi criado uma index.jsp, apenas para redirecionar para contato.xhtml, não sei pq carga dágua esse trem não funfou de forma direta se eu boto um index.xhtml.

2.8 – E foi criado o contato.xhtml utilizando primefaces, primefaces não precisa de configuração no JSF2.
achei interessante que não foi preciso utilizar mais o a4j, em vez diso utilizei o <f:ajax > do JSF2
o resto foi mais pra enfeitar, como as mensagens, validação essas balelas todas.

E Finalmente a Aplicação rodando, ficou biita pra caramba – meninim de papai …

Tentei me ater a explicar mais a parte de background que foi o que mudou + no JSF2.
Bom, espero que este exemplo ajude você que esta lendo este post.

Vai dando uma pesquisada ae,
e espera o proximo post, que é como montar o ambiente.
Sei que devia vir primeiro mais enfim – Jorge Lucas, lançou o Star War 4,5 e 6 antes do 1,2 e 3.
Vlw, tou é com sono …
😉