2014-06-09 2 views
1

Я пытаюсь использовать базовый класс с общими методами и расширять его другими более конкретными классами.Наследование классов в Mule Java/POJO Component

public class myClass extends myBaseClass {} 

расширенный класс Я использую в качестве компонента Java в потоке:

<component class="org.example.MyClass" doc:name="Java"/> 

Когда я не вызов методов из родительского класса, все работает хорошо. Но каждый раз, когда я пытаюсь вызова один Mule бросает исключение:

DefaultJavaComponent{vtigersapFlow1.component.9760166}. Message payload is of type: String 

В моем базовом классе я использую:

@Lookup 
private MuleContext muleContext; 

и и NullPointerExcception отбрасывается, когда я делаю:

muleContext.getRegistry().get("system.uri"); 
+0

Пожалуйста, добавьте журнал ошибок. –

+0

Обновлено с дополнительной информацией. –

ответ

0

Возможно, что аннотация @Lookup не соблюдается правильно в иерархии классов.

Вместо того, чтобы искать значения в реестре, вы должны получить их путем инъекции, то есть получить system.uri путем инъекции.

Вы можете обнаружить, что переход на весенние бобы поможет вам в этом. component class= действительно подходит для простых вещей.

Смежные вопросы