2011-03-30 12 views
6

पर रिमोट जेएमएस क्लाइंट को कनेक्ट करना मैं एक स्टैंडअलोन रिमोट क्लाइंट से ग्लासफ़िश 3 की जेएमएस सेवा से कनेक्ट करने का प्रयास कर रहा हूं। हालांकि मुझे java.lang.ClassNotFoundException मिल रहा है: com.sun.messaging.jms.ra.ResourceAdapter। कोई राय कि इसे कैसे ठीक किया जाए?ग्लासफ़िश 3

यहाँ मेरी सेटअप अब तक बताया गया है:

  • Glassfish 3 JMS सेवा स्थानीय मोड में

  • JNDI (मुझे लगता है कि embeded मोड इस मामले में काम नहीं करेगा क्योंकि यह नेटवर्क स्टैक नजरअंदाज संभालने हूँ) गुणों को निम्नानुसार निर्दिष्ट कर रहे हैं:

    java.naming.factory.initial = com.sun.enterprise.naming.SerialInitContextFactory java.naming.factory.url.pkgs = com.sun.enterprise.naming java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl

  • gf-ग्राहक-module.jar (GLASSFISH_HOME/मॉड्यूल में) स्वतंत्र अनुप्रयोग के classpath को जोड़ा गया। मॉड्यूल निर्देशिका (जैसे jms-core.jar) में मौजूद अन्य जार जोड़ने का भी प्रयास किया, लेकिन फिर भी वही ClassNotFoundException प्राप्त कर रहा है।

किसी भी मदद की बहुत सराहना की जाएगी।

उत्तर

2

ठीक है। मुझे एक समाधान मिला। विवरण के लिए here देखें, लेकिन संक्षिप्त जवाब यह है कि मुझे कक्षा के लिए दो जार जोड़ने की आवश्यकता है: imqjmsra.jar और imqbroker.jar। ये imqjmsra.rar नामक एक रार के अंदर उपलब्ध थे जो ग्लासफ़िश की एमक निर्देशिका के तहत पाया जा सकता है। मुझे इस रार से दो जार निकालना पड़ा!

1

यह glassfish 3 के लिए ग्राहक जार की पूरी सूची है:

auto-depends.jar 
deployment-common.jar 
glassfish-corba-internal-api.jar  
internal-api.jar 
management-api.jar 
bean-validator.jar 
dol.jar 
glassfish-corba-newtimer.jar   
javax.ejb.jar 
orb-connector.jar 
common-util.jar 
ejb-container.jar 
glassfish-corba-omgapi.jar  
javax.jms.jar 
orb-iiop.jar 
config-api.jar 
ejb.security.jar 
glassfish-corba-orb.jar 
javax.resource.jar 
security.jar 
config-types.jar 
glassfish-api.jar 
glassfish-corba-orbgeneric.jar  
javax.servlet.jar 
ssl-impl.jar 
config.jar 
glassfish-corba-asm.jar 
glassfish-naming.jar 
javax.transaction.jar 
transaction-internal-api.jar 
connectors-internal-api.jar  
glassfish-corba-codegen.jar  
gmbal.jar 
jta.jar 
container-common.jar 
glassfish-corba-csiv2-idl.jar  
hk2-core.jar 
kernel.jar 
3

इसके बजाय व्यक्तिगत Glassfish जार फ़ाइलों को (जैसे gf-ग्राहक-module.jar, imqjmsra के रूप में आवश्यकता हो सकती है के सभी का उपयोग कर के। जार, और imqbroker.jar), पसंदीदा विधि gf-client.jar फ़ाइल का उपयोग करना है। यह $ GLASSFISH_HOME/lib पर पाया जा सकता है।

http://glassfish.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB पर और जानकारी है। वह दस्तावेज स्टैंडअलोन ग्राहकों में ईजेबी का उपयोग करने से संबंधित है, लेकिन समाधान जेएमएस का उपयोग करने के लिए समान है।

0

EJB प्रमाण पत्र के लिए इवान एक Krizsan के नोट्स में उल्लेख किया है, और Glassfish संस्करण के आधार पर के रूप में, यह पर्याप्त होना चाहिए:

  • ग्लासफिश 3 (और ग्लासफिश 4 ​​भी, मैं सिर्फ यह परीक्षण किया है) : $ GLASSFISH_HOME/lib/GF-client.jar
  • ग्लासफिश 2: $ GLASSFISH_HOME/lib/appserv-rt.jar और $ APS_HOME/lib/javaee.jar
संबंधित मुद्दे