title: How to initialize and destroy Non-contextual CDI bean initialization PROPERLY
body: <p>I have a Controller instance. This is NON contextual CDI bean. I want to inject CDI beans into my controller instance. I coded like this:</p>
  
  <pre><code>MyController controller = myWayToCreateController();
  
  CreationalContext&lt;Controller&gt; ctx = beanManager.createCreationalContext(null);
  AnnotatedType&lt;Controller&gt; at = beanManager.createAnnotatedType(MyController.class);
  InjectionTarget&lt;Controller&gt; it = beanManager.createInjectionTarget(at);
  
  it.inject( controller, ctx);      // LINE 1
  it.postConstruct( controller);    // LINE 2
  // ctx.release();                 // LINE 3
  
  // .................
  // ......Use controller here
  // .................
  
  // Later, I destroy my controller
  
  it.preDestroy(controller);        // LINE 4
  it.dispose(controller);           // LINE 5
  ctx.release();                    // LINE 6
  </code></pre>
  
  <p>My question is:</p>
  
  <pre><code>Question1: Do I really need LINE 2, LINE 4 since my controller has no @PostConstruct and @PreDestroy.
  
  Question1: Can I use LINE 3 instead of using LINE 6? I just want to release CreationalContext right after my controller initialized.
  </code></pre>