سؤال

يمكن لأي شخص مساعدتي في هذا الاستثناء: giveacodicetagpre.

وأيضا توفير الحل الممكن لذلك ..

شكرا مقدما ...

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

المحلول

المشكلة الأساسية هي أن Tomcat ينشئ عددا جديدا لكل WebApp وتعطيل الكلمة عند إعادة تعيين التطبيق، على سبيل المثال بواسطة الساخنة نشر نسخة جديدة. C3P0 يخلق خيوط المساعد. إذا تم تحميل C3P0 ضمن محمل فئة تطبيق الويب، ثم إعادة تعيين التطبيق، فقد لا تزال مؤشرات الترابط C3P0 الخاصة بها حية وعقد إشارات إلى الكائنات المحملة من الكلمة المنفصلة الآن، مما يؤدي إلى نوع الخطأ الذي تراه عندما يجب أن تكون فئة جديدة تحميل. يمكن أن تكون تفاعلات

بين المكونات المتعددة المكونات ومخطط Tomcat "الساخن" في التصنيف تحديا. بعض الاقتراحات:

1) إذا كان تطبيق الويب الخاص بك يبني بيانات DataSource الخاصة به C3P0 الخاصة به (على سبيل المثال في ContextClistener)، فتأكد من أن DataSource أغلق أيضا () إد عند إيقاف تشغيل التطبيق (في نفس ContextClistener)

2) حاول أن يكون لديك C3P0 ودروس قيادة JDBC الخاصة بك محملة في شيء آخر غير APP-App Classloader المحدد. ضع ملف JAR C3P0، ملف Java Jar Commons-Java، وملف جرة سائق JDBC الخاص بك حيث سيجدها النطاق الشائع أو النظام أو Bootstrap. تأكد من أن تأخذ هذه الملفات من دليل Webapp's Lib الخاص بك، لأن APP APP Classlader قد حاول أولا. انظر http://tomcat.apache.org/tomcat-6.0- DOC / Class-loader-howto.html لأكثر من ذلك.

آمل أن يساعد هذا!

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