Сбой ввода сварного шва при вызове метода из супер / абстрактного класса с Wicket - PullRequest
1 голос
/ 04 августа 2010

У меня проблема со сварочной калиткой.Когда @ Inject-ing EJB, который наследуется от абстрактного класса, если я пытаюсь вызвать метод из абстрактного класса, я получаю ошибку ejb-ref.Однако, если я вызываю метод из конкретного класса, он работает отлично.Я могу переопределить методы и вызвать их, и я могу делегировать переопределенный метод абстрактному классу (имеющий переопределенный вызов метода super.method ()), и это работает.Есть ли какая-то конфигурация, которую я должен сделать с абстрактным классом?

Спасибо.

1 Ответ

1 голос
/ 04 августа 2010

Это предположение, основанное на моем опыте с Seam. Weld вводит прокси, который оборачивает ваш боб. Прокси-сервер только перехватывает открытые методы и делегирует их базовому компоненту (в вашем случае EJB). Когда вы вызываете защищенный метод на прокси или закрытый для пакета метод из класса в том же пакете, этот метод не перехватывается и вызывается непосредственно на прокси, что приводит к вашей ошибке. Короче говоря, вызывайте только открытые методы или возвращайте все свои зависимости через интерфейс и вставляйте это.

...