Why not provide two different impls?

Same API, different Bundle-RequiredExecutionEnvironment.

With no difference in the external APIs you're not breaking the portability
of user's code.

Obviously concurrency is far less of a problem in embedded. But on the
server side actually the opposite is true?

Maintenance is certainly a hassle, but it's an issue where serving two
masters means neither can be completely satisfied.

- Ray


On Tue, Jan 14, 2014 at 1:47 PM, BJ Hargrave <[email protected]> wrote:

> > Even for getTracked, the method returns a writeable, sorted map, so
> > it must be a sorted copy of the internal map. If there was a
> > SortedCopyOnWriteMap class, this could be used for the internal map
> > to make the copy an O(1) operation but at the cost of making all map
> > mutations more expensive. So it may be a bad tradeoff for many.
>
> I will note that we could use ConcurrentHashMap here. The copy would not
> be O(1) since the sorting must still take place, but it would require no
> synchronization during the copy.
>
> However, this requires Java 5 and the tracker package still works on Java
> ME for our embedded users of OSGi.
>
> --
>
>  *BJ Hargrave*
> Senior Technical Staff Member, IBM
> OSGi Fellow and CTO of the *OSGi Alliance* <http://www.osgi.org/>
> *[email protected]* <[email protected]>
>
> office: +1 386 848 1781
> mobile: +1 386 848 3788
>
>
> _______________________________________________
> OSGi Developer Mail List
> [email protected]
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>



-- 
*Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
 (@rotty3000)
Senior Software Architect
*Liferay, Inc.* <http://www.liferay.com> (@Liferay)
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to