2017-01-26 2 views
0

Ist es possibel ein Maultier-Anschluss in einem Callable @Inject, wenn ich dies tun iMule Inject für Steckverbinder

Keine Warte bean [org.mule.modules.MyConnector]

public class MyService implements Callable{ 

@Inject 
MyConnector myConnector; 

public Object onCall(MuleEventContext eventContext) throws Exception { 
     myConnector.run(); 
erhalten

Antwort

0

Um den Maultierkontext im Konnektor zu erhalten, sollten Sie den Maultierkontext in Ihren Konnektorcode einfügen.

@Inject

privaten MuleContext muleContext;

public void setMuleContext (letzter MuleContext muleContext) {this.muleContext = muleContext; }

In der Methodenebene können Sie auch MuleEventContext injizieren. durch Zugabe eines MuleEvent Parametertypen in Ihrer Methode

Bitte beachten Sie, Der obige Ansatz ist für ältere DevKit Versionen (3.6.x und älter) korrekt

  • Seit 3.7 Sie das MuleEvent zu Ihrem @Processor injizieren , Devkit wird das Ereignis automatisch injizieren.
  • Beginnend mit 3.7 gibt es eine neue API in Mule namens Injector, die Abhängigkeiten in ein annotiertes JSR-330-Objekt injizieren kann. Injizierte Instanzen gehen deswegen nicht in die Registry.