users@glassfish.java.net

Re: ejb-jar.xml assembly-descriptor question: interceptor recognized, but not loaded?

From: Laird Nelson <ljnelson_at_gmail.com>
Date: Sun, 27 May 2012 20:19:09 -0400

On Sun, May 27, 2012 at 8:12 PM, Laird Nelson <ljnelson_at_gmail.com> wrote:

> On Sun, May 27, 2012 at 8:00 PM, Steven Siebert <smsiebe_at_gmail.com> wrote:
>
>> Are you using CDI? Do you have a beans.xml file in either of the ejb-jar
>> or the library jar in your ear?
>>
>
> Thanks; no, not using CDI.
>

Narrowing this down.

The DD is definitely getting read.

The problem is either with my understanding of the <ejb-name> element or
Glassfish's resolution of it.

If I make my assembly descriptor section look like this:

<assembly-descriptor>
    <interceptor-binding>
      <ejb-name>*</ejb-name>
      <interceptor-class>com.foobar.NewPersonInterceptor</interceptor-class>
    </interceptor-binding>
  </assembly-descriptor>

...then my interceptor is called (obviously on every method of every EJB,
which is not what I want, but at least I finally got it to fire at all).

My question now is: given that I have a section above this stanza that
looks (in part) like this:

<enterprise-beans>
    <session>
      <ejb-name>PersonBean</ejb-name>
      <ejb-class>com.foobar.PersonBean</ejb-class>
...

...then shouldn't I use "PersonBean" as the <ejb-name> in my
<interceptor-binding> stanza? But if I do this, my interceptor is never
fired.

Best,
Laird

-- 
http://about.me/lairdnelson