2011-04-29 12 views
6

Antes que nada permítanme decirles que el siguiente ejemplo de código funcionó bien en GF 3.0.1. Los problemas comenzaron cuando cambiamos a GF 3.1.¿Cómo puedo combinar @Asynchronous y Weld/CDI Events y @Observes (durante = TransactionPhase.AFTER_COMPLETION) en Glassfish 3.1

estoy usando un método

@Asynchronous 
public void executeFlowStep(
    @Observes(during=TransactionPhase.AFTER_COMPLETION) 
    ExecuteFlowStepEvent executeFlowStepEvent) { 

Desde el cambio, siempre que éste deba recibir una ExecuteFlowStepEvent me sale el siguiente mensaje de error:

WELD-000401 Failure while notifying an observer of event [package].ExecuteFlowStepEvent 

No existen más datos o StackTrace se da. Funciona si elimino la anotación @Asynchronous y el atributo AFTER_COMPLETION, por supuesto, esto rompe el programa ya que dependo del tiempo AFTER_COMPLETION.

traté de pedir ayuda en los foros de soldadura, hasta ahora sin éxito, aunque parece que hay otras personas con el mismo problema: http://seamframework.org/Community/WeldUsers

yo por lo menos me gustaría saber: Es ésta una error, o es esto querido. ¿Esto implica que Weld NO funciona con los métodos asincrónicos/atributos AFTER_COMPLETION? ¿Por qué funcionó esto en GF 3.0.1? ¿Alguien ha logrado que esto funcione en GF 3.1?

+0

podría ser un error. intenta informarlo. – Bozho

+0

Publicado también en los foros de Seam/Weld, nadie parece estar interesado allí, así que lo envié al Glassfish Bugtracker hace una semana, veremos si surge algo de eso. Si alguien tiene problemas similares, esta es la URL del rastreador: http://java.net/jira/browse/GLASSFISH-16513 – Michael

+0

Lo reportaría directamente a Weld. Glashfish utiliza Weld como su implementación de CDI. – Bozho

Respuesta

3

Según el link que ha publicado como comentario a su propia pregunta, este es un error que se corrigió en Wield 1.1.2 y GlassFish 3.1.2 (compilación 14+).

Disclamer: Me envió esta respuesta a una pregunta histórica para ayudar a SO (StackOverflow) deshacerse de preguntas sin respuesta.

Cuestiones relacionadas