2014-09-16 3 views
7

मेरे पास ग्लासफ़िश वी 4.0 पर अच्छी तरह से चलने वाले रेस्टफुल सेवाओं के साथ बहुत से जी 7 मेवेन प्रोजेक्ट (वेब ​​और ईजेबी मॉड्यूल के साथ कान) हैं लेकिन जैसे ही मैं Glassfish वी पर इन परियोजनाओं चलाने का प्रयास 4.1 शोकहारा सेवाओं अब और काम नहीं करते और वे इस अपवाद:।ग्लासफ़िश 4.1 कान/ईजेबी/वेब मॉड्यूल का उपयोग करते समय रेस्टफूल सेवा नहीं चला सकता

javax.servlet.ServletException: A MultiException has 1 exceptions. They are: 
1. org.glassfish.hk2.api.UnsatisfiedDependencyException: There was no object available for injection at SystemInjecteeImpl(requiredType=TestBean,parent=GenericResource,qualifiers={},position=-1,optional=false,self=false,unqualified=null,82785107) 

मैं डबल समस्या जांच की है और निश्चित Glassfish 4.1 शायद एक टूटे हुए पुस्तकालय है (हो सकता है सीडीआई कार्यान्वयन?), ग्लासफ़िश बनाम 4.0 और वाइल्डफ्लाई 8.1.0.फाइनल अच्छी तरह से काम कर रहे हैं ...

मुझे समझ में नहीं आ रहा है कि मैं ग्लासफ़िश v पर अपनी RestFul वेब सेवाओं को कैसे चला सकता हूं। 4.1 ...

क्या कोई मेरी मदद कर सकता है?

अग्रिम में बहुत धन्यवाद ...

यहाँ स्टैक ट्रेस: ​​

Avvertenza: An instance of EJB class, test.rest.GenericResource, could not be looked up using simple form name. Attempting to look up using the fully-qualified form name. 
javax.naming.NamingException: Lookup failed for 'java:app/TestEjb/GenericResource' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: No object bound to name java:app/TestEjb/GenericResource] 
    at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:491) 
    at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:438) 
    at javax.naming.InitialContext.lookup(InitialContext.java:417) 
    at javax.naming.InitialContext.lookup(InitialContext.java:417) 
    at org.glassfish.jersey.gf.ejb.internal.EjbComponentProvider.lookupSimpleForm(EjbComponentProvider.java:378) 
    at org.glassfish.jersey.gf.ejb.internal.EjbComponentProvider.lookup(EjbComponentProvider.java:360) 
    at org.glassfish.jersey.gf.ejb.internal.EjbComponentProvider.access$000(EjbComponentProvider.java:100) 
    at org.glassfish.jersey.gf.ejb.internal.EjbComponentProvider$EjbFactory.provide(EjbComponentProvider.java:123) 
    at org.jvnet.hk2.internal.FactoryCreator.create(FactoryCreator.java:124) 
    at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:461) 
    at org.jvnet.hk2.internal.PerLookupContext.findOrCreate(PerLookupContext.java:69) 
    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2258) 
    at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:690) 
    at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:655) 
    at org.glassfish.jersey.internal.inject.Injections.getOrCreate(Injections.java:172) 
    at org.glassfish.jersey.server.model.MethodHandler$ClassBasedMethodHandler.getInstance(MethodHandler.java:185) 
    at org.glassfish.jersey.server.internal.routing.PushMethodHandlerRouter.apply(PushMethodHandlerRouter.java:74) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:112) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:115) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:115) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:115) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:94) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:63) 
    at org.glassfish.jersey.process.internal.Stages.process(Stages.java:197) 
    at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:263) 
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) 
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267) 
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297) 
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:254) 
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1028) 
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:372) 
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:381) 
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:344) 
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:221) 
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673) 
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) 
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) 
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201) 
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175) 
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) 
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112) 
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) 
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561) 
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) 
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565) 
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: javax.naming.NameNotFoundException: No object bound to name java:app/TestEjb/GenericResource 
    at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:741) 
    at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:715) 
    at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:167) 
    at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:471) 
    ... 64 more 

Grave: javax.naming.NamingException: Lookup failed for 'java:app/TestEjb/GenericResource!test.rest.GenericResource' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: No object bound to name java:app/TestEjb/GenericResource!test.rest.GenericResource] 
    at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:491) 
    at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:438) 
    at javax.naming.InitialContext.lookup(InitialContext.java:417) 
    at javax.naming.InitialContext.lookup(InitialContext.java:417) 
    at org.glassfish.jersey.gf.ejb.internal.EjbComponentProvider.lookupFullyQualifiedForm(EjbComponentProvider.java:400) 
    at org.glassfish.jersey.gf.ejb.internal.EjbComponentProvider.lookup(EjbComponentProvider.java:364) 
    at org.glassfish.jersey.gf.ejb.internal.EjbComponentProvider.access$000(EjbComponentProvider.java:100) 
    at org.glassfish.jersey.gf.ejb.internal.EjbComponentProvider$EjbFactory.provide(EjbComponentProvider.java:123) 
    at org.jvnet.hk2.internal.FactoryCreator.create(FactoryCreator.java:124) 
    at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:461) 
    at org.jvnet.hk2.internal.PerLookupContext.findOrCreate(PerLookupContext.java:69) 
    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2258) 
    at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:690) 
    at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:655) 
    at org.glassfish.jersey.internal.inject.Injections.getOrCreate(Injections.java:172) 
    at org.glassfish.jersey.server.model.MethodHandler$ClassBasedMethodHandler.getInstance(MethodHandler.java:185) 
    at org.glassfish.jersey.server.internal.routing.PushMethodHandlerRouter.apply(PushMethodHandlerRouter.java:74) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:112) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:115) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:115) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:115) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:94) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:63) 
    at org.glassfish.jersey.process.internal.Stages.process(Stages.java:197) 
    at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:263) 
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) 
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267) 
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297) 
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:254) 
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1028) 
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:372) 
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:381) 
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:344) 
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:221) 
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673) 
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) 
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) 
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201) 
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175) 
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) 
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112) 
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) 
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561) 
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) 
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565) 
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: javax.naming.NameNotFoundException: No object bound to name java:app/TestEjb/GenericResource!test.rest.GenericResource 
    at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:741) 
    at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:715) 
    at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:167) 
    at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:471) 
    ... 64 more 

Avvertenza: StandardWrapperValve[test.rest.ApplicationConfig]: Servlet.service() for servlet test.rest.ApplicationConfig threw exception 
org.glassfish.hk2.api.UnsatisfiedDependencyException: There was no object available for injection at SystemInjecteeImpl(requiredType=TestBean,parent=GenericResource,qualifiers={},position=-1,optional=false,self=false,unqualified=null,734647163) 
    at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:74) 
    at org.jvnet.hk2.internal.Utilities.justInject(Utilities.java:947) 
    at org.jvnet.hk2.internal.ServiceLocatorImpl.inject(ServiceLocatorImpl.java:902) 
    at org.jvnet.hk2.internal.ServiceLocatorImpl.createAndInitialize(ServiceLocatorImpl.java:977) 
    at org.jvnet.hk2.internal.ServiceLocatorImpl.createAndInitialize(ServiceLocatorImpl.java:968) 
    at org.glassfish.jersey.internal.inject.Injections.getOrCreate(Injections.java:173) 
    at org.glassfish.jersey.server.model.MethodHandler$ClassBasedMethodHandler.getInstance(MethodHandler.java:185) 
    at org.glassfish.jersey.server.internal.routing.PushMethodHandlerRouter.apply(PushMethodHandlerRouter.java:74) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:112) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:115) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:115) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:115) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:94) 
    at org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:63) 
    at org.glassfish.jersey.process.internal.Stages.process(Stages.java:197) 
    at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:263) 
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) 
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267) 
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297) 
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:254) 
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1028) 
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:372) 
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:381) 
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:344) 
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:221) 
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673) 
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) 
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) 
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201) 
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175) 
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) 
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112) 
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) 
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561) 
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) 
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565) 
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545) 
    at java.lang.Thread.run(Thread.java:745) 

मैं एक EJB मॉड्यूल और एक वेब मॉड्यूल के साथ एक कान (वेब ​​मॉड्यूल पुस्तकालय के रूप में EJB मॉड्यूल जोड़ने) है ।

: यदि मैं नेविगेट करने के लिए कोशिश

package test.rest; 
import javax.ejb.Stateless; 
import javax.inject.Inject; 
import javax.ws.rs.core.Context; 
import javax.ws.rs.core.UriInfo; 
import javax.ws.rs.Produces; 
import javax.ws.rs.Consumes; 
import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.PUT; 
import test.session.TestBean; 
@Path("generic") 
@Stateless 
public class GenericResource { 
    @Context 
    private UriInfo context; 
    @Inject 
    TestBean testBean; 
    public GenericResource() { 
    } 
    @GET 
    @Produces("application/json") 
    public String getXml() { 
    //TODO return proper representation object 
    return testBean.getValue(); 
} 
} 

:

package test.rest; 
import java.util.Set; 
import javax.ws.rs.core.Application; 
@javax.ws.rs.ApplicationPath("webresources") 
public class ApplicationConfig extends Application { 
    @Override 
    public Set<Class<?>> getClasses() { 
    Set<Class<?>> resources = new java.util.HashSet<>(); 
    addRestResourceClasses(resources); 
    return resources; 
    } 
    private void addRestResourceClasses(Set<Class<?>> resources) { 
    resources.add(test.rest.GenericResource.class); 
    } 
} 

और:

package test.session; 
import javax.ejb.Stateless; 
import javax.inject.Named; 
@Stateless 
@Named 
public class TestBean { 
    public String getValue() { 
    return "value"; 
    } 
} 

वेब मॉड्यूल इस वर्ग हैं:

EJB मॉड्यूल इस वर्ग है

http://localhost:8080/TestRest/webresources/generic 

Glassfish 4.1 उठाने के अपवाद और अच्छी तरह से काम करता है Glassfish 4.0 ...

उत्तर

9

मैं एक ऐसी ही समस्या थी। यह एक बग है जैसा कि @ user993553 द्वारा उल्लिखित है, यह ईजेबी मॉड्यूल के भीतर से WAR मॉड्यूल के ईजेबी (जेनेरिक रिसोर्स) को तुरंत चालू करने का प्रयास करता है।

एक कार्यवाही आपके ईजेबी को युद्ध मॉड्यूल से सीडीआई में परिवर्तित करना है। बस @javax.ejb.Stateless से @javax.enterprise.context.RequestScoped या किसी अन्य दायरे को बदलें।

@Path("generic") 
@javax.enterprise.context.RequestScoped 
public class GenericResource 
{ 
    @Context 
    private UriInfo context; 

    @Inject 
    TestBean testBean; 

    public GenericResource() {} 

    @GET 
    @Produces("application/json") 
    public String getXml() { 
     // TODO return proper representation object 
     return testBean.getValue(); 
    } 
} 
+0

हां, आपका कामकाज एक आकर्षण की तरह काम करता है !!! बहुत धन्यवाद !!! – giates

+0

इन प्रकार की चीजें मुझे पागल बनाती हैं। इस बग के लिए एक दिन बर्बाद हो गया !!!! – angelcervera

+0

और याद रखें कि यह एक ईजेबी नहीं है, इसलिए यदि आप त्रुटि नहीं चाहते हैं तो कोई सार्वजनिक गुण नहीं है "सीडीआई परिभाषा विफलता: WELD-000075: सामान्य स्कॉप्ड प्रबंधित बीन कार्यान्वयन कक्षा में एक सार्वजनिक क्षेत्र है: ..." Ufff !! और इस त्रुटि के बाद, यह आवश्यक है उदाहरण के पुनरारंभ करें। यह पागल है! – angelcervera

0

यह मूर्खतापूर्ण ध्वनि सकता है, लेकिन कुछ .jar में समाप्त होने वाले युद्ध फ़ाइल का नाम बदलने और एक "वेब अनुप्रयोग" के रूप में अपलोड मेरे लिए काम किया।

भी https://java.net/jira/browse/JERSEY-2690

देखें आप शायद भी अपने आवेदन सभी Stateless एक जार में कक्षाओं के लिए refactor सकता है।

संबंधित मुद्दे

 संबंधित मुद्दे