Glassfish - تصف البيئة التي يقوم بتطبيق الويب قيد التشغيل

StackOverflow https://stackoverflow.com/questions/2207934

  •  18-09-2019
  •  | 
  •  

سؤال

أود أن أتعلم تطبيق ويب الأشياء حول بيئتها حتى يمكن أن يصف تفاصيل مختلفة عند حدوث استثناء.

كيف يمكنني الحصول على عنوان IP (ES) أن Glassfish يعمل داخل تطبيق الويب؟

أرغب في أخذ لقطة من التكوين، اتصالات JDBC، JMS، JNDI، إلخ. هل هذا ممكن؟

أعتقد أن هذا سيكون أكثر ترتبط ب API من Glashfish وحقن فاصوليا أو مزخرفا.

فالتر

هل كانت مفيدة؟

المحلول 3

أقوم بما يلي:

  1. البحث عن جميع واجهات الشبكة على الجهاز
  2. سجل معلومات JVM

هذا يعطيني معلومات كافية لتحديد مكان وجود مشكلة.

فالتر

نصائح أخرى

كيف يمكنني الحصول على عنوان IP (ES) أن Glassfish يعمل داخل تطبيق الويب؟

يمكنك الحصول على هذه المعلومات في ServletRequest, ، على سبيل المثال ميناء.

أرغب في أخذ لقطة من التكوين، اتصالات JDBC، JMS، JNDI، إلخ. هل هذا ممكن؟

ستحتاج إلى الاعتماد على البيانات الوصفية للاتصال أو مصنع الاتصال. إذا كان الخوف ليس محمولا تماما، ولكن يجب أن تكون قادرا على الحصول على بعض المعلومات، مثل JDBC البيانات الوصفية.

يمكنك أيضا توصيل الفاصوليا JMX من Glashfish. فعلت ذلك مرة واحدة من تطبيق ويب لرصد الاتصال الذي تم تخصيصه بمرور الوقت. إذا كنت تعرف اسم الفاصوليا JMX للبحث عن (على سبيل المثال إذا كنت تعرف اسم مصدر البيانات)، فيمكنك الحصول على عربة على المعلومات هناك. في الأساس كل ما هو عرض وحدة التحكم في الدماء الأصلية هناك.

ربما يمكنك جمع جميع المعلومات عند بدء التشغيل مع ServletContextListener ثم قم بتخزينها في مكان ما لبصقها في حالة استثناء.

لاحظ أنه يمكنك الكشف عن المعلومات الحساسة المحتملة للمستخدم النهائي، والتي ليست ممارسة موصى بها.

كيف يمكنني الحصول على عنوان IP (ES) أن Glassfish يعمل داخل تطبيق الويب؟

يستخدم ServletRequest#getLocalPort() لذلك (لا ServletRequest#getServerPort() التي تعود فعلا رقم المنفذ الذي تم إرسال الطلب إليه, في معظم الأحيان 80, ، وقد تكون مختلفة عن المنفذ الحاوية تستمع بسبب توازن التوجيه / التحميل).

أرغب في أخذ لقطة من التكوين، اتصالات JDBC، JMS، JNDI، إلخ. هل هذا ممكن؟

حسنا، ربما يمكنك تصفح شجرة JNDI لمعرفة ما هو موجود هناك ولكن تطبيقك ليس من المفترض أن يكون على دراية بجميع التفاصيل (فهم: لا أعتقد أنك ستتمكن من الوصول إلى جميع البيانات الوصفية، على الأقل ليس هذا طريق).

خيار آخر سيكون الاتصال مكتوب الأطباء الإدارية المكشوفة في Glassfish عبر JMX. وبعد ولكن هذا سيتطلب بيانات اعتماد المسؤول (وقد لا يكون ذلك ممكنا بالتالي).

ربما يجب عليك توضيح احتياجاتك والقيود الخاصة بك للحصول على إجابات أكثر دقة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top