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.

Reply via email to