যদিও থ্রেড সুরক্ষার ক্ষেত্রে এটি স্ট্যাটিক অবজেক্টম্যাপার ঘোষণা করা নিরাপদ, আপনার সচেতন হওয়া উচিত যে জাভাতে স্ট্যাটিক অবজেক্ট ভেরিয়েবলগুলি তৈরি করা খারাপ অভ্যাস হিসাবে বিবেচিত হয়। আরও বিশদের জন্য দেখুন, স্থির ভেরিয়েবলগুলি কেন মন্দ হিসাবে বিবেচিত হয়? (এবং আপনি যদি চান, আমার উত্তর )
সংক্ষেপে, স্ট্যাটিকগুলি এড়ানো উচিত কারণ এটি সংক্ষিপ্ত ইউনিট পরীক্ষাগুলি লিখতে সমস্যা করে। উদাহরণস্বরূপ, একটি স্থিতিশীল চূড়ান্ত অবজেক্টম্যাপার সহ, আপনি জালিয়াতি কোড বা কোনও অপ-এর জন্য জেএসওএন সিরিয়ালাইজেশন স্যুপ আউট করতে পারবেন না।
এছাড়াও, স্ট্যাটিক ফাইনাল আপনাকে রানটাইমে অবজেক্টম্যাপারকে পুনরায় কনফিগার করা থেকে বাধা দেয় uring আপনি এখন এটির জন্য কোনও কারণ কল্পনাও করতে পারেন না, তবে আপনি যদি নিজেকে একটি স্থির চূড়ান্ত প্যাটার্নে লক করেন তবে ক্লাসলোডারকে ছিঁড়ে ফেলার কোনও ছোট কিছুই আপনাকে এটিকে নতুন করে শুরু করতে দিবে না।
অবজেক্টম্যাপারের ক্ষেত্রে এটির সূক্ষ্ম, তবে সাধারণভাবে এটি খারাপ অভ্যাস এবং আপনার দীর্ঘকালীন অবজেক্টগুলি পরিচালনা করতে সিঙ্গলটন প্যাটার্ন বা বিপরীতমুখী নিয়ন্ত্রণ ব্যবহার করার কোনও সুবিধা নেই।
ObjectMapper
হওয়ার পরেও যদি থ্রেড-সেফ থাকে তবে আমি কিছুটা উদ্বিগ্নObjectMapper#setDateFormat()
। এটি জানা যায় যেSimpleDateFormat
থ্রেড নিরাপদ নয় , সুতরাং এটিObjectMapper
যদি না হয় তবে এটিSerializationConfig
প্রতিটির আগে ক্লোন না করেwriteValue()
(আমি সন্দেহ করি)। তুমি কি আমার ভয় ডেকে দিতে পার?