[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[sisu-users] Having trouble customizing one binding
|
I want to take detailed control of one binding.
In a module, I would write:
@Override
protected void configure()
{
bind(JsonFactory.class).annotatedWith(WsBusTicketCodecJsonFactory.class).to(SmileFactory.class);
}
If I make a module by extending AbstractModule with this code, I have
a choice of two failure.
If I pass it to the injector ahead of WireModule, Guice complains that
I have a duplicate binding for this binding.
If I pass it to the WireModule as the first parameter, I stuck on a
different problem.
My module has several @Parameters-annotated methods. One is:
@Provides
@Parameters
WsBusConfig config() {
return new WsBusConfig(configFilePathname);
}
When my module is outside of WireModule, all is well. When it's inside, I get
WARN: Sisu - Ignoring incompatible @Parameters binding:
ProviderInstanceBinding[key=Key[type=com.basistech.wsbus.api.WsBusConfig,
annotation=@org.eclipse.sisu.Parameters],
source=com.basistech.wsbus.api.WsBusConfig
com.basistech.wsbus.launcher.BusBootstrap$1.config(),
scope=Scopes.NO_SCOPE, provider=@Provides
com.basistech.wsbus.launcher.BusBootstrap$1.config(BusBootstrap.java:91)]
followed by a cascade of problem when that value is not in fact injected.