2015-08-14 2 views
-1

Я пытаюсь перейти на Glassfish 4 для приложения, которое использует комбинацию EJB и Spring beans. Это отлично работало на Glassfish3.Glassfish4 пытается вставить EJB в контексте Spring

Когда я пытаюсь развернуть я получаю ошибки такого типа:

org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type SomethingLogic with qualifiers @Default 
    at injection point [BackedAnnotatedField] @Inject private com.my.application.server.service.SomethingServiceSession.somethingLogic 

Сначала я получил их в не пружинных бобах при попытке @Inject Весеннего боба (EJBs/WebServices/сервлет). После изменения всех @ Inject's на @Autowired классы non-spring больше не дают ошибку, но я начинаю получать те же ошибки на чисто весенних бобах (так что @Inject из Spring bean к другому весеннему компоненту дает ошибку.)

Это приводит меня к мысли, что Glassfish попытается найти EJB, когда сталкивается с @Inject, независимо от того, находится ли он в контексте EJB или нет, и независимо от того, будет ли вставляемый bean-компонент быть EJB или Spring bean ,

Это тот случай, и как этого избежать?

+0

Вы можете воспроизвести эту проблему в небольшом тестовом проекте (небольшой проект maven или что-то еще) с вашим созвездием? если это так ... можете ли вы опубликовать код? – StefanHeimberg

+0

См. Http://stackoverflow.com/questions/31990390/glassfish4-ejb-spring-deploy-fails для некоторых примеров кода, я добавил, что это более общий вопрос .. – Tobb

ответ

0

Удалось решить мою проблему, добавив bean-discovery-mode="none" к моим различным файлам beans.xml.