Anotar a Classe com
@Component
=========================================================
Anotar o método com
@Scheduled(cron = "* * 0 * * ?")
cron = segundos, minutos, hora, dia, mês
cron = "* * 0 * * ?" -> meia noite
cron = "*/5 * * * * ?" -> a cada 5 segundos
cron = "* 2/5 * * * ?" -> apartir do segundo minuto a cada 5 minutos
cron = "5 30 5 * * ?" -> 5:30:05 AM
=========================================================
Incluir no context do spring
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd"
>
<task:annotation-driven/>
...
</beans>
========================================================
Fonte: http://howtodoinjava.com/2013/04/23/4-ways-to-schedule-tasks-in-spring-3-scheduled-example/
quarta-feira, 31 de julho de 2013
Import xml do excel em java com Xstream
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package teste.xml.excel;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.mapper.MapperWrapper;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.URLDecoder;
import java.util.List;
/**
*
* @author smart
*/
public class Teste {
public static void main(String[] args) throws IOException, Exception {
Teste t = new Teste();
XStream xstream = t.getXStream();
xstream.setMode(XStream.NO_REFERENCES);
xstream.alias("Workbook", Teste.Workbook.class);
xstream.addImplicitArray(Teste.Workbook.class, "Worksheet", Teste.Worksheet.class);
xstream.alias("Table", Teste.Table.class);
xstream.addImplicitArray(Teste.Table.class, "Row", Teste.Row.class);
xstream.addImplicitArray(Teste.Row.class, "Cell", Teste.Cell.class);
xstream.alias("Cell", Teste.Cell.class);
xstream.alias("Data", String.class);
Teste.Workbook o = (Teste.Workbook) xstream.fromXML(new File("/home/smart/NetBeansProjects/Teste Rest/build/classes/teste/xml/excel/excel.xml"), new Teste.Workbook());
System.out.println(o);
}
public XStream getXStream() {
XStream xstream = new XStream() {
@Override
protected MapperWrapper wrapMapper(MapperWrapper next) {
return new MapperWrapper(next) {
@Override
public boolean shouldSerializeMember(Class definedIn, String fieldName) {
if (definedIn == Object.class) {
return false;
}
return super.shouldSerializeMember(definedIn, fieldName);
}
};
}
};
return xstream;
}
private String getURIArquivo(String arquivo) throws Exception {
URL is = this.getClass().getResource(arquivo);
if (is == null) {
is = this.getClass().getClassLoader().getResource(arquivo);
}
return URLDecoder.decode(is.toString(), "UTF-8");
}
static class Workbook {
private List<Worksheet> Worksheet;
public List getWorksheet() {
return Worksheet;
}
public void setWorksheet(List Worksheet) {
this.Worksheet = Worksheet;
}
}
static class Worksheet {
private Teste.Table Table;
public Teste.Table getTable() {
return Table;
}
public void setTable(Teste.Table Table) {
this.Table = Table;
}
}
static class Table {
private List<Row> Row;
public List getRow() {
return Row;
}
public void setRow(List Row) {
this.Row = Row;
}
}
static class Row {
private List<Cell> Cell;
public List getCell() {
return Cell;
}
public void setCell(List Cell) {
this.Cell = Cell;
}
}
static class Cell {
private String Data;
public String getData() {
return Data;
}
public void setData(String Data) {
this.Data = Data;
}
}
}
segunda-feira, 29 de julho de 2013
Por que as letras do teclados não estão em ordem alfabética?
QWERTY é o layout de teclados atualmente mais utilizado em computadores e máquinas de escrever. O nome vem das primeiras 6 letras “QWERTY”.
A disposição das teclas foi patenteada por Christopher Sholes em 1868 e vendido à Remington em 1873, quando foi visto pela primeira vez em máquinas de escrever. Nota: Qwerty Uiop, seqüência de letras da primeira fileira, às vezes é confundido com o inventor, mas isso não passa de um mito.
Outros padrões foram propostos, como o Dvorak (imagem a baixo), mas nunca atingiram a mesma popularidade do QWERTY.
O layout QWERTY é adotado com alterações em algumas línguas formando os teclados AZERTY e o QWERTZ, em que as letras Y e Z estão trocadas. Símbolos, diacríticos e caracteres acentuados estão em posições diferentes nas variações internacionais do QWERTY.
Curiosamente, a palavra “typewriter” (máquina de escrever, em inglês) pode ser escrita utilizando-se apenas as letras contidas na linha superior do teclado (QWERTYUIOP).
sexta-feira, 26 de julho de 2013
Limpar conteúdo de componentes jsf
/** * Limpa os dados dos componentes de edição e de seus filhos, * recursivamente. Checa se o componente é instância de * EditableValueHolder e 'reinicia' suas propriedades. */ public void cleanSubmittedValues(UIComponent component) { if (component instanceof EditableValueHolder) { EditableValueHolder evh = (EditableValueHolder) component; evh.setSubmittedValue(null); evh.setValue(null); evh.setLocalValueSet(false); evh.setValid(true); } if(component.getChildCount()>0){ for (UIComponent child : component.getChildren()) { cleanSubmittedValues(child); } } } }
Fonte: https://github.com/rponte/jsf-loja-project/blob/master/src/br/com/triadworks/loja/util/FacesUtils.java#L58
sexta-feira, 12 de julho de 2013
quarta-feira, 10 de julho de 2013
Assinar:
Postagens (Atom)