in src/main/java/org/apache/geronimo/jcache/simple/osgi/JCacheActivator.java [42:64]
public void start(final BundleContext context) {
final Dictionary<String, Object> cachingProvider = new Hashtable<>();
cachingProvider.put("javax.cache.provider", CachingProvider.class.getName());
cacheProviderRegistration = context.registerService(
CachingProvider.class, new SimpleProvider(), cachingProvider);
final Dictionary<String, Object> jcacheExtension = new Hashtable<>();
jcacheExtension.put("osgi.cdi.extension", "geronimo-jcache-simple");
jcacheExtension.put("aries.cdi.extension.mode", "implicit"); // always enable/-able since it just enable interceptors
jcacheExtensionRegistration = context.registerService(
Extension.class, new PrototypeServiceFactory<Extension>() {
@Override
public Extension getService(final Bundle bundle, final ServiceRegistration<Extension> registration) {
return new MakeJCacheCDIInterceptorFriendly();
}
@Override
public void ungetService(final Bundle bundle, final ServiceRegistration<Extension> registration,
final Extension service) {
// no-op
}
}, jcacheExtension);
}