Am 2020-08-11 um 11:48 schrieb Stuart McCulloch:
JSR330 annotation scanning is enabled for all realms including
extensions, so it should be picked up.

Does the replacement implementation have the same "hint" or name?
ie. @Named("default")

You can turn on detailed container logging with -Dsisu.debug which will log
all bindings discovered in each realm/extension and any potential issues.

Hi Stuart,

I have followed your advice and added explicit names: "default" for both:

@Named( "default" )
@Singleton
public class DefaultSyncContextFactory
    implements SyncContextFactory

and

@Named( "default" )
@Singleton
public class RedissonSyncContextFactory
    implements SyncContextFactory

I can see this:
77. LinkedKeyBinding{key=Key[type=java.lang.Object, annotation=*], 
source=ClassRealm[plexus.core, parent: null], scope=Scopes.NO_SCOPE, 
target=Key[type=org.eclipse.aether.internal.impl.DefaultSyncContextFactory, 
annotation=[none]]}
78. LinkedKeyBinding{key=Key[type=java.lang.Object, annotation=*], 
source=ClassRealm[plexus.core, parent: null], scope=Scopes.NO_SCOPE, 
target=Key[type=org.eclipse.aether.synccontext.RedissonSyncContextFactory, 
annotation=[none]]}
249. 
ProviderInstanceBinding{key=Key[type=org.eclipse.aether.impl.SyncContextFactory,
 annotation=[none]], source=org.eclipse.sisu.wire.LocatorWiring, 
scope=Scopes.NO_SCOPE, provider=org.eclipse.sisu.wire.BeanProviders$7@6cce16f4}
334. 
ConstructorBinding{key=Key[type=org.eclipse.aether.internal.impl.DefaultSyncContextFactory,
 annotation=[none]], source=ClassRealm[plexus.core, parent: null], 
scope=Scopes.SINGLETON}
335. 
ConstructorBinding{key=Key[type=org.eclipse.aether.synccontext.RedissonSyncContextFactory,
 annotation=[none]], source=ClassRealm[plexus.core, parent: null], 
scope=Scopes.SINGLETON}

I am afraid that the AetherModule as well as DefaultServiceLocator basically break the bean names, thus making it unusable. The extension is defitively not picked up because I don't see log statements from it.

Tried also:
bind( SyncContextFactory.class ).annotatedWith( Names.named( "default" ) ) //
        .to( DefaultSyncContextFactory.class ).in( Singleton.class );

Even removing did not work.

Changed order in m2.conf, no avail.

Anything else I could try?

Michael

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to