fino é o controle de granulação aspectj-autoproxy possível na Primavera?

StackOverflow https://stackoverflow.com/questions/803942

  •  03-07-2019
  •  | 
  •  

Pergunta

Se eu apenas adicionar para o início do meu contexto primavera, cada bean que implementa uma interface recebe um proxy JDK. Eu realmente gostaria de limitar o proxy A) para classes que proxies realmente precisa ou B) classes que especificam como necessitando de proxies.

Eu tentei usar o aop: stanza escopo-proxy dentro de um defintion xml feijão para o feijão que os proxies necessidade, mas acontece que isso não parece dar-me AOP-aconselhamento

. acrescentando

Eu também tentei. perto do final do meu arquivo xml primavera, mas antes de adicionar todos os grãos que proxies necessidade, mas não parece trabalho adequadamente

Eu tenho um muito de feijão com interfaces mas apenas um conselho AoP (bem definida) necessidade punhado, e os proxies estão atrapalhando meus stacktraces grande momento. (Eu espiei na mola 3.0 e suspeito que vai ser possível lá, mas parece que é um tempo de distância).

Isso é possível em 2.5.x?

Foi útil?

Solução

Como pode ser visto na linha AbstractAdvisorAutoProxyCreator.java 67 (Primavera 2.5.6), o criador autoproxy realmente só faz o que eu pedir para ele. Não faz autoproxy mais do que ele acha necessário.

Acontece que é o tipo de expressão pointcut você usa muito influências quanto proxy esta classe faz; a anotação que eu estava usando era

@Around(value="@target(myannotation)")

Isto significa basicamente primavera gera um proxy que decide interceptar com base no tipo do alvo invocação real. A desvantagem desta situação é que tentativas de mola de fazer isso com todas feijão disponíveis no ApplicationContext. Se eu estivesse usando algo como @ dentro em vez disso, primavera estaria usando a interface para decidir se autoproxying deve ocorrer, e isso pode estaticamente ser determinada no momento em que o ApplicationContext é construído.

Então agora eu só tenho duas classes que são proxies;)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top