When doFoo() was implemented in Bar some user's class could have been
compiled to make a direct method call to Bar.doFoo() instead of via the
Foo interface's Foo.doFoo() signature. It depends upon how the compiler
emits the invokevirtual call in the bytecode. So when you remove the
method from
The smart thing to do is to wait for the component's service to be
registered. This means that the component's dependencies are satisfied.
The component's bundle being active is just one such dependency but there
can be others.
--
BJ Hargrave
Senior Technical Staff Member, IBM
OSGi Fellow and
I made a PR to change to change to 4.0.0 from snapshot.
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788hargr...@us.ibm.com
- Original message -From: Tim Ward via osgi-dev
Yes. If the -runfw cannot be located, the launcher can manifest an error like this.
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788hargr...@us.ibm.com
- Original message -From: Paul F Fraser
Tim correctly cites the spec regarding the order SCR must process the elements in the XML. Since you are using annotations, there is one more thing to know. The javadoc for the Reference annotation states:
In the generated Component Description for a component, the references must be ordered in
You could do this by using a component factory. You would need another component to get the ComponentFactory service and call ComponentFactory.newInstance with the desired endpoint.framework.uuid service property.
But this is probably overkill for a single service. For a single service, you can
You can get the snapshots from https://oss.sonatype.org/content/repositories/osgi/
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788hargr...@us.ibm.com
- Original message -From: Thomas Driessen
I am not sure what your question is. What I saw on the vaadin link should work fine. The bnd-maven-plugin will use the bnd.bnd file in the project for bnd instructions.
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance // mobile: +1
The most recent versions of the gradle and maven support will make the project's dependencies available as bundles to the bndrun files.
For example:
Well enRoute is currently maven based and uses the Bnd maven plugins which themselves use the FileSetRepository. One of the links was to one of the Bnd maven plugins using it. So you don't need to do anything to use this support. It is part of the maven and gradle plugin's support.
--BJ
Well you, the developer, write the requirements (-runrequire) and the bnd-resolver-maven-plugin can resolve these requirements into a set of bundles (-runbundles). The resolver process will have access to the maven project dependencies (via a FileSetRepository) to resolve the requirements into a
Equinox has the LogService implementation built into the framework, so it starts logging very early.
In the alternate, for framework related information, you can write your own launcher and it can add listeners for the framework event types.
--BJ HargraveSenior Technical Staff Member, IBM //
Yes, that is at runtime.
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788hargr...@us.ibm.com
- Original message -From: Alain Picard To: hargr...@us.ibm.comCc: osgi-dev@mail.osgi.orgSubject: Re:
The import range in CNS says it will work with any version 1.x of com.foo. So the resolver is free to resolve CNS to use any 1.x version of the package com.foo. You can control the version sources by limiting which bundles are installed. If you want to get really fancy, you can implement a
Look at the ServiceComponentRuntime service: https://osgi.org/specification/osgi.cmpn/7.0.0/service.component.html#service.component-introspection
It provides access to DTOs which describe each component description, ComponentDescriptionDTO, and actual component instances,
No. But you can get that from BundleContext which you can have injected.
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788hargr...@us.ibm.com
- Original message -From: Alain Picard via
The OSGi Logger does not have a bundle which sends the log to the console. It may be a nice addition to enRoute to add a bundle which collects the log entries (perhaps via a LogStream) and formats them for output to the console.
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848
You can see what I have done for an SLF4J binding for the OSGi Log Service 1.4 spec in R7 at https://github.com/osgi/slf4j-osgi. I will note I have not tried it in a while, so it may be in need of some attention.
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow
Component properties are basically service properties which are basically meant to be things that can go in a Configuration: https://osgi.org/specification/osgi.core/7.0.0/framework.module.html#i3217016. Complex objects including objects implementing functional interfaces are not in scope for a
Yes, this is the way to use the new Logger API with DS < 1.4. DS 1.4 has specific support to call to the getLogger method for the component so that you can use field and constructor injection. But to use the new Logger API with DS 1.3 and lower, you will need to method inject the LoggerFactory and
What version of the Bnd Gradle plugin are you using? There is an issue where newer versions of Gradle can delete output folders (like bin) after Bnd thought it created them. So the builder complained.
This has been fixed for 4.0 with
The R7 final API jars are already built and ready for release to Maven Central once the OSGi members approve the specifications as final (ETA mid April). These jars do not have Automatic-Module-Name manifest entries in them. Just adding that is only a partial step. Unless you also test those jars
Delete the Service-Component header. Bnd will add it if necessary for any DS components.
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788hargr...@us.ibm.com
- Original message -From: Henrik
Did you try
http://www.osgi.org/xmlns/repository/v1.0.0" name="example"> value="org.apache.felix.framework"/> value="osgi.bundle"/> value="6.0.1" type="Version"/>
Note the use of the local
This should be fixed now.
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788hargr...@us.ibm.com
- Original message -From: Konrad Windszus via osgi-dev Sent by: osgi-dev-boun...@mail.osgi.orgTo:
You can file a bug in the OSGi public bugzilla: https://osgi.org/bugzilla
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788hargr...@us.ibm.com
- Original message -From: Thomas Driessen via
Thanks for the feedback. I have added a paragraph break to the source file so the next release will have it.
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788hargr...@us.ibm.com
- Original message
The OSGi framework know about things registered via the OSGi framework API such as services and framework listeners. The OSGi framework does not know about everything in the JVM such as threads, open files, open sockets, etc. So it cannot manage them for a bundle. So your bundle need to manage the
There are framework events which indicate the framework has started: https://osgi.org/specification/osgi.core/7.0.0/framework.lifecycle.html#d0e8798
But the larger question is "When have all the bundles completed their initialization and are ready for work?". This is a harder question to answer
There is not a way for a Designate element to alter the OCD to which it refers. So it would be up to any UI to detect that multiple Designates refer to the same OCD and generate a UI which can disambiguate them. So Felix Web Console should be updated.
--BJ HargraveSenior Technical Staff Member,
See https://github.com/osgi/osgi.enroute/commit/32c54eb654a86e4cd79a80b2e7c5dd659962c44a
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788hargr...@us.ibm.com
- Original message -From: Thomas
Why not just do this at tool time? You could author a Bnd plugin which scans for the Vaadin annotations in the class files and generate DS xml. This is what we do for the DS annotations.
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi
You should report this to the Apache Felix SCR JIRA component. That is where the Felix SCR developers can respond to the exception.
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788hargr...@us.ibm.com
Bnd supports Gradle and Maven. So you can use Gradle if you prefer (I personally prefer Gradle.)
OSGi enRoute is now using Maven since it is, by far, much more popular than Gradle. But a Gradle variant of enRoute could also be made. But it is more work to dual maintain the variants. So with
Michael,
Can we please step back to the beginning and describe, in much more detail, the issue you are seeing? I never understood the actual issue you seemed to be having.
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance //
With OSGi's JAX-RS support [1], you can easily publish and consume RESTy endpoints in your OSGi application.
So there is no need to "leave" OSGi to participate in a microservice environment.
[1]: https://osgi.org/specification/osgi.enterprise/7.0.0/service.jaxrs.html
--BJ HargraveSenior
This seems just like https://github.com/osgi/design/blob/master/rfcs/rfc0242/rfc-0242-Condition-Service.pdf
Are you making an alternate design? Or did you not know of this RFC?
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance //
The RFC includes adding support to DS (and CDI) but is service based and can be used in any service model. The RFC also includes configuration based support for creation of Conditions which is useful.
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of
Perhaps platform depends upon something which is no longer active?
Since these exceptions seem to be from Eclipse plugins, perhaps Eclipse people can be of more specific help here?
From the spec point of view, bundles in higher start levels are stopped before bundles at lower start levels. I
Factory configurations (in ConfigAdmin) and ComponentFactory (in DS) do not work together. They are mutually exclusive There can be only one thing in charge of making multiple instances of a component.
It can be either factory configurations (in ConfigAdmin), in which case a component instance
If you are using an API which takes a filter _expression_, the filter _expression_ must be well formed. This can include escaping any characters which would otherwise be interpreted as part of the _expression_ language.
The spec,
Nailed it!
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788hargr...@us.ibm.com
- Original message -From: Raymond Auge via osgi-dev Sent by: osgi-dev-boun...@mail.osgi.orgTo: Milen Dyankov via
You can look here https://en.wikipedia.org/wiki/OSGi_Specification_Implementations
--BJ HargraveSenior Technical Staff Member, IBM // office: +1 386 848 1781OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788hargr...@us.ibm.com
- Original message -From: "Clément
Configuration Plugins mutate configuration data each time it is delivered to a configuration target. So the Configuration Plugin must be active before any configuration targets which care about the mutated configuration data.
So this is orthogonal to Configurator which is about putting
Since both bundles B and C offer to export the api.a package, the framework could resolve both bundles to each export the package. Thus you can end up with 2 exports of the api.a package in the framework. So bundle D will import api.a from either bundle B or bundle C and thus will not be able to
‐‐‐ Original Message ‐‐‐
On Wednesday 11 March 2020 14:19, Raymond Auge wrote:
Hi Clément,
You may want to also look at https://blog.osgi.org/2020/01/to-embed-or-not-to-embed-your-api.html
:)
- Ray
On Wed, Mar 11, 2020 at 9:16 AM BJ Hargrave via osgi-dev <osgi-dev@mail.osgi.org
Your bundle needs to import the PubNub API package which means some other bundle must export the package. So you need to find or make a bundle which exports the PubNub API.
Note: The PubNub code may not work properly in an OSGi environment if it make certain assumptions about the class loading
You can of course infer the proper names for osgi.ee names for al recent Java SE releases. The list on the web page may be behind. See https://github.com/bndtools/bnd/blob/master/biz.aQute.bndlib/src/aQute/bnd/build/model/EE.java for the latest list in Bnd.
OSGi is no longer making execution
I kind of like the idea of Optional for field injection. As Neil says, it is short hand for cardinality=ReferenceCardinality.OPTIONAL.
Since R8 supports, Java 8 as the base language level, we can now add support for Optional as a field (and constructor) injection type. Bnd can infer the actual
An open source project for OSGi testing [1] has been working on better support for testing in OSGi environments. We are pleased to announce a first release [2]. Part of the work in this project was to help the AssertJ and JUnit 5 projects make better bundles for use in testing in OSGi environments
I thought Core R8 draft was already at https://www.osgi.org/developer/specifications/drafts/ but it was not. So I put it there.
We are looking to finalize technical work on Core R8 this month. Publication will be 2 months or so later.
I don't have dates to share on Compendium R8.
--BJ
As part of the mission transfer to the Eclipse Foundation, the osgi.org and mail.osgi.org servers will be soon shutting down.
So I have asked Eclipse [1] to provision a new osgi-users mail list to replace this osgi-dev mail list. Once provisioned, the new list [2] should be
The osgi-us...@eclipse.org [1] mail list is now set up. No subscriptions have been transferred. So you will need to go there and sign yourself up for the list. See you over on the new list.
[1]: https://accounts.eclipse.org/mailing-list/osgi-users
--BJ HargraveSenior Technical Staff Member, IBM
53 matches
Mail list logo