Ah n/m got it. Didn't have the right class for resource loading :) Thanks!
On Oct 25, 10:05 am, sbutalia <[email protected]> wrote: > I tried this.. > QueueServiceModule qmodule = new QueueServiceModule(); > DepositModule dmodule = new DepositModule(); > Injector injector = Guice.createInjector(new Module[] > {qmodule, dmodule}); > ViDepositService vds = > injector.getInstance(ViDepositService.class); > vds.deposit(); > > Still getting the same error... > > On Oct 25, 9:33 am, Fred Faber <[email protected]> wrote: > > > > > > > > > You'd need to use QueueServiceModule when you create an injector, too. The > > @Provides method will give you the binding you need. > > > On Tue, Oct 25, 2011 at 11:42 AM, sbutalia <[email protected]> wrote: > > > Hello, > > > > Coming into this question as a beginner so apologies if this is a > > > trivial.. > > > > I have the following services.. > > > > @Inject > > > public AmazonQueueService(AmazonSQSClient sqs, Logger logger){ > > > this.sqs = sqs; > > > this.logger = logger; > > > } > > > @Inject > > > public ViDepositService(Logger logger, AmazonQueueService asqs){ > > > this.logger = logger; > > > this.asqs = asqs; > > > } > > > > Following Guice Module Configurations... > > > public class QueueServiceModule extends AbstractModule{ > > > protected void configure() { > > > > bind(QueueServiceInterface.class).to(AmazonQueueService.class); > > > } > > > > @Provides > > > AmazonSQSClient provideAmazonSQSClient() { //Returns an instance of > > > AmazonSQSClient by picking up the credentials from a local > > > resource.. } > > > > public class DepositModule extends AbstractModule{ > > > @Override > > > protected void configure() { > > > > bind(DepositServiceInterface.class).to(ViDepositService.class); > > > > I'm set up a test.. > > > Injector injector = Guice.createInjector(new > > > DepositModule()); > > > ViDepositService vds = > > > injector.getInstance(ViDepositService.class); > > > vds.deposit(); > > > > Getting this error.. > > > com.google.inject.CreationException: Guice creation errors: > > > > 1) Could not find a suitable constructor in > > > com.amazonaws.services.sqs.AmazonSQSClient. Classes must have either > > > one (and only one) constructor annotated with @Inject or a zero- > > > argument constructor that is not private. > > > at > > > com.amazonaws.services.sqs.AmazonSQSClient.class(AmazonSQSClient.java: > > > 99) > > > while locating com.amazonaws.services.sqs.AmazonSQSClient > > > > I cannot change the com.amazonaws.services.sqs.AmazonSQSClient class > > > since its provided by Amazon. Thoughts on how I can get this working? > > > Do I need another provider in the DepositModule? > > > > Thanks > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "google-guice" group. > > > To post to this group, send email to [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]. > > > For more options, visit this group at > > >http://groups.google.com/group/google-guice?hl=en. -- You received this message because you are subscribed to the Google Groups "google-guice" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-guice?hl=en.
