2011-08-11 16 views
10

से बंधे बिना सभी संसाधनों और प्रदाताओं को जोड़ें, वर्तमान में मैं जर्सी 1.8 का उपयोग कर जर्सी 3.0 के साथ अपने जेपीए के लिए GUICE 3.0 के साथ जर्सी एप्लिकेशन पर काम कर रहा हूं।गिइस + जर्सी: जर्सी सर्वलेट

मैं मैन्युअल रूप से बाँध का उपयोग कर JerseyServletModule करने के लिए सभी जर्सी संसाधन कक्षाएं जोड़ने के लिए: यह एक प्रमुख मुद्दा है जो मुझे दूर करने के लिए सक्षम नहीं था के साथ बहुत अच्छी तरह से काम करता है

@Override 
protected Injector getInjector() { 
    return Guice.createInjector(new JerseyServletModule() { 

     @Override 
     protected void configureServlets() { 

      install(new JpaPersistModule("DBName")); 
      filter("/*").through(PersistFilter.class); 

      /* bind the REST resources and serve*/ 
      bind(Hello.class); 
      serve("/*").with(GuiceContainer.class); 

     } 
    }); 
} 

मैं करने में सक्षम होना चाहते हैं प्रत्येक एकल संसाधन और प्रदाता के लिए बाध्य के उपयोग को छोड़ दें और जर्सी-गुइस दस्तावेज़ में एक टिप्पणी मिली: http://jersey.java.net/nonav/apidocs/1.8/contribs/jersey-guice/com/sun/jersey/guice/spi/container/servlet/package-summary.html

यह मूल रूप से कहता है कि कोई जर्सी संसाधनों के पंजीकरण को जर्सी सर्वलेट में पास कर सकता है। हालांकि मैं इस विधि का उपयोग करके इसे प्रबंधित करने में सक्षम नहीं था:

@Override 
    protected Injector getInjector() { 
     return Guice.createInjector(new JerseyServletModule() { 

      @Override 
      protected void configureServlets() { 
       bind(GuiceResource.class); 

       Map<String, String> params = new HashMap<String, String>(); 
       params.put(PackagesResourceConfig.PROPERTY_PACKAGES, "unbound"); 
       serve("/*").with(GuiceContainer.class, params); 
      } 
     } 
    }); 

दुख की बात है कि मुझे जर्सी संसाधनों की पंजीकरण प्रक्रिया के बारे में अधिक जानकारी नहीं मिल सका।

किसी भी मदद की सराहना की जाएगी। बेशक यदि आवश्यक हो तो मैं अतिरिक्त जानकारी प्रदान कर सकता हूं! धन्यवाद।

उत्तर

11

यह काफी मानक कि मैं अपने ही सवाल का जवाब हो जाता है, लेकिन मैं एक Guice 2 थ्रेड से जवाब मिल गया लेकिन सौभाग्य से यह Guice 3 और जर्सी 1,8

/* 
* The following line will scan ausbdsoccer.server.resources package for Jersey Resources 
*/ 
params.put("com.sun.jersey.config.property.packages","ausbdsoccer.server.resources"); 

ये लीजिए के साथ काम करता है।

अपने GuiceContainer.class पर पैरा को पास करना न भूलें!

+0

धन्यवाद, वास्तव में सहायक! मुझे एक ही समस्या थी। –

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