Foro Oficial de Java

No porque son contenedores distintos, pero si puedes avisarle a aplicaciones de terceros si tienes algún mecanismo de interoperabilidad entre los aplicativos.

Por ejemplo, tu stand alone podría tener un demonio corriendo cada 5 minutos en tu máquina revisando un log de fallos del JBoss y al momento en que encuentre alguno reportar el error. Pero desde el Catch de un fallo en la aplicación no puedes hacer algo como propagar la excepción a tu otra app.

En el catch del ejb puedes crear un registro en alguna tabla de log de tu db o escribir un archivo de error con el error y con algun id que identifique el cliente. (id enviado desde el cliente.) asi podras consultar, en caso de obtener erro en algun cliente. registros de que error se presento y de quien (que cliente.) lo genero. incluso puedes tener una db liviana solo para auditoria. es lo que comunmente se hace. creo . :S
 
  • Me gusta
Reacciones: 2 personas
En el catch del ejb puedes crear un registro en alguna tabla de log de tu db o escribir un archivo de error con el error y con algun id que identifique el cliente. (id enviado desde el cliente.) asi podras consultar, en caso de obtener erro en algun cliente. registros de que error se presento y de quien (que cliente.) lo genero. incluso puedes tener una db liviana solo para auditoria. es lo que comunmente se hace. creo . :S

Si exacto, con archivos o con tablas, esa es la forma de interoperar entre las dos aplicaciones, la del JBoss y el Stand Alone.
 
Señores pues logre que mi aplicacion standalone recibiera las excepciones que se generan en los session beans.

Primero tuve problemas por un bug de jboss 7 pero se arregla corriendo tanto el cliente y el servidor en la version 1.7 de java y despues lo que hice fue enmascarar las excepciones que me interesaban en una excepcion que yo cree y se la lanzo a la aplicacion cliente y listo mi aplicacion me muestra el error ocurrido en el servidor de aplicaciones.

Igual muchas gracias a los que me contestaron.

Enviado desde mi GT-I8190L usando Tapatalk 2
 
  • Me gusta
Reacciones: 2 personas
Busco alguien me colabore en 2 problemas que tengo:

tengo un programa desarrollado en java que ejecuta aplicaciones y al ejecutar una aplicación me arroja este error

Unsupported major.minor version 50.0
he consultado en foros y dice que es problema diferencia entre java y javac
javac 1.7.0_25

java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) Server VM (build 23.25-b01, mixed mode)
pero están en la misma versión alguien que me pueda ayudar a solucionar el inconveniente estoy usando ubuntu 12.04
gracias.
 
¿cómo está obteniendo las versiones de la máquina? ese error ocurre cuando estás tratando de ejecutar una app con una versión de JVM que no corresponde a la versión de JVM que la compiló.
 
¿cómo está obteniendo las versiones de la máquina? ese error ocurre cuando estás tratando de ejecutar una app con una versión de JVM que no corresponde a la versión de JVM que la compiló.
Javac -version
Java -versión
Es que la app la compilo con esa JVM y me sigue saliendo el error.


Desde  con Tapatalk
 
No recomendaría desinstalar porque puede que necesiten para algo la versión anterior. Simplemente cambia las variables de entorno para que solo apunten a la versión de jvm que necesitas.
 
Hola a todos... le pregunto algo... estoy pensando en hacer la certificación de java ... si me pudieran guiar indicandome cual es la primera certificacion y en donde puedo conseguir los libros preferiblemente en español :)
 
Los envían. Pero en internet hay otras opciones donde venden libros virtuales.

Y Como cual me recomiendas ??... estoy en Colombia

Buenas ... una pregunta... si me pudieran indicar un buen tutorial de como usar el patron singleton para crear un pool de conecciones a la DB...

gracias
 
Última edición por un moderador:
¿es una pregunta académica? porque a estás alturas del partido nadie debería preocuparse por los pool de conexiones. Si necesitas un pool JDBC usa alguna de las librerías que ya existen:

http://commons.apache.org/proper/commons-dbcp/ (Libreria de Apache para acceso a base de datos).
http://jolbox.com/ (Libreria open source para lo mismo).

Si lo que quieres es aprender como implementar un pool con singleton te recomiendo cualquier tutorial sobre el patrón y luego revisar el código fuente de jolbox para ver cómo lo implementan ellos en su librería.
 
  • Me gusta
Reacciones: Likibuay
Hola:

Como el Foro de Android no se mueve con frecuencia, escribo también aquí mi duda.

Tengo un PC Galileo de los que vendieron con un periódico local. Básicamente lo compré para usarlo como dispositivo de pruebas para desarrollar para Android, pero el Developer Options no me sale. Tiene Jelly Bean 4.1 y se supone que esa opción viene oculta es a partir de la 4.2. Sigo el procedimiento que especifican para la 4.2 y nada.

Este es el proceso de 4.2, pero no obtengo resultados.
http://www.droidviews.com/how-to-en...-mode-on-devices-with-android-4-2-jelly-bean/

Gracias.
 
Hola
.
Soy nuevo en el foro y en el mundo de java. Estoy realizando un ejercicio que me piden con las siguientes características:

Practicar haciendo una aplicación llamada PruebaLaptop que utilice una clase Laptop, dicha clase deberá de tener los siguientes descriptores: Manejar como variables de instancia: Marca (String), Modelo (String), Tamaño de Memoria (integer) y Precio (double) Menejar como variable estática: cuenta (integer. Investiga esto, se comporta igual que un método estático). Tener un constructor que cree un objeto Laptop sin parámetros Tener un constructor que cree un objeto Laptop con los 4 parámetros Tener los métodos de acceso correspondiente Tener los métodos modificadores correspondientes Tener un método estático que regresa el valor de la variable cuenta (integer)
La variable cuenta debe ser definida como estática, junto con las demás variables de instancia y con un valor de cero:
private static int cuenta = 0;
Cada constructor deberá incrementar esta variable en uno.
Crea una aplicación como las definidas en la lectura, que cree al menos 3 objetos de la clase Laptop y que muestre el uso de todos los métodos de la clase, utilizando para ello, los diferentes objetos creados, cada vez que modifiques algún valor de algun objeto, es importante que despliegues todos los objetos utilizados. Deberás utilizar el método estático.

El problema está en que no sé como llamar a un objeto específico para modificar algún parámetro.

A ver si me podéis ayudar. Mi código es el siguiente:

Esta es mi clase PruebaLaptop:

import java.awt.*;
import java.applet.*;
import java.awt.event.*;



public class PruebaLaptop extends Applet implements ActionListener {

Label l1, l2, l3, l4;
TextField t1, t2, t3, t4;
Button b1, b2, b3, b4, b5;
Panel p1, p2;
TextArea ta1;

Laptop laptop;

public PruebaLaptop() {
l1 = new Label("Marca");
l2 = new Label("Modelo");
l3 = new Label("Tamaño de Memoria");
l4 = new Label("Precio");
t1 = new TextField();
t2 = new TextField();
t3 = new TextField();
t4 = new TextField();
b1 = new Button("Crear");
b2 = new Button("Cambiar Marca");
b3 = new Button("Cambiar Modelo");
b4 = new Button("Cambiar Memoria");
b5 = new Button("Cambiar Precio");
p1 = new Panel(new GridLayout(8, 1, 10, 10));
p2 = new Panel();
ta1 = new TextArea("", 30, 30, TextArea.SCROLLBARS_VERTICAL_ONLY);
p1.add(l1);
p1.add(t1);
p1.add(l2);
p1.add(t2);
p1.add(l3);
p1.add(t3);
p1.add(l4);
p1.add(t4);
p2.add(b1);
p2.add(b2);
p2.add(b3);
p2.add(b4);
p2.add(b5);

setLayout(new BorderLayout());
add(p1, BorderLayout.NORTH);
add(p2, BorderLayout.CENTER);
add(ta1, BorderLayout.SOUTH);

b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);



}

public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == b1) {
if ("".equals(t1.getText())) {
laptop = new Laptop();

}else
laptop = new Laptop((t1.getText()),
(t2.getText()),
(Integer.parseInt(t3.getText())),
(Double.parseDouble(t4.getText())));
}

if (ae.getSource() == b2) {
laptop.setMarca(t1.getText());
}

if (ae.getSource() == b3) {
laptop.setModelo(t2.getText());
}

if (ae.getSource() == b4) {
laptop.setMemoria(Integer.parseInt(t3.getText()));
}

if (ae.getSource() == b5) {
laptop.setPrecio(Double.parseDouble(t4.getText()));
}


ta1.append(" " + laptop.getMarca());
ta1.append(" " + laptop.getModelo());
ta1.append(" " + laptop.getPrecio());
ta1.append(" " + laptop.cuantasCuenta() + "\n");
}


Esta mi clase Laptop:

public class Laptop {

private String marca;
private String modelo;
private int memoria;
private double precio;
private static int cuenta = 0;

//Constructor sin parámetros
public Laptop(){
marca = "Desconocida";
modelo = "Desconocido";
memoria = 0;
precio = 0.0;
cuenta++;
}
//Constructor con parámetros
public Laptop(String marca, String modelo, int memoria, double precio){
this.marca = marca;
this.modelo = modelo;
this.memoria = memoria;
this.precio = precio;
cuenta++;
}
//Método estático que regresa el valor de la variable cuenta
public static void contarCuenta() {
cuenta++;
}

public String getMarca() {
return marca;
}

public String getModelo() {
return modelo;
}

public int getMemoria() {
return memoria;
}

public double getPrecio() {
return precio;
}

public static int cuantasCuenta() {
return cuenta;
}


public void setMarca(String nuevaMarca){
this.marca = nuevaMarca;
}

public void setModelo(String nuevoModelo) {
this.modelo = nuevoModelo;
}

public void setMemoria(int nuevaMemoria) {
this.memoria = nuevaMemoria;
}

public void setPrecio(double nuevoPrecio) {
this.precio = nuevoPrecio;
}
}
 

Los últimos temas