In the service layer I have a classes that look something like:
class MyService {
public doSomething() {
TelnetSession session = new TelnetSession();
session.open("username", "password");
session.execute("blah");
session.close();
}
}
In many classes I have to declare and open session and then at the end close it. I'd rather do something with annotations but I've got no idea where to start. How do other people do something like this:
class MyService {
@TelnetTransaction
public doSomething() {
session.execute("blah");
}
}
where a method annotated with @TelnetTransaction
instantiates, opens and passes in the TelnetSession
object.
Thanks,
James
Before and after is what aspect oriented programming is for.
Spring handles transactions with aspects. Give Spring AOP or AspectJ a look.
Unless you are doing something ropey, you want to end up with an object that delegates to a service object, with the execute around. There is no reason for both types to implement exactly the same interface, and good reasons why they should not. There are a number of ways of ending up with this:
java.lang.reflect.Proxy
requires you to add an interface.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With