Uploaded image for project: 'CDI Specification Issues'
  1. CDI Specification Issues
  2. CDI-519

Instance.destroy() cannot be used for dependent bean instances not created by the same Instance object

    XMLWordPrintable

Details

    • Clarification
    • Status: Resolved (View Workflow)
    • Major
    • Resolution: Done
    • 1.2.Final
    • 2.0 .Final
    • None
    • None

    Description

      5.6.1. The Instance interface:

      The method destroy() instructs the container to destroy the instance. The bean instance passed to destroy() should be a dependent scoped bean instance, or...

      I think this should be more obvious. E.g. this wouldn't work correctly even though it doesn't violate the spec:

      @Dependent
      class Bar {
      }
      class Foo {
        @Inject
        Instance<Bar> instance;
        void ping() {
          instance.destroy(CDI.current().select(Bar.class).get());
        }
      }
      

      Attachments

        Issue Links

          Activity

            People

              mkouba@redhat.com Martin Kouba
              mkouba@redhat.com Martin Kouba
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: