Java Enterprise

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

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

 

Ejemplo MapReduce Hadoop 2

Comandos para cargar los datos en hdfs:

# Cargar en el HDFS
# Primero renombre los archivos con nombre corto
# CW para Datos estadisticos de la CIA 1995
$ mv pg571.txt CW.txt

# El siguiente comando falla si el directorio existe
$ hadoop fs -mkdir /user/cloudera

# Ahora ponga el texto en el directorio
$ hadoop fs -put CW.txt /user/cloudera

# Creamos alias de los comandos de hadoop
$ alias hput="hadoop fs -put"
$ alias hcat="hadoop fs -cat"
$ alias hls="hadoop fs -ls"
$ alias hrmr="hadoop fs -rm -r"

$ gzip CW.txt

# El punto hace referencia al directorio home de Cloudera
# en hdfs, /user/cloudera

$ hput DS.txt.gz .

# Verificar los archivos que existen ahora
$ hls
Found 4 items
drwx------ - cloudera cloudera 0 2014-04-10 16:03 .staging
-rw-r--r-- 3 cloudera cloudera 3013212 2014-04-21 14:28 CW.txt
drwxr-xr-x - cloudera cloudera 0 2014-04-10 16:03 HF.out
-rw-r--r-- 3 cloudera cloudera 605499 2014-04-10 15:25 HF.txt

Las parte clave en el documento que vamos a utilizar son:

Ejemplo MapReduce Hadoop 1

En el mundo actual los datos se han vuelto las estrellas, cuando uno prende la TV y enciende Netflix se da buena cuenta de esas posibilidades, rapidamente nos damos cuenta de que este sistema a averiguado cosas acerca de nuestras preferencias y en base a ellas nos brinda recomendaciones que en la mayoria de los casos son acertadas, esa es su mision conocer perfectamente nuestros gustos para tenernos mas tiempo sentados comodamente disfrutando de la programacion.

Si uno aparte lo utiliza para ver una de las series de casa como House Of Cards, la mayoria cae atrapado en la historia,fue echa tambien en base a el gusto de la mayoria de la poblacion, vamos la jugada es redonda.

Los programas que generalmente observamos, los que vemos pero luego de un rato abandonamos, a las escenas que nos aburren y le damos avanzar o las que rebobinamos, todo eso lo utiliza Netflix para generar la serie y cada capitulo.

Vamos pues a entrar un poco al mundo de BigData de la mano de la programacion MapReduce con el framework Hadoop(java), yo estoy tambien apenas aprendiendo asi que espero junto con varios lograr entender como hacer cosas como las señaladas en las lineas de introduccion.

No encuentra el archivo de configuracion hibernate.cfg.xml

Buen dia, espero me puedan ayudar, se los agradeceria mucho.

Estoy realizando un web service en java con hibernate en el cual manipulo 2 bases de datos diferentes. Por tal motivo he creado 2 archivos de configuracion de hibernate "config1.cfg.xml" y "config2.cfg.xml". Tengo un archivo "util.java" el cual inicializa el sessionFactory como se muestra a continuacion:

 sessionFactory = new AnnotationConfiguration().configure("config1.cfg.xml").buildSessionFactory();

El problema es que no encuentra la ruta de este archivo de configuracion he aqui todas las opciones que he probado pero ninguna ha funcionado:

sessionFactory = new AnnotationConfiguration().configure("WEB-INF\\classes\\config1.cfg.xml").buildSessionFactory();
sessionFactory = new AnnotationConfiguration().configure(src\\java\\config1.cfg.xml).buildSessionFactory();
sessionFactory = new AnnotationConfiguration().configure(new File(src\\java\\config1.cfg.xml)).buildSessionFactory();

De antemano agradesco cualquier ayuda brindada.

Distribuir contenido