Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • E eclipsefdn-api-common
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 14
    • Issues 14
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1
    • Merge requests 1
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Eclipse FoundationEclipse Foundation
  • IT
  • APIs
  • eclipsefdn-api-common
  • Issues
  • #28
Closed
Open
Issue created Nov 21, 2022 by Martin Lowe@malowe🇨🇦Maintainer

Create startup proxy service in core

A couple of times, we've run into the issue of allowing startup beans to be generated by a provider, but it doesn't seem to work with out-of-the-box Quarkus. To get around this, we will create a StartupProxyService that will consume services that should be startup and call an arbitrary method on them to ensure that the service is initialized. In support of this, a new interface should be created with a single method that only logs that the service was started in the Startup phase. This method is required as the Quarkus CDI system is lazy by default. This startup proxy interface can then be targeted using the Instance iterator (see Persistence Filter service for example) and looped over in a post-construct event in the StartupProxyService and initialized through the method call.

For testing this, I would make a use case that uses the providers as mentioned and use a QuarkusTestProfile to switch between the 2 implementations. This can be as easy as one service returns a string "foo" and the other "bar", as we just want to be sure that this implementation works with providers as expected and avoid regressions.

Assignee
Assign to
Time tracking

Copyright © Eclipse Foundation, Inc. All Rights Reserved.     Privacy Policy | Terms of Use | Copyright Agent