Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> EJB Interceptor и DI 
V
    Опции темы
ki6opr
Дата 10.8.2010, 07:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 20.12.2006

Репутация: нет
Всего: нет



в общем сталкнулся с такой проблеммой:
есть интерсептор в который должен инжектится EJB
интерсептор используется с другим бином
упаковано все в EAR проект в котором находится архив с ejb

выглядит все вот так
Код

public class TestInterceptor {

    @EJB
    private Test2Local test2Local;

    @AroundInvoke
    public Object invoke(InvocationContext invocation) throws Exception {
        return invocation.proceed();
    }
}

@Stateless
@Interceptors(value = TestInterceptor.class)
public class Test1Bean implements Test1Local {

    public void hello() {
    }
}

@Local
public interface Test1Local
{
  public void hello();
}

@Stateless
public class Test2Bean implements Test2Local {

    public void hello() {
    }
}

@Local
public interface Test2Local
{
  public void hello();
}


Локальные интерфейсы я не привожу потому что и так понятно что в них smile 

в общем на GlassFish все нормально деплоится и зависимость инжектируется 
на JBoss NullPointerException при деплоее 

Код

org.jboss.deployers.spi.DeploymentException: Error deploying TrashEAR-ejb.jar: null
    at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:201)
    at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:103)
    at org.jboss.deployers.vfs.spi.deployer.AbstractVFSRealDeployer.internalDeploy(AbstractVFSRealDeployer.java:45)
    at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
    at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1210)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
    at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:698)
    at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:290)
    at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
    at org.jboss.ejb3.javaee.JavaEEComponentHelper.createObjectName(JavaEEComponentHelper.java:46)
    at org.jboss.ejb3.deployers.JBoss5DeploymentScope.getEjbContainer(JBoss5DeploymentScope.java:170)
    at org.jboss.ejb3.Ejb3Deployment.getEjbContainer(Ejb3Deployment.java:407)
    at org.jboss.ejb3.EJBContainer.resolveEjbContainer(EJBContainer.java:1418)
    at org.jboss.injection.AbstractHandler.addDependency(AbstractHandler.java:50)
    at org.jboss.injection.EJBRemoteHandler.ejbRefDependency(EJBRemoteHandler.java:146)
    at org.jboss.injection.EJBRemoteHandler.handleFieldAnnotations(EJBRemoteHandler.java:393)
    at org.jboss.injection.InjectionUtil.processFieldAnnotations(InjectionUtil.java:160)
    at org.jboss.injection.InjectionUtil.processAnnotations(InjectionUtil.java:197)
    at org.jboss.ejb3.EJBContainer.processMetadata(EJBContainer.java:609)
    at org.jboss.ejb3.Ejb3Deployment.processEJBContainerMetadata(Ejb3Deployment.java:415)
    at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:523)
    at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:194)
    ... 28 more


я уже незнаю даже в какую сторону копать по спецификациям это все должно работать и инжектить ресурсы в интерсептор через @EJB и @Resource допустимо.
может кто сталкивался ? 

Это сообщение отредактировал(а) ki6opr - 10.8.2010, 09:56
PM MAIL ICQ   Вверх
MisterCleric
Дата 10.8.2010, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Привет.
А Test2Local помечен у тебя как @Local?



--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
ki6opr
Дата 10.8.2010, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 20.12.2006

Репутация: нет
Всего: нет



Цитата(MisterCleric @ 10.8.2010,  09:40)
Привет.
А Test2Local помечен у тебя как @Local?

да
видно зря не выложил интерфейсы, прошу прошения, сейчас исправлю.


Updated
интерфейсы теперь тоже в примере.

кстати фишка еще в том что не работает только если деплой идет в папку cluster (это jboss farming деплой, если используется кластер, приложение раскидывается по всем нодам)
если деплоить просто одиночное приложение все себе нормально развертывается.
сервер 5.01

на 6,02 тоже воспроизводится

Это сообщение отредактировал(а) ki6opr - 10.8.2010, 10:05
PM MAIL ICQ   Вверх
ki6opr
Дата 11.8.2010, 03:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 20.12.2006

Репутация: нет
Всего: нет



в итоге после активного гугления я теперь точно знаю что Jboss неумеет инжектить EJB в интерсепторы, можно только ресурсы через @Resource и возможно entity manager через @PersistentContext (не проверял).

:/
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0553 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.