تطبيق Java Web Start يعطي استثناء Marshal عند تحميل البيانات من قاعدة البيانات عبر EJB عن بعد

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

سؤال

لدي تطبيق بدء تشغيل Java Web استدعاء Java EE 5 EJBS للتحميل في البيانات من قاعدة بيانات. عند إرجاع البيانات من EJB إلى العميل، أحصل على الاستثناء التالي. تبحث عنه عبر الإنترنت، يبدو أن الجميع يحصل على هذا الاستثناء ولكل شخص لديه حل مختلف عنه.

  • جميع كياناتي (مجردة أم لا) تنفذ Serializable ولديها SerialVersionuids.
  • العميل والخادم يقوم بتشغيل نفس jvm نفسه، 1.6.0_20
  • أنا أقوم بتشغيل glassfish v2.1.1 مع eclipselink كمزود JPA.
  • بعض كياناتي تستخدم العادة، ولكن 1.6.0_20 لا تملك خطأ تسلسل ENUM.
  • لقد قمت بتهيئة جميع العلاقات المحملة كسول جانب الخادم قبل اجتيازها إلى العميل.

href="http://forums.sun.com/thread.jspa؟threadid=5133815" rel="nofollow noreferrer"> هذا الشخص يبدو أن هذه المشكلة قد يكون سبب وجودها ثنائية الاتجاه @ @ onetomany / @ علاقات ما بين كونتوون من كيان إلى حد ذاته، لكن لدي تلك في الإصدارات السابقة من هذا البرنامج دون مشكلة.

هذا من وحدة التحكم في Web Java:

giveacodicetagpre.

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

المحلول

caveat: إذا كنت تبحث في الويب، فسترى أن رسالة الخطأ هذه تظهر لعدة مشاكل مختلفة (انظر سؤال الحلول التي جربتها فشلت)، لذلك هذا الحل ليس عالميا.

في هذه الحالة بالذات، يبدو أن هذا هو سبب الانحدار الذي تم تقديمه في Eclipselink الإصدار 1.1.2 وما زالت موجودة في الإصدارات 1.1.3، 1.2.0، و (تخطي عدة إصدارات) آخر واحد، 2.1.0.التراجع إلى Eclipselink 1.1.1 تخلص من هذا الخطأ.

ظهر فقط في تطبيق عميل Java Web Start فقط - تطبيق الويب (المحلي) (باستخدام نفس الكيانات) لم يواجه هذه المشكلة.ما زلت غير متأكد بالضبط ما في البرنامج الذي حدد الخطأ.

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