Skip to content

Commit

Permalink
Address remaining TODOs for passivation mentions.
Browse files Browse the repository at this point in the history
  • Loading branch information
manovotn authored and Ladicek committed Oct 14, 2021
1 parent 269ef0d commit ab69fe4
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 6 deletions.
3 changes: 0 additions & 3 deletions spec/src/main/asciidoc/core/events.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -193,9 +193,6 @@ The container must provide a built-in bean with:

If an injection point of raw type `Event` is defined, the container automatically detects the problem and treats it as a definition error.

The built-in implementation must be a passivation capable dependency, as defined in <<passivation_capable_dependency>>.
// TODO move passivation to Full?

[[observer_resolution]]

=== Observer resolution
Expand Down
13 changes: 13 additions & 0 deletions spec/src/main/asciidoc/core/events_full.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@

== Events in {cdi_full}

[[firing_events_full]]

=== Firing events in {cdi_full}

[[builtin_event_full]]

==== The built-in `Event` in {cdi_full}

In addition to rules defined in <<builtin_event>>, the following rule applies.

The built-in implementation must be a passivation capable dependency, as defined in <<passivation_capable_dependency>>.


[[observer_methods_full]]

=== Observer methods in {cdi_full}
Expand Down
3 changes: 0 additions & 3 deletions spec/src/main/asciidoc/core/scopescontexts.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -123,9 +123,6 @@ Extensions providing context implementations for normal scopes should implement

If the context object is inactive, the `get()` and `destroy()` methods must throw a `ContextNotActiveException`.

When the container calls `get()` or `destroy()` for a context that is associated with a passivating scope it must ensure that the given instance of `Contextual` and the instance of `CreationalContext`, if given, are serializable.
// TODO move passivation to Full?

The context object is responsible for destroying any contextual instance it creates by passing the instance to the `destroy()` method of the `Contextual` object representing the contextual type. A destroyed instance must not subsequently be returned by the `get()` method.

The context object must pass the same instance of `CreationalContext` to `Contextual.destroy()` that it passed to `Contextual.create()` when it created the instance.
Expand Down
8 changes: 8 additions & 0 deletions spec/src/main/asciidoc/core/scopescontexts_full.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

== Scopes and contexts in {cdi_full}

[[context_full]]

=== The `Context` interface in {cdi_full}

In addition to rules defined in <<context>>, the following rule applies.

When the container calls `get()` or `destroy()` for a context that is associated with a passivating scope it must ensure that the given instance of `Contextual` and the instance of `CreationalContext`, if given, are serializable.

[[dependent_context_full]]

=== Dependent pseudo-scope in {cdi_full}
Expand Down

0 comments on commit ab69fe4

Please sign in to comment.