Hi Alejandro,

thanks a lot for the hint. I refactored our code according to the docs
provided. The problem is, that the @CommitAfter is still not triggered
by the JPA module. Our module looks like this:

public class RestModule
{
    public static void bind(ServiceBinder binder)
    {
        // REST resources
        binder.bind(BookmarkResource.class);
        ...
    }

    @Contribute(javax.ws.rs.core.Application.class)
    public static void configureRestResources(Configuration<Object> singletons,
                                              ActivityResource activityResource,
                                              BookmarkResource bookmarkResource,
                                              ...)
    {
        singletons.add(bookmarkResource);
        ...
    }

    @Match("*Resource")
    public static void adviseTransactionally(JpaTransactionAdvisor advisor,
                                             MethodAdviceReceiver receiver)
    {
        advisor.addTransactionCommitAdvice(receiver);
    }
}

Does anyone know, why the advising of our resource classes doesn't
work? I debugged the code and the advise method of
CommitAfterMethodAdvice is never called. Is it necessary to use
interfaces?

Thanks a lot in advance!

Kind regards

Thilo

On Sat, Apr 7, 2012 at 12:14 AM, Alejandro Scandroli
<alejandroscandr...@gmail.com> wrote:
> Hey Thilo
>
> You don't have to use the autobuild feature if you don't want to.
> Declare your resteasy resources as normal Tapestry IoC services and
> then contribute them to the javax.ws.rs.core.Application.
> Here is an example from then tapestry-resteasy guide:
>
> @Contribute(javax.ws.rs.core.Application.class)
> public static void configureRestResources(Configuration<Object>
> singletons, ReloadableEchoResource reloadableEchoResource)
> {
>        singletons.add(reloadableEchoResource);
> }
>
> BTW,  remember NOT to put this service in the autodiscovery package.
>
> Check the guide, specially the Live class reloading part.
> http://tynamo.org/tapestry-resteasy+guide#tapestry-resteasyguide-Liveclassreloading
>
> Cheers.
> Alejandro.
>
>
> On Thu, Apr 5, 2012 at 13:35, Thilo Tanner <ttan...@astina.ch> wrote:
>> Dear Tapestry Users
>>
>> We would like to integrate Tynamo's Resteasy module with the JPA
>> module (from Tapestry with Hibernate 4). The problem is, that we
>> cannot advise Tapestry to observe the @CommitAfter annotations for the
>> web service resources. The following doesn't work:
>>
>> @Match("*Resource")
>> public static void adviseTransactions(HibernateTransactionAdvisor
>> advisor, MethodAdviceReceiver receiver)
>> {
>>        advisor.addTransactionCommitAdvice(receiver);
>> }
>>
>> The Resteasy module uses the autobuild() method to create singletons
>> of the resource classes (without having interfaces).
>>
>> Is it not possible to advise a service which has no interface?
>>
>> Is there may be a better way integrate JPA with Resteasy?
>>
>> Thanks in advance for your help!
>>
>> Kind regards and happy easter
>>
>> Thilo
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>



-- 
Thilo Tanner

Astina AG
Hardturmstrasse 105
CH-8005 Zürich

Phone:  +41 44 500 77 10
Fax:    +41 44 500 77 11
Direct: +41 44 500 77 16
Mobile: +41 79 506 46 36

Web:    http://www.astina.ch

***
Diese Mitteilung ist nur fuer die Empfaengerin / den Empfaenger
bestimmt und kann vertrauliche Informationen enthalten. Fuer den Fall,
dass sie von nicht berechtigten Personen empfangen wird, bitten wir
diese hoeflich, die Mitteilung an Astina zurueckzusenden und
anschliessend
die Mitteilung mit allen Anhaengen sowie allfaellige Kopien zu
vernichten bzw. zu loeschen. Der Gebrauch der Information ist verboten.

This message is intended only for the named recipient and may contain
confidential or privileged information. If you have received it in
error, please advise the sender or Astina by return e-mail and delete
this message and any attachments. Any unauthorised use or dissemination
of this information is strictly prohibited.
***

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to