كيف أبدأ برنامج Java الخاص بي مع أكثر من وكيل Java؟
-
22-08-2019 - |
سؤال
أنا على دراية بكيفية بدء برنامج Java باستخدام وكيل Java:
java -javaagent:myAgent.jar MyJavaProgram
ولكن ماذا لو كنت أرغب في إضافة وكيلين جافا أو أكثر لأداة برنامجي؟لا أريد إعادة استدعاء Java -javaagent:...لكل وكيل يجب أن أقوم بتحميله في JVM.
لقد حاولت شيئا من هذا القبيل:
java -javaagent:agentA.jar, agentB.jar MyJavaProgram
أو شيء من هذا القبيل:
java -javaagent:agentA.jar agentB.jar MyJavaProgram
ولكن لم يكن هناك نجاح.
هل هناك إجابة لحل مشكلتي؟
شكرًا لك.
المحلول
وماذا عن معلمتين javaagent
java -javaagent:agentA.jar -javaagent:agentB.jar MyJavaProgram
نصائح أخرى
يبدو أنه يمكنك القيام بذلك باستخدام وسائط متعددة.من توثيق:
في عمليات التنفيذ باستخدام واجهة سطر الأوامر، يتم بدء تشغيل الوكيل عن طريق إضافة هذا الخيار إلى سطر الأوامر:
-javaagent:jarpath[=options]
jarpath هو المسار إلى ملف JAR للوكيل. خيارات هي خيارات الوكيل. يمكن استخدام رمز التبديل هذا عدة مرات في نفس سطر الأوامر، وبالتالي إنشاء وكلاء متعددين.يجوز لأكثر من وكيل استخدام نفس jarpath.يجب أن يتوافق ملف JAR للوكيل مع مواصفات ملف JAR.
(تأكيدي)
إضافة إلى الإجابات المذكورة أعلاه، إذا كنت تستخدم النمل وتريد تضمينه <jvmargs />
مع أكثر من جرة ل -javaagent
لبدء الخادم، وهنا كيف فعلت ذلك،
build.xml
<target name="blah">
...
<jvmarg value="-javaagent:${jar1.path}" />
<jvmarg value="-javaagent:${jar2.path}" />
...
</target>
وهناك مشروع جديد بهدف إلى دعم العديد من وكلاء جافا. حاليا أنه يقتصر على تلك محددة.
<اقتباس فقرة>وكيل بوند هو عامل السوبر، الذي يلتف وترسل على العديد من العوامل الأخرى. وبهذه الطريقة، لديك فقط لتثبيت عامل واحد داخل JVM الخاصة بك مع مجموعة واحدة من بيانات التكوين (الذي يحتوي على عدة أجزاء منفصلة).
اقتباس فقرة>https://github.com/fabric8io/agent- السندات / فقاعة / الماجستير / README.md للحصول على تفاصيل