Hi Jeroen,

The problem is that I am not a big fan of services layer. Sometimes it looks
very anemic to me. But I totally agree with you when you say the action
should not know about persistence problems, and that's why I want to do it
via AOP.

I had the same thought about the problem: the Spring proxy does not work
properly with all the magic Struts2 and Reflection do!

I tried to open a bug in the Struts2 JIRA, but they closed it and said that
it works. I think it should be some kind of spring or struts configuration I
am not doing right.

Thanks in advance,
Mauricio

On Thu, Apr 30, 2009 at 11:22 PM, Jeroen De Ridder <voetsjo...@gmail.com>wrote:

> You really shouldn't be making your Struts 2 actions @Transactional. Doing
> that causes Spring to create a proxy so it can put some extra
> transaction-handling logic between the method call and the actual method.
> The thing is, Struts 2 and OGNL rely heavily on reflection on the action
> classes which simply does not work at all with the proxies created by
> Spring.
>
> Regardless, making your actions @Transactional means mixing persistence
> concerns with controller logic in the same class. You should consider
> keeping the two separated. For example, the service approach is a good
> start:
> http://struts.apache.org/2.0.14/docs/struts-2-spring-2-jpa-ajax.html.
>
>
>  Yes, I am. Everything works fine when I don't try to use Spring
>> transactional AOP!
>>
>> Mauricio
>>
>> On Thu, Apr 30, 2009 at 9:43 PM, Dave Newton <newton.d...@yahoo.com>
>> wrote:
>>
>>
>>
>>> Mauricio Aniche wrote:
>>>
>>>
>>>
>>>> I am using Struts2+Spring+JPA/Hibernate. When I use the @Transactional
>>>> to
>>>> mark an execute() method in a Struts2 Action, the action stops working
>>>> properly (i.e. the attributes in the action are not automatically
>>>> setted).
>>>> It does not work with Spring AOP transactions as well.
>>>>
>>>> In my struts.config I setted the following constant:
>>>> ----
>>>> <constant name="struts.objectFactory" value="spring" />
>>>>
>>>>
>>>>
>>> You're using the Spring plugin, correct?
>>>
>>> Dave
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
>>> For additional commands, e-mail: user-h...@struts.apache.org
>>>
>>>
>>>
>>>
>>
>>
>>
>
>

Reply via email to