/ / Come avvolgere il richiamo del metodo all'interno del pacchetto? - java, logging, osgi, bundle, aop

Come avvolgere il richiamo del metodo all'interno del pacchetto? - java, logging, osgi, bundle, aop

Ho un'applicazione cq5.

abbiamo una seguente gerarchia di classi (pseudocodice):

class serviceA{
methodA1(){...}
methodA2(){...}
methodA3(){
...
httprequest
...
}
methodA4(){...}
}

class serviceB{
methodB1(){
...
httprequest
...
httprequest
...
httprequest
}
methodB2(){...}
methodB3(){...}
methodB4(){
...
httprequest
...
}
}

class serviceC{
methodC1(){
...
httprequest
...
httprequest
...
}
methodC2(){...}
methodC3(){
...
httprequest
....
}
methodC4(){...}
}

E ho bisogno di accedere prima e dopo httprequest (per misurare il tempo).

Ma è molto triste cambiare il codice all'interno di ogni servizio.

Potete fornire una decisione più aggraziata?

Volere OSGI lavorare con Aspectj?

Che dire @AspectService ?

risposte:

0 per risposta № 1

Se segui rigorosamente il Principio SOC devi creare una classe separata per la richiesta HTTP:

public class HTTPRequest {
public void doRequest() { ... } // change signature according to your needs
}

Un'istanza di questa classe ora deve essere utilizzata nei tuoi metodi di servizio.

Con questo progetto, è molto facile posizionare il comportamento di registrazione. Basta cambiare il doRequest metodo.