I apologize in advance for the long winded email. By Alen's suggestion, I first tried to get a thread local connection instance to be injected. So I first copied an implementation of ThreadLocalScope from Guice Custom Scope implementation http://pastie.org/857790. Then I injected this scope into my ThreadLocalConnectionProvider to inject the scope to provide initial seed value and to provide fall back connection instance http://pastie.org/857829. To get a thread local connection instance, I call the scope method of my scope implementation. My modules binding is given here. http://pastie.org/857810. My unit tests work as in I get the same connection instance every time. My question is related to exception handling. I inject data source to any Provider that requires a connection. DataSource#getConnection() throws SQLException in its method signature. So in my get() implementation, I have to swallow it or throw unchecked exception in its place as it I have done in my example. I know that I can used ThrowingProviders, but scope method does not allow an implementation of that interface as one of its method argument. Is there a better way to do this write this implementation or am I stuck with what I have?
Kartik On Tue, Mar 2, 2010 at 5:16 AM, Alen Vrečko <[email protected]> wrote: > The @Retry just calls the method again if exception is thrown. Just > need to make sure the RetryInterceptor is the first one installed to > avoid any surprises. > > In my case the database server got restarted from time to time. That > is nothing special but didn't want the Connection Pool to validate > connections all the time, therefore ConnectionClosedException happens. > But the @Retry just calls the method again, the CP is smart enough to > give a good connection the second time, and the user doesn't get en > error. > > Cheers > Alen > > On 1 mar., 16:46, Kartik Kumar <[email protected]> wrote: > > @Alen What is @Retry annotation? Was this one of the application specific > > annotations that you implemented? > > > > On Sun, Feb 28, 2010 at 3:11 PM, Eelco Hillenius > > <[email protected]>wrote: > > > > > > > > > > Just curious, when would you not need a transaction? > > > > > I guess I should say that you don't always want to turn off autocommit > > > (transaction per execution instead of per annotated method). And > > > thinking about it it, maybe there is no good reason. > > > > > Eelco > > > > > -- > > > 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]<google-guice%[email protected]> > <google-guice%2bunsubscr...@google groups.com> > > > . > > > 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]<google-guice%[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.
