You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have an OSGI application running on Felix, and we use the graphql-java-servlet library to serve GraphQL endpoints. In our log we see errors saying 'No configurations found at path OSGI-INF/configurator' coming from the Felix configurator.
The root cause is a requirement contained in the graphql-java-servlet bundle: osgi.extender:
It matches any capability provided in that namespace. The intended use of this namespace is to specify a specific extender (osgi.component or osgi.configurator).
With this too generic requirement, it can bind to any bundle that provides a osgi.extender capability. In this case it binds to the configurator bundle. This is unfortunate, as the configurator relies on the resolving of the requirement to detect whether it should process the bundle (as it assumes it was bound to the bundle on purpose). It searches for configuration that the bundle does not contain and logs the error message.
@richardscholten Unfortunately there currently is no longer a maintainer involved with OSGI experience. Therefore any contributions to help fix this bug would be highly appreciated!
We have an OSGI application running on Felix, and we use the graphql-java-servlet library to serve GraphQL endpoints. In our log we see errors saying 'No configurations found at path OSGI-INF/configurator' coming from the Felix configurator.
The root cause is a requirement contained in the graphql-java-servlet bundle: osgi.extender:
https://github.com/graphql-java-kickstart/graphql-java-servlet/blob/master/graphql-java-servlet/bnd.bnd
It matches any capability provided in that namespace. The intended use of this namespace is to specify a specific extender (osgi.component or osgi.configurator).
With this too generic requirement, it can bind to any bundle that provides a osgi.extender capability. In this case it binds to the configurator bundle. This is unfortunate, as the configurator relies on the resolving of the requirement to detect whether it should process the bundle (as it assumes it was bound to the bundle on purpose). It searches for configuration that the bundle does not contain and logs the error message.
0 = {BundleWireImpl@2865} "[graphql-java-servlet [20](R 20.0)] osgi.extender; () -> [org.apache.felix.configurator [36](R 36.0)]"
m_requirer = {BundleRevisionImpl@2869} "graphql-java-servlet [20](R 20.0)"
m_req = {BundleRequirementImpl@2870} "[graphql-java-servlet [20](R 20.0)] osgi.extender; ()"
m_provider = {BundleRevisionImpl@2871} "org.apache.felix.configurator [36](R 36.0)"
m_cap = {BundleCapabilityImpl@2872} "[org.apache.felix.configurator [36](R 36.0)] osgi.extender; {osgi.extender=osgi.configurator, version=1.0.0}"
Equally, it could have bound to the org.apache.felix.scr bundle, as it also provides a capability from the osgi.extender namespace.
The text was updated successfully, but these errors were encountered: