2013-11-28 3 views
0

은 EJB 3.1 라이트 API의 일부가 아닙니다 :java.lang.RuntimeException : 잘못된 응용 프로그램입니다. EJB ServiceEjb는 원격 클라이언트보기를 노출합니다. 이 기능은 내가 EJB 통해 서 테이블 Etudiant에서 학생의 목록을하려고하지만 난이 오류를 얻고있다 및 응용 프로그램이 배포되지 않습니다

java.lang.RuntimeException: EJB Container initialization error 
    at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:234) 
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:291) 
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:99) 
    at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:206) 
    at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:313) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:493) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219) 
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:527) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:523) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:356) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:522) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:546) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1423) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1500(CommandRunnerImpl.java:108) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1762) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1674) 
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534) 
    at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224) 
    at org.glassfish.grizzly.http.server.StaticHttpHandler.service(StaticHttpHandler.java:297) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:246) 
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191) 
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168) 
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189) 
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114) 
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) 
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838) 
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135) 
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564) 
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544) 
    at java.lang.Thread.run(Thread.java:724) 
Caused by: java.lang.RuntimeException: Invalid application. EJB ServiceEjb exposes a Remote client view. This feature is not part of the EJB 3.1 Lite API 
    at com.sun.ejb.containers.BaseContainer.assertFullProfile(BaseContainer.java:1105) 
    at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:588) 
    at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:143) 
    at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:137) 
    at com.sun.ejb.containers.StatelessContainerFactory.createContainer(StatelessContainerFactory.java:61) 
    at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:221) 
    ... 38 more 

이 내 EJB 클래스 코드 :

@Stateless(name="ServiceEjb") 
@Local 
@Remote 
public class EtudiantEjb implements EtudiantEjbRemote, EtudiantEjbLocal { 

    public EtudiantEjb() { } 

    @PersistenceContext(unitName="PortailEjb") 
    private EntityManager em; 

    public List<Etudiant> ListEtudiant() { 

     TypedQuery<Etudiant> query = em.createNamedQuery("Etudiant.listertous", Etudiant.class); 
     List<Etudiant> etudiants = query.getResultList(); 
     return etudiants ; 
    } 

그리고 이것은 내 EJB-항아리입니다 코드

<?xml version="1.0" encoding="UTF-8"?> 
<ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/ejb-jar_3_2.xsd" version="3.2"> 
    <display-name>PortailEjb </display-name> 
    <ejb-client-jar>PortailEjbClient.jar</ejb-client-jar> 
</ejb-jar>  

I 오라클 연결과 그 작업을 사용합니다. Eclipse와 Glassfish4를 사용하고 있습니다.

+0

아마도이 답변과 동일한 답변을 찾을 수 있습니다. http://stackoverflow.com/questions/4301875/exposes-a-remote-client-view-this-feature-is-not-part-of-the-ejb- 3-1-lite-api – david99world

+0

예외는 정확히 무엇이 잘못되었는지를 설명합니다! "잘못된 응용 프로그램, EJB ServiceEjb가 원격 클라이언트보기를 표시합니다.이 기능은 EJB 3.1 Lite API의 일부가 아닙니다." 원격 인터페이스를 원하지 않거나 Glassfish가 EJB 3.1 라이트를 사용하지 않고 전체 EJB 스펙을 사용하도록 설정하기를 원할 것입니다. – Gimby

+0

@ david99world 참조 문제를 해결해 주셔서 감사합니다. – MeknessiHamida

답변

1

사용 가능한 추가 노드에서 "Glassfish Commons Full Profile"을 설치하십시오. glassfish를 다시 시작하십시오.