Oberklasse hat keine null-Konstruktoren, aber keine Argumente gegeben wurden. Spring Integration

Entwickle ich web-Anwendung unterstützt Spring Integration. Ich bin mit der 1.0.4.RELEASE. Ich benutze CGLib-proxies. Ich habe eine transaktionale message-endpoint. Alles richtig geklappt hat, aber ich experimentierte ein wenig mit Anmerkungen. Ich benutze annotation-config, die funktioniert einwandfrei. Ich begann, aus meinen Wechsel service-activator-Konfiguration aus der xml-Anmerkungen, aber es ist fehlgeschlagen.

Folgende Konfiguration korrekt funktioniert:

spring-integration.xml

<channel id="inChannel" />
<channel id="outChannel" />
<service-activator method="myMethod" input-channel="inChannel" ref="myService" output-channel="outChannel" />

MyService.java

@MessageEndpoint
@Transactional
public class MyService {

   @Autowired
   private MyDao myDao;

   public MyObject myMethod(String message) throws Exception {
      ...
   }

}

Versuchen, zu erreichen, genau die gleiche Funktionalität unter Verwendung von Annotationen (in dem Bewusstsein, dass ich CGLIB, so brauche ich kein interface, sondern default-Konstruktor) ich

  • entfernt service-Aktivator von meiner .xml -
  • geändert MyService:

Geändert MyService.java

@MessageEndpoint
@Transactional
public class MyService {

   @Autowired
   private MyDao myDao;

   public MyService () {
   }

   @ServiceActivator(inputChannel="inChannel", outputChannel="outChannel")
   public MyObject myMethod(String message) throws Exception {
      ...
   }

}

Bekomme ich die folgende Fehlermeldung:
java.lang.IllegalArgumentException: Oberklasse hat keine null-Konstruktoren, aber keine Argumente gegeben wurden

Habe ich gesehen, dass viele threads, die beschreiben der folgenden Fehler Artikel, aber das problem war über benutzerdefinierte Klassen. Mein problem betrifft Frühling Klasse.

Error creating bean with name 'myService'
nested exception is org.springframework.aop.framework.AopConfigException
Could not generate CGLIB subclass of class [class org.springframework.integration.handler.ServiceActivatingHandler]
java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given

Was ist falsch? Warum Feder versucht, erstellen Sie den proxy für den Frühling Klasse, aber nicht nur für MyService? Ist meine Klasse irgendwie verpackt? Ich verstehe nicht, was passiert. Hilfe sehr geschätzt.

Schreibe einen Kommentar