On Mon, Aug 24, 2009 at 8:12 AM, Max Bowsher <[email protected]> wrote:

>
> What you're doing above seems reasonable to me - you'll need to
> elaborate on "doesn't seem to work" to get help.
>

Thanks Max for your comments...

As far as "not working" what I end up with is "sqlSession" never being
bound. Code to illustrate::

For example this DOES work fine:

//SqlSessionProvider modified with default constructor (resource file
hardcoded in Provider)

//Module:
bind(SqlSession.class).toProvider(SqlSessionProvider.class);

//Implementation - WORKS
@Inject
public void setSqlSession(SqlSession sqlSession) {
    System.out.println("!!!!!! MyDbIbatisDao setSqlSession");
    this.sqlSession = sqlSession;
}

------------------
This ends up with sqlSession never being bound:

//SqlSessionProvider modified has constructor, takes resource file name

//Module:
SqlSessionProvider myDbProvider = new
SqlSessionProvider("mydb-ibatis-config.xml");
bind(SqlSession.class).annotatedWith(Names.named("MyDB")).toProvider(myDbProvider);

//Implementation - NEVER CALLED
@Inject
public void setSqlSession(@Named("MyDB") SqlSession sqlSession) {
    System.out.println("!!!!!! MyDbIbatisDao setSqlSession");
    this.sqlSession = sqlSession;
}


In this later case, I never see "setSqlSession" called (and obviously my
Provider get thus never called either.)
Am I declaring my setter incorrectly with the named annotation? I've even
tried with field injection and no luck either.

@Inject @Named("MyDB")
protected SqlSession sqlSession;

--~--~---------~--~----~------------~-------~--~----~
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