Swing y EJB, manejo de errores en EJB

Hola tengo una duda.

Como bien saben los EJB estan separados de una aplicacion web y de una aplicacion stand-alone, entonces si surge un error en el ejb ¿como lo sabe una aplicacion creada en swing?

alguien sabe ¿como se le puede enviar la excepcion o el error lanzado en el ejb a una aplicacion en swing? o cual es la mejor manera de manejar los errores en el ejb y aplicaciones swing

se me olvida comentar que seria usando Java Web Start

Gracias

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

RMI

Si vas a usar EJB's desde tu aplicación Swing, supongo que te comunicarás por ellos via RMI; en ese caso, una excepción en el EJB se propaga hacia el cliente RMI, envuelta en una RemoteException.

Imagen de skuarch

Para la conexion uso JNDI

la forma en que me conecto es con jndi usando un jndi.properties y uso netbeans aqui se muestra como

Pero deja checo algo de RemoteException

Gracias

Imagen de ezamudio

IDE...

... por qué siempre mencionan el IDE que usan? Si te conectas a un EJB via JNDI, no importa si lo haces con Eclipse, NetBeans, IDEA, jEdit, o con el editor de texto más chafa y ant.

Según yo, cuando tienes un proxy a un objeto en JNDI, sigue siendo RMI, pero tal vez ya se maneje a nivel más alto y no tengas que cachar RemoteException sino simplemente la excepción que esperas. Sobre todo si el método invocado tiene declaras excepciones, se deben poder cachar directamente. Las excepciones de tiempo de ejecución no sé si lleguen directo o no.

Imagen de skuarch

Es dificil enviar la exception de regreso

cuando ocurre una exception en el ejb y enviarla al cliente creo que es un poco dificil y no se hacerlo, pero encontre esta pagina que dice como controlar las excepciones en un EJB, gracias @ezamidio por tu ayuda

Imagen de ezamudio

Es transparente

No pero segun yo es transparente, si se arroja una excepción durante la ejecución de un método del EJB que fue invocado de manera remota, esa misma excepción se arroja del lado del proxy, no tienes que hacer nada raro.

Al menos así ocurre con las que tienes que declarar en el método, siempre y cuando las declares en la interfaz del EJB. Incluso eso es útil porque si usas EJB 3.0 con anotaciones de que sean transaccionales, los métodos se ejecutan dentro de una transacción JTA y si se arroja una excepción de las que se declararon en el método, se hace rollback (pero eso no ocurre con RuntimeExceptions).

"...o con el editor de texto

"...o con el editor de texto más chafa y ant"

Por que no con el mejor editor ( vi ) y ant :)

Según recuerdo, cuando se lanza una excepción en el ejote, esta se envía también por la red y llega al cliente al que le truena como si fuera local.

En todo caso lo que deberías de revisar, es que las excepciones que llegan desde el EJB, sean de "negocio" y no de bajo nivel.

O quizá ya no me acuerdo.