Software Guru Conference & Expo 2014

Java Enterprise

J2EE, MVC, JSF, Struts, Hibernate, Spring, EJB's, Ant.

modulos

tengo un aplicativo grande y cada modulo es un jar, hay una mejor manera de hacerlo????

Rutas relativas en java y windows

Buen dia, espero me puedan orientar en un problema que tengo.

Mi problema es el siguiente: estoy haciendo un sistema en javafx y en el codigo hago referencia a varias rutas relativas que apuntan hacia archivos, imagenes, etc. Por ejemplo:
(Ruta java) Esta forma solo funciona en java.

     File url = new File("src\\controlador\\img\\iconoMail.jpg");

Pero cuando creo el instalador y lo instalo sobre windows y no encuentra estas rutas. Lo que hice para que las reconociera fue esto:
(Ruta windows) Esta forma funciona ya que esta instalado el sistema.

     File url = new File("..\\src\\controlador\\img\\iconoMail.jpg");

El problema es que es un sistema que cada vez se van desarrollando mas funcionalidades por lo cual tiene que estar haciendo referencia a las rutas de java para que compile el sistema en desarrollo. Hay alguna forma de poner las rutas relativas y que sean reconocidas tanto en java como en windows?

Agradesco de antemano cualquier ayuda.

Remplazar Scriptles JSP por JSTL

Como a ido por aya, tengo el siguiente codigo JSP que me permite hacer una consulta a la Base de Datos, lo cual me funciona de maravilla.

Id

Username

Password

Nombres

Email

Borrar

Actualizar

<%-- Lista de todos los usuarios --%>
<%
ArrayList lista = ControlDB.mostrarUsuarios();
for (Usuario u : lista) {
%>
<%= u.getId()%>
<%= u.getUsername()%>
<%= u.getPasword()%>

Ayuda con un Store de Oracle

Hola a todos de la comunidad nuevamente me encuentro con un gran problema, resulta que el Admin de Oracle me paso un Store que ejecut una consulta select. Los parametros de entrada son:

 pi_finicio     in  date,
                          pi_ffin        in  date,
                          pi_cid         in  number,
                          po_datos       out cur_ref, <-- me dicen que este es un data set
                          ps_CodResult   out number,
                          ps_TxResult    out varchar2)

y los parametros de Salida:

ID_ASOCIADO,
CID,
ID_PRODUCTO,
NOM_PRODUCTO,
F_INVENTARIO,
F_VENTA  ,

y en java lo intento llamar como los normales que hago y me queda asi:

 @WebMethod(operationName="WSPOS_PROD_NO_VENDIDOS")
         @WebResult(name = "Productos")
         public viewProductos[] ProductosNoVendidos(@WebParam(name = "datos")dtoParam dto) throws SQLException
            {          
                try
                {
                        conection();
                        CallableStatement       cStmt = con.prepareCall("begin POS.PKG_POS.stpPosMovtoInv (?,?,?,?,?); end;");
                        cStmt.setString(1, dto.getF_inicial());

JPA

Un saludo a todos.

Mas que un problema técnico, estoy en un dilema, ingresé a trabajar en una empresa donde existe un software para el registro y control de estudiantes es un proyecto grande, este sistema fue hecho utilizando JPA para el acceso a datos. el problema radica en que se ha vuelto lento, consume demasiada memoria, porque el sistema creció en tablas y datos.

No se si alguno se ha enfrentado algo así, pero, la duda es esta ¿Para proyectos grandes, JPA es recomendable?.
(El servidor cuenta con la suficiente capacitadad para soportar cualquier aplicación)

Gracias por la atención prestada y felicitarlos por este blog a mi en lo particular me ha ayudado en mas de una vez.

Les aseguro que mas de un desarrollador se encuentra en este mismo dilema y les interasaria conocer sus puntos de vista sobre este tema.

Exportar proyecto JEE en netbeans

Tengo un proyecto en netbeans JEE con tomcat, jsf y primefaces con acceso a base de datos por odbc.
Dentro de netbeans no tengo problemas para el despliege de la pagina y el acceso a la base de datos. Pero cerrando el netbeans pierdo el acceso a la base de datos.
¿que tengo que modificar en la config. de tomcat para lograr la conexion a la base de datos?. utilizo un dsn y la conexion desde jsf es a traves de un managed bean.

Saludos.

OpenXava 5.0 liberado: Desarrollo rápido con Java

OpenXava es un marco de trabajo AJAX para desarrollo rápido de aplicaciones web empresariales.

Con OpenXava sólo has de escribir las clases del dominio con Java para obtener una aplicación web lista para producción.

Esta versión 5.0 tiene un nuevo estilo visual, incluye navegación entre módulos, identificación de usuario (por tanto ya no necesitas Liferay), colecciones editables en línea (como en una hoja de cálculo), un nuevo editor para adjuntar archivos a tu entidad y muchísimas cosas más.

Te invitamos a que lo descargues y actualices tus aplicaciones OpenXava. Mira las instrucciones de migración.
 

Ejemplo MapReduce Hadoop 5

Ya unicamente nos falta la clase main, para poder ejeutar nuestro ejemplo

Tambien es pequena asi que la pongo toda de una vez:

package mx.com.sinapsis.ds.test.ComparaPais;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;

public class MaximaPoblacion extends Configured implements Tool {
       
        public static void main(String[] args)
                    throws Exception
                  {
                    ToolRunner.run(new Configuration(), new MaximaPoblacion(), args);
                  }

        @Override
        public int run(String[] args) throws Exception {
               
                args = new String[]{"input","output"};
               
                if (args.length != 2)
            {
              System.err.println("Usage: Max Poblacion <in> <out>");
              return 0;
            }
            setConf(new Configuration());
            Configuration conf = getConf();        

            Job job = new Job(conf, "compara pais");

Ejemplo MapReduce Hadoop 4

Ahora veremos la parte del reduce, el cual nos tiene que entregar el pais que tiene el numero maximo de pobladores.

En este caso sabemos ya que el map del anterior post manda a llamar al reduce por cada region existente, por lo que unicamente tenemos ahora que ubicar el pais que tiene la mayor poblacion.

El codigo es muy pequeño asi que no es necesario partirlo para explicarlo.

package mx.com.sinapsis.ds.test.ComparaPais;

import java.io.IOException;

import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;

public class MaximaPoblacionReducer extends
                Reducer<Text, Text, Text, Text> {
       
        protected void reduce(Text key, Iterable<Text> values, Context context) throws IOException, InterruptedException{
                Long maxValue = Long.MIN_VALUE;
                String pais = "";
                //se obtiene el pais que tenga la mayor poblacion
                for(@SuppressWarnings("unused") Text value : values){
                        String[] valores = value.toString().split(":");                
                        if(!valores[0].equals("World")){                               
                                Long bMaxValue = Math.max(maxValue, Long.valueOf(valores[1]));
                                //Si es maximo que el anterior se guarda el pais que corresponde
                                if(bMaxValue > maxValue){

Ejemplo MapReduce Hadoop 3

Clase Map

Analizado el texto del cual obtendremos la informacion, vamos a crear la clase map la cual nos agrupara los paises por region, descartando todas las partes del texto que no sean necesarias.

En esta clase map lo que se va a hacer es identificar los paises y los datos necesarios por region:

 

  context.write(new Text(Pais.getRegion()), new Text(Pais.getNombre() + ":" +poblacion));

Se utiliza tambien patterns para identificar los datos necesarios:

 

  final static Pattern PAIS_PATTERN = Pattern.compile("[@][A-Z][a-z]*(,)?(\\s)?([A-Z][a-z]*)?(\\s)?([A-Z][a-z]*)?(\\s)?([A-Z][a-z]*)?(\\s)?([A-Z][a-z]*)?(\\s)?([A-Z][a-z]*)?[:][Geography]{9}");
 final static Pattern POBLACION_PATTERN = Pattern.compile("^\\s[Population]{10}[:]{1}\\s*");//Population: 65,780 (July 1995 est.)
 final static Pattern REGION_PATTERN = Pattern.compile("^\\s[Map]{3}\\s[references]{10}[:]*");// Map references: Africa
       

Se utiliza una clase plana para guardar los datos de pais

 

  Pais.nombre = pais;
 Pais.region = region;
       

debemos quitar los datos del mundo para que no se contabilice

 

Distribuir contenido