style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Bienvenido a Java Mexico

Java México es una comunidad de desarrolladores mexicanos en el lenguaje Java.

Este sitio es colaborativo, automáticamente al registrarte obtienes un Blog para compartir tus conocimientos o información acerca del lenguaje. Antes de publicar en tu blog o los foros por favor lee los lineamientos de publicación.

Para dudas y problemas con respecto al lenguaje Java puedes visitar los Foros de Discusión.

¿Controlar el volumen de un MIDI?

Hace tiempo que tengo la inquietud de los MIDI y poder trabajar con ellos desde Java. Luego de mirar con cuidado la API de java y gran parte del paquete javax.sound.midi, comencé con la tarea, que ha dado sus frutos: un reproductor casi terminado (por lo pronto, es un beta... y yo soy el tester xD).

El problema que tengo ahora es que quiero proveer un control de volumen en el reproductor. Con la API de sonido se puede obtener un mixer, y a partir de él un control de volumen, pero... ¿se puede hacer eso con un MIDI? ¿Cuál sería el dispositivo al que debo "buscarle" el mixer?
Otra posible solución sería trabajar con el Sequence del archivo MIDI, obtener las Track y a cada una subirle el volumen ANTES de reproducirla. Por tiempo no he podido probar lo que ocurre con la reproducción activa si se modifica la Sequence del MIDI...

¿Podrá alguien ayudarme con eso?

Roadmap de Metro

Metro es un stack para servicios web propuesto por Sun, el cual contiene a JAX-WS (lo que incluye a JAXB, JAXP, StAX, SAAJ, etc.) y WSIT (WS-*). Se trata pues de una “ventanilla única” con todo lo necesario para construir servicios web, desde el más simple “hola mundo” hasta servicios web confiables, seguros y transaccionales que involucran a servicios WCF del . NET Framework.

Algunos puntos clave acerca de los futuros releases de Metro son:

Comet / Push Server Technology

Hola, les comento, estaba haciendo lo que mejor se hacer... (....nada...) y bueno me puse a programar un rato con GWT haciendo una especie de chat, y me encontre con un problema, "como puedo enviar cosas desde el servidor hacia el cliente, sin tener que estar preguntando cada cierto tiempo desde el cliente hacia el servidor?" bueno, realize un post (no muy explicativo) en el foro de GWT y pues me comentaron sobre esta tecnologia Comet / Push.

me puse a leer en wikipedia sobre esto, la idea es basica simplemente, se usa un mecanismo donde se mantiene una conexion con el servidor http en lugar de cerrarla como usualmente pasa, y se envia la informacion desde cualquier lado, sin gastar muchos recursos, eso es mas que todo la base, ando investigando como puedo implementarlo ya que no tengo la mas minima idea, pero para los interesados pueden leer estos links.

http://alex.dojotoolkit.org/?p=545
http://en.wikipedia.org/wiki/Comet_%28programming%29

Saludos,

Manejo de XML

Una de las cosas que los programadores en java usan mas es la configuracion por archivos XML o Properties, los properties se pueden leer facilmente usando java.util.Properties, pero los XML requieren un poco mas de trabajo.

Aqui coloco lo que utilizo yo cuando tengo que manipular archivos XML

primero hay que diferenciar 2 cosas una es leer un XML y la 2da es ubicar elementos en un XML

El leer un archivo XML se puede realizar utilizando SAX (Simple API XML). El cual se realiza creando una clase que extienda de org.xml.sax.helpers.DefaultHandler, la idea es sobreescribir ciertos metodos como startElement, endElement los cuales tienen como parametro String namespaceURI, String localName y String qName, Attributes attr.

El utilizar esto significa leer todo el archivo XML y mucha de las veses solo queremos localizar ciertos tags ya que es mas rapido que leer todo el documento.
para hacerlo no hay que utilizar un handler, solo objetos.

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.traversal.NodeIterator;
impor java.io.*;

....

Servicios Web con Java SE 6 (Parte 4)

Creando un Cliente muy simple para un Servicio Web muy simple

Ahora crearemos (en un directorio/proyecto distinto) el cliente para nuestro Servicio Web el cual debe estar publicado y en ejecución.

Primero necesitamos generar los artefactos cliente. Para ello utilizaremos la herramienta wsimport incluida en Java SE 6.0, a la cual le pasamos como argumento la ubicación del contrato del servicio, es decir el WSDL:

>wsimport http://localhost:8080/hello?wsdl

Esto generará las clases que encapsulan las operaciones para la invocación de los métodos del Servicio Web. En nuestro caso se generarán seis clases dentro del paquete ‘hello’, entre ellas estan las clases hello.HelloService y hello.Hello que utilizaremos directamente en nuestro cliente.

Una vez generados los artefactos cliente solo resta crear el cliente en sí, una simple aplicación de consola:

Soy un newbe en BD.

Hola, como estan, pues como sabran yo soy certificado en java y blah blah blah pero aun asi, hace poco me entere que si no cierras los statements o preparedstatemens de una conexion puedes tener un error parecido a que se te acabaron los statements.

Realize cambios al programa ya que cuando se hacian queries no se estaba cerrando el preparedstatement, realizamos una prueba masiva y voila!, todo funciono perfecto.

Asi que si no saben, pues ya sabem no solo se pueden quedar sin conexiones (si usan datasources) tambien se pueden quedar sin statements o preparedstatements si no los cierran, por eso es muy importante cerrar los resultsets, statementes / preparedstatemenes o lo que sea parecido y las conexiones (en caso de usar conexiones directas en lugar de datasources, que por lo general lo maneja el servidor web)

Saludos,

Una gran Idea

Hola a todos los integrantes de esta gran comunidad, soy nuevo en este club y me parecio interezante lo de la traduccion del libro pues yo llevo solo dos meses en el lenguaje java y me parece un lenguaje muy interesante
no soy muy buen programador pero hasta ahora no he encontrado problema que no pueda resolver y me encanta ayudar a las demas personas que lo necesiten (claro en lo que pueda)
y bueno pues vamos a echarle ganas todos juntos para poder salir adelante

Invitación a todos los que nos iniciamos en Java!!!

Hola amigos!

Esta es una invitación a todos los que nos inicamos en Java para iniciar un proyecto de traducción del libro llamado: "Thinking in Java". Yo me defiendo un poco con el inglés, pero la verdad me encantaría tenerlo en español, que aunque ya existe en su cuarta edición, existen tres anteriores que están sólo en inglés y son gratuitas.

Tal vez piensen que sería mejor comprarlo, pero la verdad si esta algo caro, lo he buscado en internet y anda aprox en unos 50 Euros!!, mas gastos de envío, así que por que no hacer un esfuerzo extra en conjunto y lo vamos traduciendo al mismo tiempo que lo estudiamos. Por otro lado, es un libro muy recomendado para los que iniciamos ele aprendizaje de Java, y en lo personal lo que he podido explorar del libro, es realmente bueno, ya que esta orientado al estudio del lenguaje de forma sistemática.

Espero sus respuestas y en caso de que haya sufieciente gente que apoye este proyecto nos pondremos de acuerdo de inmediato.

Hasta luego!!!

Versión final NetBeans 6.0

Hace unos días se liberó finalmente la versión 6.0 de NetBeans. En ésta se incluyen varias cosas interesantes, mencionando por ejemplo, que tiene una interfaz más "atractiva", y otra, el soporte por defecto para Ruby/JRuby. Presumen además que el arranque es mucho más rápido. En fin, habrá que probarlo.

Más información acerca de esta liberación se puede encontrar aquí:

  1. http://www.netbeans.org/community/releases/60/
  2. http://www.netbeans.org/community/releases/60/relnotes.html

Sale y vale
Byte

Servicios Web con Java SE 6 (Parte 3)

Con lo realizado en el post anterior ya tenemos un sencillo Servicio Web casi listo para ser desplegado en algún contenedor Java EE; no obstante podemos probarlo sin necesidad de uno si creamos un endpoint dentro de una aplicación que actuará como host del servicio web, tal como se ilustra en el siguiente código:

Listado de SimpleHelloWS.java

import javax.xml.ws.Endpoint;
import hello.Hello;

public class SimpleHelloWS {
  public static void main(String[] args) {
    String endpointAddress = “http://localhost:8080/hello”;
    Endpoint.publish(endpointAddress, new hello.Hello());
    System.out.println(”El Servicio Web Hello se está ejecutando…”);
    System.out.println(”WSDL: ” + endpointAddress + “?wsdl”);
  }
}

Distribuir contenido

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">