Metodo simples para copiar arquivos.E necessario ter os arquivos Files de origem(src) e destino(dst) ja mapeados.private static File copy(File src, File dst) throws IOException { InputStream in = new FileInputStream(src); OutputStream out = new FileOutputStream(dst); // transfere bytes byte[] buf = new byte[1024]; int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } in.close(); out.close(); return dst;} Este blog sera dedicado a dicas de engenharia de software, tecnologia java e web.AguardemFred Belisariowww.ydartes.com.br Criar um servico web e simples, mas da mais problemas que deveria.Antes de comecar a escrever o codigo e definir onde hospedar e como hospedar. Bons servidores integram as anotacoes @Webmethod ja no deploy, se o objetivo e usar um servidor de aplicacao menor, como Tomcat, nosso aplicativo tem que ser direcionado a fazer isso.Aqui vamos usar o Tomcat como servidor e jax-ws como fornecedor do WS.Crie no Eclipse uma aplicacao web, dinamica, pelo amor de Deus.Ah! Issoe bem parecido com inumeros outras implementacoes, apenas facilitei e reorganizei para meu entendimento e para eu parar de procurar toda hora no google.1 Criar o servico web.Criando a classe Hello, com um contrutor e apenas 2 anotacoes necessarias para gerar o webservice:package helloservice.endpoint;import javax.jws.WebMethod;import javax.jws.WebService;@WebServicepublic class Hello { private String message = new String("Hello, "); public Hello() {} @WebMethod() public String sayHello(String name) { return message + name + "."; }}2 Criada a classe, vamos compilar, crtl + b ou buld automatico.3 usar o wsgen, fica no diretorio bin do java 6.No diretorio classes executo o wsgen: (reparem estou no build\classes, abaixo deste diretorio esta minha estrutura de pacotes ja compilada)F:\Java\workspace\tutorial\SayHelloServer\build\classes>wsgen -cp . helloservice.endpoint.Hello -wsdl -s ..\..\src\Hello -> nome da classe-s diretorio de destino dos sourcecodes, caso ache necessario.-wsdl para gerar o wsdl nao e necessario, pois ao publicar os servicos ele estara visivel.-cp classpathOpcoes completas em http://download.oracle.com/javase/6/docs/technotes/tools/share/wsgen.html4 na pasta WEB-INF\lib devemos colocar os jar do jax-ws. As classes contidas nele podem tambem ficar no diretorio de libs do container.jaxb-api.jar14/jaxb-impl.jarjaxws-api.jarjaxws-rt.jarjaxws-tools.jarstax-ex.jartreambuffer.jar5 Alterar o web.xml.Insira o conteudo abaixo: com.sun.xml.ws.transport.http.servlet.WSServletContextListener WSServlet com.sun.xml.ws.transport.http.servlet.WSServlet 1 WSServlet /service/* 6 crie no diretorio WEB-INF o arquivo sun-jaxws.xml 7 - Rode a aplicacao.No endereco abaixo voce podera ver o servico funcionando e link para o wsdl.http://localhost:8080/SayHelloServer/service/hello Primeiro passo, criar a fila jms no arquivo xml de configuracao de filas, "\servers\jboss-4.2.3.GA\server\default\deploy\jms\jbossmq-destinations-service.xml, incluindo trecho: jboss.mq:service=DestinationManager 60000 0apos a fila criada, implementar o bean que ira incluir as mensagens na filam nesse cara um objeto MeuVOpublic class MeuBean{ @Resource(mappedName = "java:/ConnectionFactory") private ConnectionFactory connectionFactory; @Resource(mappedName = MeuConsumidorMDB.QUEUE) private Queue queue; @Override public void inserirNaFila(MeuVO meuVo) throws EJBException { Connection connection = null; Session session = null; MessageProducer sender = null; try { connection = connectionFactory.createConnection(); session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE); sender = session.createProducer(queue); sender.send(session.createObjectMessage(meuVo)); } catch (Exception e) { throw new EJBException(e); } finally { try { if (sender != null) sender.close(); if (session != null) session.close(); if (connection != null) connection.close(); }catch (Exception e) { throw new EJBException(e); } } }}Chamando esse bean, pode ser verificado que a fila ira crescer ate que seja consumida, no jmx-console, busque sua fila em jboss.mq.destination.Para consumir essa fila, um MDB e criado:@MessageDriven(activationConfig =