@Schedule(dayOfWeek = "*", hour = "19")
public void METODO() throws Exception {
//ATUALIZA ALGUMA COISA todos os dias as 19h
}
Blog voltado para expor as minhas experiências profissionais sobre erros, bugs e funcionalidades que podem me ajudar futuramente.
sexta-feira, 12 de dezembro de 2014
quarta-feira, 14 de maio de 2014
Pesquisar texto dentro de arquivos do linux
grep -R "texto" /pasta/ | cut -d: -f1 | uniq
* grep -R "texto" /pasta/ = procura texto entre todos os arquivos dessa pasta
* | cut -d: -f1 | uniq = exibe somente o nome dos arquivos que possui esse texto
* grep -R "texto" /pasta/ = procura texto entre todos os arquivos dessa pasta
* | cut -d: -f1 | uniq = exibe somente o nome dos arquivos que possui esse texto
sexta-feira, 8 de novembro de 2013
Habilitar java navegador chrome e firefox
Google Chrome
Torne-se o usuário raiz executando o comando su e digite a senha de superusuário. Digite:
sudo -s
Crie um diretório chamado plugins se você não tiver. Digite:
mkdir -p /opt/google/chrome/plugins
Acesse o diretório de plugins do Google Chrome antes de fazer o link simbólico. Digite:
cd /opt/google/chrome/plugins
Crie um link simbólico. Digite:
ln -s /usr/local/java/jre1.7.0/lib/amd64/libnpjp2.so
Reinicie o navegador e teste o Java
Mozilla Firefox:
Torne-se o usuário raiz executando o comando su e digite a senha de superusuário. Digite:
sudo -s
Crie um diretório chamado plugins se você não tiver. Digite:
mkdir -p /usr/lib/mozilla/plugins
Acesse o diretório de plugins do Google Chrome antes de fazer o link simbólico. Digite:
cd /usr/lib/mozilla/plugins
Crie um link simbólico. Digite:
ln -s /usr/local/java/jre1.7.0/lib/amd64/libnpjp2.so
Reinicie o navegador e teste o Java
Torne-se o usuário raiz executando o comando su e digite a senha de superusuário. Digite:
sudo -s
Crie um diretório chamado plugins se você não tiver. Digite:
mkdir -p /opt/google/chrome/plugins
Acesse o diretório de plugins do Google Chrome antes de fazer o link simbólico. Digite:
cd /opt/google/chrome/plugins
Crie um link simbólico. Digite:
ln -s /usr/local/java/jre1.7.0/lib/amd64/libnpjp2.so
Reinicie o navegador e teste o Java
Mozilla Firefox:
Torne-se o usuário raiz executando o comando su e digite a senha de superusuário. Digite:
sudo -s
Crie um diretório chamado plugins se você não tiver. Digite:
mkdir -p /usr/lib/mozilla/plugins
Acesse o diretório de plugins do Google Chrome antes de fazer o link simbólico. Digite:
cd /usr/lib/mozilla/plugins
Crie um link simbólico. Digite:
ln -s /usr/local/java/jre1.7.0/lib/amd64/libnpjp2.so
Reinicie o navegador e teste o Java
quarta-feira, 6 de novembro de 2013
Java no glassfish
se der o erro:
./asadmin: 52: exec: java: not found
ou precisar vincular especificar o caminho do java no glassfish, faça:
- abra o arquivo:
"PASTAGLASSFISH/glassfish/config/asenv.conf"
- adicione a linha:
"AS_JAVA="CAMINHODOJAVA""
ex. AS_JAVA="/usr/java/jdk1.6.0"
./asadmin: 52: exec: java: not found
ou precisar vincular especificar o caminho do java no glassfish, faça:
- abra o arquivo:
"PASTAGLASSFISH/glassfish/config/asenv.conf"
- adicione a linha:
"AS_JAVA="CAMINHODOJAVA""
ex. AS_JAVA="/usr/java/jdk1.6.0"
segunda-feira, 4 de novembro de 2013
Arrumando data ubuntu
1. entra no site http://www.horariodebrasilia.org/ como parâmetro.
2. execute o comando "$ sudo date 110416262013", sendo MMddkkssyyyy
obs.: MM-mês, dd-dia, kk-hora formato24h, ss-segundos e yyyy- ano
2. execute o comando "$ sudo date 110416262013", sendo MMddkkssyyyy
obs.: MM-mês, dd-dia, kk-hora formato24h, ss-segundos e yyyy- ano
quinta-feira, 17 de outubro de 2013
glassfish Error in linking security policy
Error occurred during deployment: Exception while loading the app : Error in linking security policy
Solução:
- stop glassfish;
- excluir todos os arquivos da pasta PASTAGLASSFISH/glassfish/domains/SEUDOMINIO/generate/;
- iniciar o glassfish;
- tentar o deploy novamente.
Solução:
- stop glassfish;
- excluir todos os arquivos da pasta PASTAGLASSFISH/glassfish/domains/SEUDOMINIO/generate/;
- iniciar o glassfish;
- tentar o deploy novamente.
quinta-feira, 1 de agosto de 2013
Alterando o shmmax e shmall do postgresql
$ sysctl -w kernel.shmmax= 147374080
$ sysctl -w kernel.shmall=2097152
Pra alterar de vez, porém será necessário reiniciar.
$ sudo vi /etc/sysctl.conf
Adiciona as linhas no final do arquivo:
Pra alterar de vez, porém será necessário reiniciar.
$ sudo vi /etc/sysctl.conf
Adiciona as linhas no final do arquivo:
kernel.shmmax=147374080
kernel.shmall=2097152
quarta-feira, 3 de julho de 2013
Liberando acesso remoto postgresql
os arquivos podem ser encontrados nos caminhos:
- /var/lib/pgsql/data/
- /etc/postgresql/9.1/
- /usr/share/postgresql/
- /usr/share/postgresql/
1. Altere o arquivo pg_hba.conf colocando:
host all all 0.0.0.0/0 md5
ou coloquei o ip de um pc fixo.
2. Abrir o arquivo postgresql.conf alterando:
listen_addresses='localhost'
para
2. Abrir o arquivo postgresql.conf alterando:
listen_addresses='localhost'
para
listen_addresses='*'
ou coloca um ip de uma máquina com ip fixo
3. Reinicie o servico do postgres:
/etc/init.d/postgresql restart
ou coloca um ip de uma máquina com ip fixo
3. Reinicie o servico do postgres:
/etc/init.d/postgresql restart
terça-feira, 2 de julho de 2013
Liberar acesso remoto glassfish
1.Entre na pasta bin do glassfish e pare o servidor caso ele esteja rodando. Execute o seguinte comando:
$ ./asadmin stop-domain
2.Execute o seguinte comando e defina uma senha. Vai pedir a senha atual que por padrão é: changeit
$ ./asadmin change-master-password
3.Inicie o servidor com o seguinte comando
$ ./asadmin start-domain
4. Defina uma senha administrativa, para acesso remoto. Vai pedir a senha atual que vazio ou por padrão é: adminadmin
$ ./asadmin change-admin-password
5.Faça a liberação para acesso remoto
$ ./asadmin enable-secure-admin
$ ./asadmin stop-domain
2.Execute o seguinte comando e defina uma senha. Vai pedir a senha atual que por padrão é: changeit
$ ./asadmin change-master-password
3.Inicie o servidor com o seguinte comando
$ ./asadmin start-domain
4. Defina uma senha administrativa, para acesso remoto. Vai pedir a senha atual que vazio ou por padrão é: adminadmin
$ ./asadmin change-admin-password
5.Faça a liberação para acesso remoto
$ ./asadmin enable-secure-admin
Alterar senha do postgresql para o primeiro acesso
Entrar como usuário root para criar(alterar) a senha do postgres:
1.Informe a senha de root
$ su root
2.Informe a nova senha do postgres
$ passwd postgres
3. Trocar para o usuário postgres
$ su postgres
Para alterar senha do PostgreSQL 7 ou superior:
$ psql -c "ALTER USER postgres WITH PASSWORD 'novasenha'" -d postgres
Para alterar senha do PostgreSQL 6:
$ psql -c "ALTER USER postgres WITH PASSWORD novasenha" -d postgres
Instalar JDK 7 no ubuntu
Se for ubuntu server é necessário instalar sudo apt-get install python-software-properties
- sudo add-apt-repository ppa:webupd8team/java
- sudo apt-get update
- sudo apt-get install oracle-java7-installer
segunda-feira, 11 de junho de 2012
Problema com acentuação no JSF
Tente colocar no <head> do seu template:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />fica assim:
<h:head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link href="#{facesContext.externalContext.request.contextPath}/resources/css/default.css" rel="stylesheet" type="text/css" /> <link href="#{facesContext.externalContext.request.contextPath}/resources/css/cssLayout.css" rel="stylesheet" type="text/css" /> <title>Sistema INSG</title></h:head>
Se a acentuação continuar com o problema tente colocar no sun-web.xml:
<parameter-encoding default-charset="UTF-8"/>fica assim:
<sun-web-app error-url=""> <parameter-encoding default-charset="UTF-8"/> <context-root>/SeuSistema</context-root> <class-loader delegate="true"/> <jsp-config> <property name="keepgenerated" value="true"> <description>Keep a copy of the generated servlet class' java code.</description> </property> </jsp-config> </sun-web-app>
quinta-feira, 31 de maio de 2012
Quebra de linha utilizando h:outputText
Utilize o "<br />" na string para a quebra de linha e no outputText utilize o escape="false".
ex.:
<h:outputText value="#{seuBackBean.suaString}" escape="false"/>
ex.:
<h:outputText value="#{seuBackBean.suaString}" escape="false"/>
sexta-feira, 25 de maio de 2012
Instalando fontes no ubuntu
1. Entre na pasta fonts usando:
cd /usr/share/fonts/
cd /usr/share/fonts/
2. Crie uma pasta relacionada ao tipo de fonte, no meu caso usarei fontes específicas para relatórios do meu sistema, então ficará:
sudo mkdir relatorios
3. Então copie para dentro da pasta as fontes:
sudo cp localdattf/minhafonte.ttf /usr/share/fonts/relatorios
4. Depois uso o fc-cache pra atualizar as fontes do sistema sem precisar reiniciar:
sudo fc-cache -f -v
3. Então copie para dentro da pasta as fontes:
sudo cp localdattf/minhafonte.ttf /usr/share/fonts/relatorios
4. Depois uso o fc-cache pra atualizar as fontes do sistema sem precisar reiniciar:
sudo fc-cache -f -v
terça-feira, 22 de maio de 2012
Remover acento de uma String
utilizo o Normalizer e depois o replaceAll pra limpar a string
public String retiraacento(String str) {
str = Normalizer.normalize(str, Normalizer.Form.NFD);
str = str.replaceAll("[^\\p{ASCII}]", "");
return str;
}
*Nota: idéia tirada do site Java free
quarta-feira, 16 de maio de 2012
Converter Calendar por String utilizando uma linha
new java.text.SimpleDateFormat("dd/MM/yyyy").format(SEUCALENDAR.getTime())
*Nota: Troque SEUCALENDAR pela data do seu sistema.
*Nota: Troque SEUCALENDAR pela data do seu sistema.
terça-feira, 15 de maio de 2012
Enviar email pelo java utilizando javamail e jsf
1. Faça o download da biblioteca JavaMail no site (aqui).
2. Crie uma classe chamada SendMail e copie os dados da classe abaixo dentro deste arquivo.
-- classe SendMail --
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
//clase que retorna uma autenticacao para ser enviada e verificada pelo servidor smtp
public class SendMail {
private String mailSMTPServer;
private String mailSMTPServerPort;
/*
* quando instanciar um Objeto ja sera atribuido o servidor SMTP do GMAIL
* e a porta usada por ele
*/
public SendMail() { //Para o GMAIL
mailSMTPServer = "smtp.gmail.com";
mailSMTPServerPort = "465";
}
/*
* caso queira mudar o servidor e a porta, so enviar para o contrutor
* os valor como string
*/
public SendMail(String mailSMTPServer, String mailSMTPServerPort) { //Para outro Servidor
this.mailSMTPServer = mailSMTPServer;
this.mailSMTPServerPort = mailSMTPServerPort;
}
public void sendMail(String from, String to, String subject, String message) {
Properties props = new Properties();
// quem estiver utilizando um SERVIDOR PROXY descomente essa parte e atribua as propriedades do SERVIDOR PROXY utilizado
/*
props.setProperty("proxySet","true");
props.setProperty("socksProxyHost","192.168.155.1"); // IP do Servidor Proxy
props.setProperty("socksProxyPort","1080"); // Porta do servidor Proxy
*/
props.put("mail.transport.protocol", "smtp"); //define protocolo de envio como SMTP
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", mailSMTPServer); //server SMTP do GMAIL
props.put("mail.smtp.auth", "true"); //ativa autenticacao
props.put("mail.smtp.user", from); //usuario ou seja, a conta que esta enviando o email (tem que ser do GMAIL)
props.put("mail.debug", "true");
props.put("mail.smtp.port", mailSMTPServerPort); //porta
props.put("mail.smtp.socketFactory.port", mailSMTPServerPort); //mesma porta para o socket
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
//Cria um autenticador que sera usado a seguir
SimpleAuth auth = null;
auth = new SimpleAuth("EMAILQUEENVIARA", "SENHA");
//Session - objeto que ira realizar a conexão com o servidor
/*Como há necessidade de autenticação é criada uma autenticacao que
* é responsavel por solicitar e retornar o usuário e senha para
* autenticação */
Session session = Session.getInstance(props, auth);
session.setDebug(true); //Habilita o LOG das ações executadas durante o envio do email
//Objeto que contém a mensagem
Message msg = new MimeMessage(session);
try {
//Setando o destinatário
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
//Setando a origem do email
msg.setFrom(new InternetAddress(from));
//Setando o assunto
msg.setSubject(subject);
//Setando o conteúdo/corpo do email
msg.setContent(message, "text/plain");
} catch (Exception e) {
System.out.println(">> Erro: Completar Mensagem");
e.printStackTrace();
}
//Objeto encarregado de enviar os dados para o email
Transport tr;
try {
tr = session.getTransport("smtp"); //define smtp para transporte
/*
* 1 - define o servidor smtp
* 2 - seu nome de usuario do gmail
* 3 - sua senha do gmail
*/
tr.connect(mailSMTPServer, "EMAILQUEENVIARA", "SENHA");
msg.saveChanges(); // don't forget this
//envio da mensagem
tr.sendMessage(msg, msg.getAllRecipients());
tr.close();
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println(">> Erro: Envio Mensagem");
e.printStackTrace();
}
}
}
class SimpleAuth extends Authenticator {
public String username = null;
public String password = null;
public SimpleAuth(String user, String pwd) {
username = user;
password = pwd;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
}
*Lembrando que os dados do EMAILQUEENVIARA e SENHA será substituido pelos seus dados.
*Também lembrando que está configurado para utilizar o gmail, se deseja utilizar outro email precisará alterar o método:
public SendMail() { //Para o GMAIL
mailSMTPServer = "smtp.gmail.com";
mailSMTPServerPort = "465";
}
2. Enviando o email
try {
new SendMail().sendMail(DEQUEM, PARAQUEM, ASSUNTODOEMAIL, CORPODOEMAIL);
} catch (Exception ex) {
throw new Exception("Erro no envio do email." + ex.getMessage());
}
*Lembrando que o CORPODOEMAIL pode ser HTML para ajudar na formatação.
segunda-feira, 14 de maio de 2012
Atualização da sequence no postgresql
Execute o comando abaixo pelo pgadmin.
BEGIN;
SELECT setval('nomedasuasequencia1', max(id)+1) FROM nomedatabela1;
SELECT setval('nomedasuasequencia2', max(id)+1) FROM nomedatabela2;
SELECT setval('nomedasuasequencia3', max(id)+1) FROM nomedatabela3;
END;
BEGIN;
SELECT setval('nomedasuasequencia1', max(id)+1) FROM nomedatabela1;
SELECT setval('nomedasuasequencia2', max(id)+1) FROM nomedatabela2;
SELECT setval('nomedasuasequencia3', max(id)+1) FROM nomedatabela3;
END;
Formatar data e cpf no h:inputText
1. Primeiro crie um arquivo do tipo JavaScript file na sua IDE, depois copie o texto abaixo nele.
-- texto do javascript que será copiado dentro do arquivo --
function mascaraData(elemento, event){
/* 8 = backspace; 9 = tab */
if (event.keyCode == 8 || event.keyCode == 9)
return true;
if (elemento.value.length >= 10)
return false;
if (elemento.value.length == 2)
{
elemento.value += '/' ;
return true;
}
else if (elemento.value.length == 5)
{
elemento.value += '/';
return true;
}
return true;
}
function mascaraCPF(elemento, event)
{
if (event.keyCode == 8 || event.keyCode == 9)
return true;
if (elemento.value.length >= 12)
return false;
else if (elemento.value.length == 9 && event.keyCode != 8)
{
elemento.value += '-';
return true;
}
return true;
}
2. Adicione a referencia no seu template.
-- como ficará o <head> do seu site com a referencia do java script --
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="#{facesContext.externalContext.request.contextPath}/css.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="#{facesContext.externalContext.request.contextPath}/NOMEDOSEUJAVASCRIPT.js"/>
<title>titulo do seu site</title>
</head>
* Lembrando que você deve alterar o NOMEDOSEUJAVASCRIPT.js pelo nome do arquivo que você criou.
3. Adicionando o formato no h:inputText.
<h:inputText value="#{backbean.objeto.nascimento}" id="txtDtNascimento" onkeypress="return mascaraData(this, event)" converter="CalendarConverter"/>
<h:inputText value="#{backbean.objeto.cpf}" id="txtcpf" onkeypress="return mascaraCPF(this, event)"/>
-- texto do javascript que será copiado dentro do arquivo --
function mascaraData(elemento, event){
/* 8 = backspace; 9 = tab */
if (event.keyCode == 8 || event.keyCode == 9)
return true;
if (elemento.value.length >= 10)
return false;
if (elemento.value.length == 2)
{
elemento.value += '/' ;
return true;
}
else if (elemento.value.length == 5)
{
elemento.value += '/';
return true;
}
return true;
}
function mascaraCPF(elemento, event)
{
if (event.keyCode == 8 || event.keyCode == 9)
return true;
if (elemento.value.length >= 12)
return false;
else if (elemento.value.length == 9 && event.keyCode != 8)
{
elemento.value += '-';
return true;
}
return true;
}
2. Adicione a referencia no seu template.
-- como ficará o <head> do seu site com a referencia do java script --
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="#{facesContext.externalContext.request.contextPath}/css.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="#{facesContext.externalContext.request.contextPath}/NOMEDOSEUJAVASCRIPT.js"/>
<title>titulo do seu site</title>
</head>
* Lembrando que você deve alterar o NOMEDOSEUJAVASCRIPT.js pelo nome do arquivo que você criou.
3. Adicionando o formato no h:inputText.
<h:inputText value="#{backbean.objeto.cpf}" id="txtcpf" onkeypress="return mascaraCPF(this, event)"/>
Assinar:
Postagens (Atom)