2015-01-19 2 views
0

У меня есть GlassFish v4 и 2 уши:.как можно использовать @EJB с удаленным интерфейсом»

  1. Service.ear содержит EJBs
  2. WebApplications.ear содержит веб приложений

I. попробуйте использовать:

@EJB(mappedName="java:global/Service/allServices/ServiceEJBs!Service1Remote") 
Service1Remote service1Remot; 

Но я получил ошибку:

Caused by: com.sun.faces.spi.InjectionProviderException: com.sun.enterprise.container.common.spi.util.InjectionException: Exception attempting to inject Remote ejb-ref name=java:global/Service/allServices/ServiceEJBs!Service1Remote,Remote 3.x interface =Service1Remote,ejb-link=null,lookup=,mappedName=global/Service/allServices/ServiceEJBs!Service1Remote,jndi-name=,refType=Session into class com.manage.application.WebApplication: null

Но когда я пользователь по:

Service1Remote remote= (Service1Remote) new InitialContext().lookup("java:global/Service/allServices/ServiceEJBs!Service1Remote"); 

он работает отлично.

EJB-:

@Remote 
public interface Service1Remote{ 
    public long getCount(int itemId); 
} 

@Stateless(name = "ServiceEJBs" , mappedName ="ServiceEJBs") 
public Service1Bean implements Service1Remote{ 
    public long getCount(int itemId){ 
    ............... 
    return 100000999; 
    } 

} 

ответ

1

Очевидно, ваше определение @EJB (mappedname) отличается от отображаемого имени в @Stateless (mappedNamed) определения.

Это говорит о том, что это даже не будет работать, если вы замените правильное сопоставленное имя (потому что это два разных ушных развертывания).

на самом деле получить ссылку, пожалуйста, используйте

@EJB(lookup="java:global/Service/allServices/ServiceEJBs!Service1Remote") 

Вместо

@EJB(mappedName="java:global/Service/allServices/ServiceEJBs!Service1Remote") 
0

переустановить последние версии GlassFish 4.1 и JDK1.8.0_25, а также Марессы сказали изменено:

@EJB(lookup="java:global/Service/allServices/ServiceEJBs!Service1Remote") 

Вместо

@EJB(mappedName="java:global/Service/allServices/ServiceEJBs!Service1Remote") 

и теперь он работает нормально.

Благодаря Маресса :)

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

  • Нет связанных вопросов^_^