Ola Pessoal,Afinal, o que e um DataSource?DataSource e uma forma de guardar as configuracoes de conexao com o banco de dados, como por exemplo, deixa-las em um arquivo xml, evitando assim, que as mesmas nao ficam fixas no seu codigo Java.Neste exemplo, sera criado um DataSource que sera usado no servidor JBoss 4, a vantagem de usar o JBoss, e que o DS pode ser criado diretamente na pasta de deploy, proporcionando mais liberdade para o desenvolvedor.A estrutura do arquivo xml do DS, e definida logo abaixo:<datasources> <local-tx-datasource> <jndi-name>jdbc/CLIENTEDS</jndi-name> <connection-url>URL</connection-url> <driver-class>DRIVER_CLASSE</driver-class> <user-name>USUARIO</user-name> <password>SENHA</password> </local-tx-datasource></datasources>Legenda:CLIENTEDS = Nome da datasource que sera configurada em sua aplicacaoURL = Endereco de sua baseDRIVER_CLASSE = Driver de acesso ao banco de dadosUSUARIO = Usuario de acesso base de dadosSENHA = Senha de acesso a base de dadosPor exemplo, vamos configurar, para acessar o banco de dados MySQL:Crie um arquivo xml, com o nome de database-ds.xml, salve este arquivo no seguinte diretorio: DIRETORIO_DO_SEU_JBOSS/server/default/deployNo conteudo do arquivo, deixei configurado assim:<?xml version="1.0" encoding="UTF-8" ?><datasources> <local-tx-datasource> <jndi-name>jdbc/databaseDS</jndi-name> <connection-url>jdbc:mysql://localhost:3306/java</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>root</user-name> <password>root</password> <min-pool-size>5</min-pool-size> <max-pool-size>30</max-pool-size> <idle-timeout-minutes>1</idle-timeout-minutes> <prepared-statement-cache-size>32</prepared-statement-cache-size> </local-tx-datasource></datasources>database-ds.xmlObs.: Nao esqueca de colocar o jar do driver do MySQL, no seguinte diretorio: DIRETORIO_DO_SEU_JBOSS/server/default/libBom, para testar o DataSource, vamos criar um novo projeto web no Eclipse, chamado ExemploDataSource.Crie um novo file, chamado persistence.xml, dentro da pasta WebContent/META-INF.<?xml version="1.0" encoding="UTF-8"?><persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="PessoaJPAData" transaction-type="JTA"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>java:/jdbc/databaseDS</jta-data-source> <properties> <property name="hibernate.hbm2ddl.auto" value="update" /> </properties> </persistence-unit></persistence>persistence.xmlDefinimos o nome do persistence-unit;Usamos o Hibernate como provedor JPA;Colocamos o nome do DS no jta-data-source;E, por fim, defiminos, que o Hibernate crie automaticamente nossas tabelas do BD.Agora, vamos criar um Servlet, chamado ServletDS.package com.blogspot.jabesfelipe.servlet;import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import javax.naming.Context;import javax.naming.InitialContext;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.sql.DataSource;public class ServletDS extends HttpServlet { private static final long serialVersionUID = 1L; private void processarRequisicao(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); try { Context context = new InitialContext(); DataSource dataSource = (DataSource) context.lookup("java:jdbc/databaseDS"); Connection connection = dataSource.getConnection(); out.println("Conectado, atraves da JNDI!"); connection.close(); } catch(Exception e) { e.printStackTrace(); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processarRequisicao(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processarRequisicao(request, response); } }ServletDS.javaAtraves da JNDI, acessamos nosso DataSource, para testar, inicialize seu JBoss, e digite o endereco: http://localhost:8080/ExemploDataSource/ServletDSBom galera, este foi um exemplo de como criar um DataSource no JBoss, e usa-lo em uma aplicacao.Para quem quiser baixar o exemplo, clique aqui.Qualquer duvida, critica ou sugestao, fico a disposicao. Ola Pessoal,A Interface Map e bem util, pois permite que criamos mapas de chaves/valor. O Map possibilita que uma chave unica seja criada, que pode ser um tipo primitivo ou um objeto, cada chave podera apontar para um valor que tambem pode ser um primitivo ou objeto.Neste exemplo temos um Map de numeros, e para percorre-lo, usaremos a Interface Set, que ira obter as Keys do Map, e depois iremos interar usando o Foreach.Segue um exemplo para fazer um loop em Map:import java.util.HashMap;import java.util.Map;import java.util.Set;public class LoopMap {public static void main(String[] args) {Map mapa = new HashMap();mapa.put(1, "UM");mapa.put(2, "DOIS");mapa.put(3, "TRES");mapa.put(4, "QUATRO");mapa.put(5, "CINCO");Set conjunto = mapa.keySet();for (Integer key :