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
- Inicie sesión o regístrese para enviar comentarios
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.
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
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.
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
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.