2009-05-16 13 views
59

मुझे जावा एजेंट के साथ जावा प्रोग्राम शुरू करने के बारे में पता है:मैं अपने जावा प्रोग्राम को एक से अधिक जावा एजेंट के साथ कैसे शुरू करूं?

java -javaagent:myAgent.jar MyJavaProgram 

लेकिन अगर मैं अपने प्रोग्राम के लिए 2 या अधिक जावा एजेंट जोड़ना चाहता हूं तो क्या होगा? मैं जावा-जावाजेंट को फिर से नहीं लेना चाहता हूं: ... प्रत्येक एजेंट के लिए मुझे JVM में लोड करना होगा।

मैंने इस तरह कुछ करने की कोशिश की है:

java -javaagent:agentA.jar, agentB.jar MyJavaProgram 

या ऐसा कुछ:

java -javaagent:agentA.jar agentB.jar MyJavaProgram 

लेकिन कोई सफलता नहीं है।

क्या मेरी समस्या का समाधान करने का कोई जवाब है?

धन्यवाद।

उत्तर

94

दो के बारे में कैसे javaagent मापदंडों

java -javaagent:agentA.jar -javaagent:agentB.jar MyJavaProgram 
45

ऐसा लगता है कि आप कई तर्कों का उपयोग कर ऐसा कर सकते हैं।

एक कमांड लाइन इंटरफेस के साथ कार्यान्वयन पर, एक एजेंट के कमांड लाइन के लिए इस विकल्प जोड़ कर आरंभ किया गया है:: documentation से

-javaagent:jarpath[=options] 

jarpath एजेंट जार करने के लिए पथ है फ़ाइल। विकल्प एजेंट विकल्प हैं। इस स्विच को एक ही कमांड लाइन पर कई बार इस्तेमाल किया जा सकता है, इस प्रकार कई एजेंट बनाते हैं। एक से अधिक एजेंट एक ही जारपथ का उपयोग कर सकते हैं। एक एजेंट जेएआर फ़ाइल जार फ़ाइल विनिर्देश के अनुरूप होना चाहिए।

(मेरा जोर)

+0

हाँ, तुम सही हो के लिए https://github.com/fabric8io/agent-bond/blob/master/README.md मिलते हैं! –

+0

स्पष्टीकरण और दस्तावेज़ीकरण उद्धरण के लिए धन्यवाद –

2

यदि आप चींटी का उपयोग कर रहे हैं और -javaagent लिए एक से अधिक जार के साथ <jvmargs /> शामिल करना चाहते हैं, इसके बाद के संस्करण उत्तर देने के लिए जोड़ा जा रहा है सर्वर प्रारंभ है, तो यहां मैंने किया है,

build.xml

<target name="blah"> 
... 
    <jvmarg value="-javaagent:${jar1.path}" /> 
    <jvmarg value="-javaagent:${jar2.path}" /> 
... 
</target> 
0

एकाधिक जावा एजेंटों का समर्थन करने के लक्ष्य के साथ एक नई परियोजना है। वर्तमान में यह विशिष्ट लोगों तक ही सीमित है।

एजेंट बॉन्ड एक सुपर एजेंट है, जो कई अन्य एजेंटों पर लपेटता है और भेजता है। इस तरह, आपको केवल अपने JVM के भीतर एक ही एजेंट को कॉन्फ़िगरेशन डेटा के एक सेट के साथ स्थापित करना होगा (जिसमें एकाधिक अलग-अलग भाग होते हैं)।

विवरण

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