Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. public class Executer implements Runnable{
  2.  
  3. @Override
  4. public void run(){
  5. // Here will be the backend-method invocation for firing CDI-Events
  6.  
  7. // CDI-Dummy-Event - Does not fire properly. receiveStatusEvent() does not invoke
  8. BeanManager beanManager = CDI.current().getBeanManager();
  9. beanManager.fireEvent(new ResultEvent("Result event example"));
  10. }
  11.  
  12. }
  13.  
  14. public class EventReceiver implements LoggingProvider{
  15.  
  16. public EventReceiver(){
  17.  
  18. }
  19.  
  20. public void receiveStatusEvent(@Observes ResultEvent event) {
  21. this.info("Event received: " + event.toString());
  22. }
  23.  
  24. }
  25.  
  26. public void executeAsynchBackendMethod(){
  27.  
  28. // CDI-Dummy-Event works - receiveStatusEvent() invokes correctly
  29. BeanManager beanManager = CDI.current().getBeanManager();
  30. beanManager.fireEvent(new ResultEvent("Result event example"));
  31.  
  32. /* The following alternative starts a thread, but the events, which are fired in the run() method, do not take any action in the receiveStatusEvent() method */
  33.  
  34. // Getting managedExecuterService
  35. this.managedExecuterService = (ManagedExecutorService) new InitialContext().lookup("java:comp/DefaultManagedExecutorService");
  36.  
  37. // Getting Instance of executer-Runnable (for injecting the backend-service afterwards)
  38. Instance<Executer> executerInstance = CDI.current().select(Executer.class);
  39. Executer executer = workflowExecuterInstance.get();
  40.  
  41. // Start thread
  42. this.managedExecuterService.submit(executer);
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement