On 9/14/26 16:50, 'William Burke' via Quarkus Development mailing list
wrote:
> Quarkus AI (chat and agent workflow) is gonna need persistable
> conversation scopes. Without persistable scopes, CDI will be a lot less
> useful. Unfortunately, we're not in a stateless world anymore if LLM
> conversations are going to be managed by the server.
>
> I believe you it is not trivial, which is why I asked, but I still need
> it. (I remember Infinispan AOP cache being a nightmare). Maybe adding
> some constraints would make it less complex.
>
> My first thought is to have it jackson-based and to ignore properties
> annotated with @Inject and @ConfigProperty.
You'll need to handle CDI initializers (~ setter injection) and
constructor injection as well. Moreover, it's not only @ConfigProperty -
in ArC any qualifier can be used for _qualified injected fields_ -
https://quarkus.io/guides/cdi-reference/#qualified-injected-fields.
Also if a serialized bean has a @Dependent bean injected then
deserialization would mean a new injected bean instance, which is
probably unexpected. Because normally beans with scope @Dependent must
be serialized along with their client.
Anyway, this is just the tip of the iceberg. For example, interceptors
and decorators of a passivation capable bean must be passivation capable
as well. And you'll need to validate this, otherwise an unexpected error
may occur at runtime.
> On activate deserialize
> from json then let Arc fill in injection points, then call
> @PostActviation.
ArC currently does not provide an API for this. So you'd have to
implement this manually.
> Provide a override interface for complex cases so
> users can take over passivation/activation. Provide config switches/
> annotations for when passivation happens (per request, tx commit, on
> shutdown, when state changes, etc...)
>
> Arc probably doesn't support @PostActivation and I'll need to figure out
> a way not to call @PostConstruct.
No, it doesn't.
>
> On Mon, Sep 14, 2026 at 10:22 AM 'Martin Kouba' via Quarkus Development
> mailing list <
quark...@googlegroups.com <mailto:
quarkus-
> spec-5.0#passivating_scope <
https://jakarta.ee/specifications/
> cdi/5.0/jakarta-cdi-spec-5.0#passivating_scope>
>
> On 9/14/26 16:15, 'William Burke' via Quarkus Development mailing list
> wrote:
> > I have a need to persist/passivate a CDI scope. Do we have an
> > implementation of this for something like SessionScoped? Just
> asking
> > before I implement something.
> >
> > Thanks.
> >
> > --
> > Bill Burke
> > IBM
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Quarkus Development mailing list" group.
> > To unsubscribe from this group and stop receiving emails from it,
> send
> > an email to
quarkus-dev...@googlegroups.com
> <mailto:
quarkus-dev%2Bunsu...@googlegroups.com> <mailto:
quarkus-
> <mailto:
quarkus->
> >
dev+uns...@googlegroups.com
> <mailto:
dev%2Bunsu...@googlegroups.com>>.
> quarkus- <
https://groups.google.com/d/msgid/quarkus->
> > dev/CAL%3DE%3DjSBNtFc8UkoEeg-
> > ZVBtyg_kguMeAN_7mFHqaK5v87Zt0Q%
40mail.gmail.com
> <
http://40mail.gmail.com> <https://
> >
groups.google.com/d/msgid/quarkus-dev/CAL%3DE%3DjSBNtFc8UkoEeg-
> <
http://groups.google.com/d/msgid/quarkus-dev/
> CAL%3DE%3DjSBNtFc8UkoEeg->
> > ZVBtyg_kguMeAN_7mFHqaK5v87Zt0Q%
40mail.gmail.com
> <
http://40mail.gmail.com>?
> > utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Quarkus Development mailing list" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to
quarkus-dev...@googlegroups.com
> <mailto:
quarkus-dev%2Bunsu...@googlegroups.com>.
> quarkus-dev/c9ff20be-34d1-4442-93e3-3b7be35bed2f%
40redhat.com
> <
https://groups.google.com/d/msgid/quarkus-dev/
> c9ff20be-34d1-4442-93e3-3b7be35bed2f%
40redhat.com>.
> dev/CAL%3DE%3DjT%2Bn%2BKLTTwv6Yi_RxVQ_O-
> VgPcVL3HrkYjBVJ5YZB3P%2BQ%
40mail.gmail.com <
https://groups.google.com/d/
> msgid/quarkus-dev/CAL%3DE%3DjT%2Bn%2BKLTTwv6Yi_RxVQ_O-
> VgPcVL3HrkYjBVJ5YZB3P%2BQ%
40mail.gmail.com?
> utm_medium=email&utm_source=footer>.