Tapestry 5
  1. Tapestry 5
  2. TAP5-335

Provide access to annotations of service implementation class


    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0.15
    • Fix Version/s: 5.2.0
    • Component/s: tapestry-ioc
    • Labels:


      In some situations it would be useful to have direct access to annotations of service implementation class. This would allow us, during registry startup, detect services with some specific class or method level annotations and take related actions.

      For instance imagine tapestry-quartz integration based on simple declarative
      mechanism where it would be possible to use something like this:

      public class MyServiceImpl implements MyService {

      @Scheduled(cronExpression="0/5 * * * * ?")
      public void myMethod()

      { ... }


      and framework would be able, during registry startup, automatically detect all service methods annotated by @Scheduled annotation and register them in the scheduler.

      I see two possible solutions:

      1. Modify ServiceDef to hold information about service implementation class.

      2. Service proxy could inherit all annotations from service implementation
      class, then we would be able to check annotations directly on service proxy.

      But maybe there is another, more elegant solution.

      For more details see thread:

        Issue Links


          Lubor Gajda created issue -
          Igor Drobiazko made changes -
          Field Original Value New Value
          Assignee Igor Drobiazko [ igor.drobiazko ]
          Igor Drobiazko made changes -
          Status Open [ 1 ] Closed [ 6 ]
          Fix Version/s 5.2.0 [ 12314122 ]
          Resolution Fixed [ 1 ]
          Alejandro Scandroli made changes -
          Link This issue relates to TAP5-1349 [ TAP5-1349 ]


            • Assignee:
              Igor Drobiazko
              Lubor Gajda
            • Votes:
              4 Vote for this issue
              4 Start watching this issue


              • Created: