I can't provide the code - it is owned my a client. But here is the
pseudo code:
class EJB3Interceptor implements Interceptor {
public String intercept(ActionInvocation actionInvocation) throws
java.lang.Exception {
Object action = actionInvocation.getAction();
for all methods {
if( this is a setter and it is annotated as expected ) {
look up the EJB
set the EJB on the action
}
}
}
}
From here you would need to ensure that the interceptor is applied to
the actions that need ejb's.
--
From Down & Around, Inc.
Innovative IT Solutions
Software Architecture * Design * Development
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
web: www.fdar.com
email ian@(protected)
phone: 617.821.5430
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Paris Apostolopoulos wrote:
> Hi again.
>
> Ian thank you for your reply.
>
> If I understood well, please pardon me...if it is wrong the following
> you said
>
> 1) implement your custom ejb3 annotations into struts ok
> I wonder the @EJB annotations are not going to work (I guess). I had a
> look @ some glassfish FAQ..
>
> 2)Then implement Struts interceptors that are going to do the JNDI
> lookup?right?
>
> I have to admit I am bit confused
>
>
> My first attempt was to implement the classical ServiceLocator Pattern
> and stick it with delegates, though the pattern does not fit well with
> EJB3.
>
> Any hint from the Struts team ..is there any intention to implement
> that kind of support to Struts (Struts 2+ EJB3) integration? Or do you
> know any other extention project that is targeting this way..maybe we
> could contribute.
>
> At the moment this kind of problem does not make me fee confortable, I
> am a great Struts supporter(picked Struts as the web framework for our
> new j2ee web app) and its a pitty EJB3.0 is targeted towards either
> plain servlets or JSF for Dependency Injection etc etc.
>
> Any more hints if possible would be much appreciated!
>
> Thanks
>
>
>
>
> Stas Ostapenko wrote:
>> Hi !
>>
>> Ian, can you provide some kind of example source code to play with ?
>> I'm interesting in Struts 2 and EJB 3 interoperability, but I can't
>> figure out how to get started. Thanks !
>>
>>
>> On 1/22/07, Ian Roughley <ian@(protected):
>>> Currently there is no EJB3 support in Struts, however I have done this
>>> on a couple of projects. I used a custom annotation to mark action
>>> setters as ejb3 then a custom interceptor that looks for the
>>> annotation,
>>> looks up the ejb3 and injects it into the action. Doing it this way is
>>> less than a days work.
>>>
>>> Another option would be to replace the ObjectFactory (the class that
>>> does the dependency injection) with a a custom implementation that does
>>> EJB3 dependency injection.
>>>
>>> /Ian
>>>
>>> --
>>> From Down & Around, Inc.
>>> Innovative IT Solutions
>>> Software Architecture * Design * Development
>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> web: www.fdar.com
>>> email ian@(protected)
>>> phone: 617.821.5430
>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>
>>>
>>>
>>> papo wrote:
>>> > Hello
>>> >
>>> > I am trying to find a way of calling efficienlty from Struts Actions
>>> > -> SLSBs EJB3. I have made a question before.
>>> >
>>> > - Doing JNDI calls all the time through every action works though its
>>> > a very primitive way of doing it.
>>> > -Tried to implement the Service locator pattern though the semantics
>>> > on EJB3 are different (how to cache Intefaces, which interfaces)
>>> >
>>> > I know tha EJB3 on the web layer Serlvets/ JSF supports Dependency
>>> > Injection for EJB3.
>>> >
>>> >
>>> > Will Struts 2.0 support such a feature if NOT can anyone point me the
>>> > mechanics so to (try) doing it on my own.
>>> >
>>> > I am bit stuck for days at this very point of efficiently glue-ing
>>> > Struts and my EJB3 Business layer
>>> >
>>> > Any hint would be much appreciated!
>>> >
>>> >
>>> >
>>> >
>>> > ---------------------------------------------------------------------
>>> > To unsubscribe, e-mail: user-unsubscribe@(protected)
>>> > For additional commands, e-mail: user-help@(protected)
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@(protected)
>>> For additional commands, e-mail: user-help@(protected)
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@(protected)
>> For additional commands, e-mail: user-help@(protected)
>>
>>
>
>
> ------------------------------------------------------------------------
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@(protected)
> For additional commands, e-mail: user-help@(protected)
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@(protected)
For additional commands, e-mail: user-help@(protected)