| Article: |
Aspect-Oriented Programming and JBoss | |
| Subject: | Production | |
| Date: | 2003-05-30 09:40:03 | |
| From: | anonymous2 | |
|
Response to: Production
|
||
|
Another example is hooks for notifications. No more of the syntax-sugar of Listener interfaces and such.
|
||
Showing messages 1 through 4 of 4.
-
Production
2003-05-30 12:00:15 anonymous2 [View]
-
Production
2003-05-30 13:33:15 patriot1burke [View]
You haven't clearly defined your requirements here. Can you elaborate?
There is a bunch of ways you could implement this pattern.
1) Add a interceptor that broadcasts a generic message "notify(className, methodName, args, response);" and attached via a pointcut
2) Add an interceptor per notification type which is attached via a separate pointcut for each notification type.
3) Use our AOP runtime interface and have subscribers register specifically for notifications on a per instance basis.
With JBoss AOP, you can apply interceptors solely to one specific object instance at runtime. So subscribers can register themselves in the traditional Listener manner, but Publishers don't have to be architected ahead of time to be publishers.



What I found when I used the Dependency mechanism on a large scale project was that I inititally wanted some sort of aspect mechanism (AOP wasn't around at the time). But that later, during debugging, I was thankful that I could adress the listener/notification issues on a case-by-case basis by inspecting the code.
I also kept the number of central broadcasters to a minimum. If I were to add notification to every method of every class I wouldn't have a good grasp of which notification was the RIGHT notification to listen to.
I understand how these issues are addressed when I am writing the code in a standard imperative manner. How are these addressed by AOP?