2013-11-02 5 views
7

Wenn spring einen Proxy erstellt, wird cglib mit der Standardbenennungsrichtlinie verwendet. Gibt es eine Möglichkeit, die Benennungsrichtlinie zu ändern? Generierte Klassennamen kollidieren mit einem anderen Framework, das ich verwende.spring, wie ändert man die cglib-Benennungsrichtlinie

+0

Wie ist das möglich? Sie haben ein anderes Framework, das CGLib verwendet, um die gleichen Klassen zu verbessern? Klingt nach sehr seltsamer Einrichtung. –

+0

ist es nicht seltsam. Ich mache Integrationstests, wenn Spring Proxy für meine Session-Bean erstellt. und ich habe auch Unit-Tests, wo ich Business-Funktionalität des gleichen Objekts überprüfen – piotrek

+0

Und welche Art von Fehlern bekommen Sie? Scheint, dass CGLib in der Lage sein sollte, damit umzugehen. http://cglib.cvs.sourceforge.net/viewvc/cglib/cglib/src/proxy/net/sf/cglib/core/DefaultNamingPolicy.java?view=markup –

Antwort

2

Es scheint cglib es kann Namenskonflikte erkennen, aber aus irgendeinem Grund nicht in diesem Fall.

Aufgrund dieses Problems (und Ihres Berichts?) Das andere Framework verwenden Sie (Catch-Ausnahme) patched ihren Code, um es zu vermeiden.

+1

Es kann Namenskonflikte erkennen, solange * ein * cglib verwendet wird. Seit Frühling 3.2+ cglib neu verpackt, kann es leicht sein, * zwei * cglibs, jeder kümmert sich um seine eigenen Namen Kollisionen. –

Verwandte Themen