Announcement Announcement Module
Collapse
No announcement yet.
ProxyFactoryBean Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • ProxyFactoryBean

    I'm reading section

    http://www.springframework.org/docs/...p.html#d0e3285

    that gives an example on how to configure ProxyFactoryBean

    Code:
    <bean id="person" 
        class="org.springframework.aop.framework.ProxyFactoryBean">
        <property name="proxyInterfaces"><value>com.mycompany.Person</value></property>
    
        <property name="target"><ref local="personTarget"/></property>
        <property name="interceptorNames">
            <list>
                <value>myAdvisor</value>
                <value>debugInterceptor</value>
            </list>
        </property>
    </bean>
    My question is what if class PersonImpl of the above example implements more than one interface?

    I`m asking because of the following situation:

    Let's assume a "PersonImpl" extends AbstractPerson
    and AbstractPerson implements 2 interfaces, let's say interfaceA and interfaceB.

    Now I have to decide which interface is the "right" interface for the property "proxyInterfaces" A or B? But If I stayed with A I loose the business functionality of B and vice versa.

    Is this a real problem or am I just doing things the wrong way?

    Maybe I have to pass all implemented interfaces in a list?

    Code:
    <property name="proxyInterfaces">
            <list>
                <value>interfaceA</value>
                <value>interfaceB</value>
            </list>
    </property>
    Thank you!
    Mo

  • #2
    note the name of the attribute proxyInterfaces is plural. It is usually a good indicator in Spring that things can be multiple (or a list). So

    Code:
    <property name="proxyInterfaces">
       <list>
          <value>com.mycompany.Person</value>
          <value>com.mycompany.AnotherInterface</value>
       </list>
    </property>
    should work.[/code]

    Comment


    • #3
      yep now it does... I had problems with my code but because of other things! thanks.

      Comment

      Working...
      X