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.

Maven para buena calidad de codigo

Cuando trabajas en un equipo con varias personas en ocaciones la calidad del codigo empieza a disminuir proporcionalmente al aumento de lineas de codigo, por esta razon me puse a investigar como mantener la calidad del codigo sin tener que revizarlo por ti mismo de una forma automatizada y que no te deje pasar o compilar si no cumples con los requisitos

Estos plugins estan basados para una aplicacion web, eso no significa que no lo puedas usar para crear otro tipo de archivo.

1.- Analizar el codigo

Para esto se va a utilizar findbugs que ya se puede usar con la version 8 de java y este seria el fragmento de codigo para usarlo

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                    <threshold>High</threshold>
                    <effort>Default</effort>
                    <skipEmptyReport>false</skipEmptyReport>
                    <findbugsXmlOutputDirectory>${project.build.directory}/findbugs</findbugsXmlOutputDirectory>
                </configuration>

[Aporte] JashMapTool (Mapeador de clases para Java+Spring+Hibernate)

Buenas, gente

Pues quiero compartir con ustedes mi aplicación en Java que talvez muchos ya saben más o menos cual es la idea, pero para los que no:

Seguramente han trabajado algún proyecto web con un Spring e Hibérnate, en ese caso tuvieron dos opciones, una es configurar Hibérnate Tools para que les generara las clases en java y otra generar dichas clases a mano y sin ninguna ayuda. Bien pues el objetivo de esta pequeña aplicación es generar dichas clases de forma automática, únicamente indicando la conexión a la base de datos.

Les invito a probarla y cualquier comentario será bien recibido.

Saludos

JashMapTool 0.8

[Duda] En desarrollo de aplicación...

Lo que pasa es que estoy desarrollando una aplicación en java que permite generar las clases en JAVA de forma automatica de acuerdo a la estructura de la base de datos, tengo pensado incluir muchas cosas mas pero en algun momento quiero crear una versión de pago, entonces no pretendo que sea de codigo abierto, la pregunta es como le hago para que un grupo de personas que esten interesados en usar la aplicación la usen.. me refiero a que los aspectos básicos siempre seran gratuitos.. espero me hayan entendido y de antemano gracias por sus comentarios.

comportamiento erratico

estoy revisando el siguiente codigo que es un socket que algunas veces se comporta de manera erratica, como que la trama que le llega de respuesta la corta no llega completa ..

    public String enviaData(String mensaje, int timeOut) throws IOException {
   
        String msn;
        int i;
        int longitud = mensaje.length();
        Socket socket = null;        
        try {
           
            socket = new Socket(ip, puerto);
            socket.setSoTimeout(timeOut);
            OutputStream os = socket.getOutputStream();
            InputStream is = socket.getInputStream();
            byte[] sbytes = converByte(mensaje, longitud);
            os.write(sbytes);
   
            int lenInput = 0;
            long time = System.currentTimeMillis() + timeOut;            
            try{              
            while (System.currentTimeMillis() < time) {
               
           
                lenInput = is.available();
                if (lenInput > 0) {
                    byte[] textoBytes = new byte[lenInput];
                    for (i = 0; i < lenInput; i++) {
                        textoBytes[i] = (byte) is.read();

MapDB: Base de Datos Java para trabajar directamente con colecciones

MapDB es una base de datos Java que permite trabajar directamente con el Java Collection API.
Sus principales características son:
· Concurrente
· Rápida
· ACID
· Flexible
· Personalizable
· Consultas SQL-like
· Poco espacio en disco
Veamos un ejemplo de uso:

MapDB es muy configurable, y puede arrancarse con o sin transacciones, en memoria, en fichero, con encriptado,…

Java Champion y Oracle ACE

Automatizar generación de XML con JAXB

Hace poco en mi trabajo tenía que realizar ciertos artefactos que se empaquetan en un archivo jar, el cual incluye un XML, despues de hacer los primeros 2 o 3 note que estaba cayendo en la mala practica de copiar y pegar la estructura del XML de mi viejo artefacto y en ocasiones por rapidez no cambiaba el nombre, tipo de dato o argumento de alguna etiqueta y cuando desplegaba el artefacto pues fallaba, un compañero de trabajo me mencionó que definiera el xsd del archivo, y luego creará los objetos mapeados con xjc (imagino que significa xml java compiler, no estoy muy seguro de ello), y despues diseñara un standalone que preguntara por los valores de los atributos que variaran, y pues seguí las indicaciones realizando los siguientes pasos:

1.- Identifique los elementos que varian que fueron:

Valor del tag autor, email, creationDate, description e implementation.
Valor de los atributos type y length del tag Attribute.
Valor del atributo name del tag Plugin.

<--Ejemplo de un XML de mi artefacto>
<Plugin name="MyPlugin" type="Authentication">
        <autor>Unknown<autor>
        <email>someone@domain</email>
        <creationDate>2015-09-03</creationDate>

The magic number 0xCAFEBABE

Hace poco me entere de la existencia de un número mágico que sirve para identificar archivos o protocolos, para el caso de Java sirve para identificar los formatos de los archivos .class, dicho número se puede observar al abrir el archivo .class con un editor hexadecimal y se podra observar algo asi:

Se dice que el propio James Gosling explico el origen de este número mágico:

Libros Java Guías Ayudas

Me gustaría que pudieran compartir libros , foros ejercicios prácticos para mejorar en este lenguaje
Asi como cual seria la mejor manera de utilizar todos en lo que a java respecta

Distribuir contenido