জাভা EE 6 @ javax.annotation.ManagedBean বনাম @ javax.inject. নামকরণ বনাম @ জাভ্যাক্স.ফেসস.ম্যানেজডবিয়ান


107

আমার মনে হচ্ছে জাভা EE 6 টিপিতে কিছুটা গণ্ডগোল রয়েছে। টীকাগুলির কয়েকটি সেট রয়েছে।

আমরা আশা করি আপনি javax.ejbমত টীকা @Statefulএবং @StatelessEJBs তৈরি করার জন্য।

@javax.annotation.ManagedBeanএকটি পরিচালিত শিম তৈরির জন্যও রয়েছে ।

javax.enterprise.contextলাইক @SessionScopedএবং এ টীকা আছে @RequestScoped

কি আরো আরো আছে @ManagedBeanএবং @SessionScoped/ @RequestScopedটীকার javax.faces.beanপ্যাকেজ।

এবং বিষয়গুলিকে ইভেন্টটিকে আরও জটিল করে তোলার জন্য টীকা javax.injectসহ একটি প্যাকেজ রয়েছে @Named

কেউ দয়া করে বর্ণনা করতে পারেন যে তারা কীভাবে একে অপরের সাথে সম্পর্কিত?

আমি কোথায় ব্যবহার করতে পারেন @EJB, @Injectবা @ManagedProperyঅন্যান্য মটরশুটি উদ্বুদ্ধ করতে?


উত্তর:


194

সবার আগে আমাকে কিছু স্পষ্টতা দিন:

পরিচালিত শিমের সংজ্ঞা : সাধারণত একটি পরিচালিত শিম এমন একটি বস্তু যা এর জীবনচক্র (নির্মাণ, ধ্বংস ইত্যাদি) একটি ধারক দ্বারা পরিচালিত হয়।

জাভা ইতে আমাদের কাছে অনেকগুলি ধারক রয়েছে যা তাদের বস্তুর জীবনচক্র পরিচালনা করে, যেমন জেএসএফ ধারক, ইজেবি ধারক, সিডিআই ধারক, সার্ভলেট ধারক ইত্যাদি manage

এই সমস্ত কন্টেইনারগুলি স্বতন্ত্র ধরনের কাজ করে, তারা অ্যাপ্লিকেশন সার্ভার ইনিশিয়ালেশন বুট করে এবং স্থাপনার সময় জার, ইজবি-জার, যুদ্ধ এবং কানের ফাইলগুলি সহ সমস্ত নিদর্শনগুলির ক্লাস স্ক্যান করে এবং সেগুলি সম্পর্কে কিছু মেটাডেটা সংগ্রহ করে সংরক্ষণ করে, তারপরে যখন আপনার কোনও বস্তুর প্রয়োজন হয় রানটাইমের সময় একটি ক্লাসের তারা আপনাকে সেই ক্লাসগুলির উদাহরণ দেবে এবং কাজ শেষ করার পরে তারা তাদের ধ্বংস করবে।

সুতরাং আমরা বলতে পারি যে আমাদের রয়েছে:

  • জেএসএফ পরিচালিত মটরশুটি
  • সিডিআই মটরশুটি পরিচালিত
  • EJB মটরশুটি পরিচালিত
  • এমনকি সার্লেলেটগুলি মটরশুটিই পরিচালিত হয় কারণ সেগুলি একটি ধারক দ্বারা তাত্ক্ষণিকভাবে এবং ধ্বংস হয়, যা একটি সার্লেট পাত্রে।

সুতরাং আপনি যখন পরিচালিত বিন শব্দটি দেখেন তখন আপনার প্রসঙ্গ বা প্রকারের বিষয়ে জিজ্ঞাসা করা উচিত ((জেএসএফ, সিডিআই, ইজেবি, ইত্যাদি)

তারপরে আপনি জিজ্ঞাসা করতে পারেন যে আমাদের কাছে এই কন্টেনারগুলির অনেকগুলি কেন রয়েছে: আফাইক, জাভা ই ই ছেলেরা নির্ভরতা ইনজেকশন কাঠামো পেতে চেয়েছিল তবে তারা ভবিষ্যতে প্রয়োজনীয়তাগুলি ভবিষ্যদ্বাণী করতে না পারায় তারা একটি নির্দিষ্টকরণে সমস্ত প্রয়োজনীয়তা সংগ্রহ করতে পারেনি এবং তারপরে তারা EJB 1.0 তৈরি করে এবং ২.০ এবং তারপরে ৩.০ এবং এখন ৩.১ তবে ইজেবির লক্ষ্যমাত্র ছিল কেবলমাত্র কিছু প্রয়োজনীয়তার জন্য (লেনদেন, বিতরণ উপাদানগুলির মডেল ইত্যাদি)।

একই সময়ে (সমান্তরালভাবে) তারা বুঝতে পেরেছিল যে তাদেরও জেএসএফ সমর্থন করতে হবে, তারপরে তারা জেএসএফ পরিচালিত মটরশুটি এবং জেএসএফ শিমের জন্য অন্য একটি ধারক তৈরি করেছিল এবং তারা এটিকে একটি পরিপক্ক ডিআই কনটেইনার হিসাবে বিবেচনা করেছিল, কিন্তু এখনও এটি সম্পূর্ণ এবং পরিপক্ক ধারক ছিল না।

এর পরে গ্যাভিন কিং এবং আরও কিছু চমৎকার লোক;) সিডিআই তৈরি করেছেন যা আমি দেখেছি যে সবচেয়ে পরিপক্ক ডিআই কনটেইনার। সিডিআই (সিউম 2, গুইস এবং স্প্রিং দ্বারা অনুপ্রাণিত) জেএসএফ এবং ইজেবি এবং পোজো ইনজেকশন, প্রযোজক পদ্ধতি, ইন্টারসেপ্টর, সাজসজ্জার, ইন্টিগ্রেশন এসপিআই, খুব নমনীয় ইত্যাদি ইত্যাদির মধ্যে শূন্যস্থান পূরণ করার জন্য তৈরি করা হয়েছিল এবং এটি এমনকি করতে পারে EJB এবং জেএসএফ পরিচালিত মটরশুটিগুলি তখন কী করছে তা আমাদের কাছে কেবল একটি পরিণত এবং শক্তিশালী ডিআই কন্টেইনার থাকতে পারে। তবে কিছু পশ্চাদপদ সামঞ্জস্যতা এবং রাজনৈতিক কারণে জাভা ইই ছেলেরা তাদের ধরে রাখতে চায় !!!

এখানে আপনি এই প্রতিটি ধরণের জন্য পার্থক্যটি খুঁজে পেতে এবং কেসগুলি ব্যবহার করতে পারেন:

জেএসএফ পরিচালিত মটরশুটি, সিডিআই মটরশুটি এবং ইজেবি

জেএসএফ প্রাথমিকভাবে তার নিজস্ব পরিচালিত শিম এবং নির্ভরতা ইনজেকশন প্রক্রিয়া দ্বারা বিকাশ করা হয়েছিল যা জেএসএফ ২.০ এর জন্য এনোটেশন ভিত্তিক মটরশুটি অন্তর্ভুক্ত করার জন্য বাড়ানো হয়েছিল। সিডিআই যখন জাভা ইই 6 এর সাথে প্রকাশিত হয়েছিল তখন এটিকে সেই প্ল্যাটফর্মের জন্য পরিচালিত শিমের কাঠামো হিসাবে বিবেচনা করা হত এবং অবশ্যই ইজেবিগুলি তাদের দশকে পুরনো করেছিল এক দশকেরও বেশি সময় ধরে।

কোনটি ব্যবহার করা উচিত এবং কখন তাদের ব্যবহার করা উচিত তা অবশ্যই সমস্যা।

আসুন সরল, জেএসএফ পরিচালিত মটরশুটি দিয়ে শুরু করা যাক।

জেএসএফ পরিচালিত মটরশুটি

সংক্ষেপে, আপনি যদি জাভা EE 6 এর জন্য বিকাশ করছেন এবং সিডিআই ব্যবহার করছেন তবে সেগুলি ব্যবহার করবেন না। তারা ওয়েব পৃষ্ঠাগুলির জন্য নির্ভরতা ইনজেকশন এবং ব্যাকিং শিমের সংজ্ঞা দেওয়ার জন্য একটি সহজ প্রক্রিয়া সরবরাহ করে তবে তারা সিডিআই মটরশুটির তুলনায় অনেক কম শক্তিশালী।

@javax.faces.bean.ManagedBeanএগুলিকে এনটোটেশন ব্যবহার করে সংজ্ঞায়িত করা যেতে পারে যা একটি alচ্ছিক নাম প্যারামিটার নেয়। এই নামটি জেএসএফ পৃষ্ঠা থেকে শিম রেফারেন্স করতে ব্যবহার করা যেতে পারে।

javax.faces.beanঅনুরোধ, সেশন, অ্যাপ্লিকেশন, দর্শন এবং কাস্টম স্কোপস অন্তর্ভুক্ত প্যাকেজে সংজ্ঞায়িত বিভিন্ন স্কোপের একটি ব্যবহার করে শিমের সাথে স্কোপ প্রয়োগ করা যেতে পারে ।

@ManagedBean(name="someBean")
@RequestScoped
public class SomeBean {
    ....
    ....
}

জেএসএফ শিম কোনও ধরণের ম্যানুয়াল কোডিং ব্যতীত অন্য ধরণের বিনের সাথে মিশ্রিত করা যায় না।

সিডিআই বিনস

সিডিআই হ'ল শিম ব্যবস্থাপনা এবং নির্ভরতা ইনজেকশন কাঠামো যা জাভা ইই 6 এর অংশ হিসাবে প্রকাশিত হয়েছিল এবং এতে একটি সম্পূর্ণ, বিস্তৃত পরিচালিত শিমের সুবিধা রয়েছে। সিডিআই মটরশুটি সাধারণ জেএসএফ পরিচালিত মটরশুটি থেকে অনেক বেশি উন্নত এবং নমনীয়। তারা ইন্টারসেপ্টর, কথোপকথনের সুযোগ, ইভেন্টস, টাইপ নিরাপদ ইনজেকশন, সজ্জকার, স্টেরিওটাইপস এবং প্রযোজক পদ্ধতি ব্যবহার করতে পারে।

সিডিআই মটরশুটি স্থাপন করতে, আপনাকে অবশ্যই ক্লাসপথে একটি মেটা-আইএনএফ ফোল্ডারে বিনস.এক্সএমএল নামে একটি ফাইল স্থাপন করতে হবে। একবার আপনি এটি করেন, তারপরে প্যাকেজের প্রতিটি বিন একটি সিডিআই বিন হয়ে যায়। সিডিআইতে প্রচুর বৈশিষ্ট্য রয়েছে, এখানে আচ্ছাদন করার মতো অনেকগুলি বিষয় রয়েছে, তবে জেএসএফ-এর মতো বৈশিষ্ট্যগুলির জন্য দ্রুত রেফারেন্স হিসাবে, আপনি javax.enterprise.contextপ্যাকেজটিতে সংজ্ঞায়িত স্কোপের একটি ব্যবহার করে সিডিআই বিনের স্কোপটি সংজ্ঞায়িত করতে পারেন (যথা, অনুরোধ, কথোপকথন) , সেশন এবং অ্যাপ্লিকেশন স্কোপ)। আপনি যদি কোনও জেএসএফ পৃষ্ঠা থেকে সিডিআই বিন ব্যবহার করতে চান তবে javax.inject.Namedটীকাটি ব্যবহার করে এটি একটি নাম দিতে পারেন । অন্য শিমের সাথে একটি শিম ইনজেকশনের জন্য, আপনি javax.inject.Injectএন্টোটেশন দিয়ে ক্ষেত্রটি বেনিফিট করুন।

@Named("someBean")
@RequestScoped
public class SomeBean {

    @Inject
    private SomeService someService;
}

উপরোক্ত সংজ্ঞায়িত মত স্বয়ংক্রিয় ইনজেকশনটি কোয়ালিফায়ার ব্যবহারের মাধ্যমে নিয়ন্ত্রণ করা যেতে পারে যা আপনি ইনজেকশন করতে চান এমন নির্দিষ্ট শ্রেণীর সাথে মেলে সহায়তা করতে পারে। আপনার যদি একাধিক অর্থপ্রদানের প্রকার থাকে, তবে এটি অ্যাসিনক্রোনাস কিনা তা আপনি একটি যোগ্যতা যুক্ত করতে পারেন। আপনি যখন @Namedএফটেশনটি একটি বাছাইকারী হিসাবে ব্যবহার করতে পারেন তবে এটি আপনাকে ইলিতে মটরশুটি বের করার জন্য সরবরাহ করা উচিত নয়।

প্রক্সি ব্যবহারের মাধ্যমে সিডিআই মেলানো স্কোপগুলির সাথে মটরশুটির ইঞ্জেকশন পরিচালনা করে। এ কারণে আপনি একটি অনুরোধ স্কোপড শিমকে একটি সেশন স্কোপড শিমের মধ্যে ইনজেকশন করতে পারেন এবং প্রতিটি অনুরোধের জন্য রেফারেন্সটি এখনও বৈধ থাকবে কারণ প্রতিটি অনুরোধের জন্য, প্রক্সিটি অনুরোধ স্কোপড শিমের লাইভ ইভেন্টে পুনরায় সংযোগ স্থাপন করে।

সিডিআইতে ইন্টারসেপ্টর, ইভেন্টগুলি, নতুন কথোপকথনের সুযোগ এবং আরও অনেকগুলি বৈশিষ্ট্যের জন্য সমর্থন রয়েছে যা এটি জেএসএফ পরিচালিত মটরশুটিগুলির তুলনায় আরও ভাল পছন্দ করে তোলে।

EJB

ইজেবিগুলি সিডিআই মটরশুটি প্রাক্কলিত করে এবং কোনও উপায়ে সিডিআই মটরশুটির অনুরূপ এবং অন্যান্য উপায়ে খুব আলাদা। প্রাথমিকভাবে, সিডিআই মটরশুটি এবং ইজেবিগুলির মধ্যে পার্থক্য হ'ল ইজেবিগুলি হ'ল:

  • লেনদেনগত
  • দূরবর্তী বা স্থানীয়
  • সংস্থান মুক্ত রাষ্ট্রীয় মটরশুটি প্যাসিভেট করতে সক্ষম
  • টাইমার ব্যবহার করতে সক্ষম
  • অ্যাসিক্রোনাস হতে পারে

দুই ধরণের ইজেবিকে রাষ্ট্রহীন এবং রাষ্ট্রীয় বলা হয়। স্টেটলেস ইজেবিগুলিকে থ্রেড নিরাপদ একক-ব্যবহার মটরশুটি হিসাবে ভাবা যেতে পারে যা দুটি ওয়েব অনুরোধের মধ্যে কোনও রাজ্য বজায় রাখে না। রাষ্ট্রীয় ইজেবিগুলি রাষ্ট্র ধরে রাখে এবং এগুলি নিষ্পত্তি না করা অবধি যতক্ষণ প্রয়োজন হয় ততক্ষণ তৈরি করা যায় এবং বসে থাকতে পারে।

একটি ইজেবি সংজ্ঞায়িত করা সহজ, আপনি কেবল ক্লাসে একটি javax.ejb.Statelessবা javax.ejb.Statefulটিকা যুক্ত করুন ।

@Stateless
public class BookingService {

  public String makeReservation(Item Item, Customer customer) {
    ...
    ...
  }
}

রাজ্যহীন শিমের অবশ্যই একটি নির্ভরযোগ্য সুযোগ থাকতে হবে যখন একটি রাষ্ট্রীয় অধিবেশন শিমের কোনও সুযোগ থাকতে পারে। ডিফল্টরূপে এগুলি লেনদেন হয় তবে আপনি লেনদেনের বৈশিষ্ট্য টীকাটি ব্যবহার করতে পারেন।

যদিও ইজেবি এবং সিডিআই মটরশুটি বৈশিষ্ট্যের দিক থেকে খুব আলাদা, কোডগুলি তাদের সংহত করার জন্য লিখনগুলি খুব মিল কারণ সিডিআই মটরশুটি ইজেবিতে ইনজেক্ট করা যায় এবং ইজেবিগুলি সিডিআই মটরশুটিতে ইনজেকশন দেওয়া যেতে পারে। একে অপরকে ইনজেকশন দেওয়ার সময় কোনও পার্থক্য করার দরকার নেই। আবার প্রক্সি ব্যবহারের মাধ্যমে বিভিন্ন স্কোপগুলি সিডিআই দ্বারা পরিচালিত হয়। এর একটি ব্যতিক্রম হ'ল সিডিআই দূরবর্তী ইজেবিগুলির ইনজেকশন সমর্থন করে না তবে এটির জন্য একটি সহজ প্রযোজক পদ্ধতি লিখে এটি প্রয়োগ করা যেতে পারে।

javax.inject.Namedটীকা সেইসাথে কোয়ালিফায়ার একটি EJB ব্যবহার করা যেতে পারে একটি ইনজেকশন বিন্দু এটা মেলে।

কখন কোন শিম ব্যবহার করবেন

আপনি কখন কীভাবে শিম ব্যবহার করবেন তা জানবেন? সহজ।

আপনি সার্লেট পাত্রে কাজ না করা এবং টমকটে সিডিআই কাজ করার চেষ্টা করতে না চাইলে জেএসএফ পরিচালিত মটরশুটি কখনই ব্যবহার করবেন না (যদিও এর জন্য কিছু ম্যাভেন আরকিটাইপস রয়েছে তাই কোনও অজুহাত নেই)।

সাধারণভাবে, আপনার সিডিআই মটরশুটি ব্যবহার করা উচিত যদি না আপনার লেনদেনীয় ফাংশনগুলির মতো ইজেবিতে উপলব্ধ উন্নত কার্যকারিতা প্রয়োজন হয়। সিডিআই মটরশুটিকে লেনদেনের জন্য আপনি নিজের ইন্টারসেপ্টারটি লিখতে পারেন তবে এখনকার জন্য, সিডিআই লেনদেনের সিডিআই বিনগুলি পাওয়া না হওয়া পর্যন্ত কোনও ইজেবি ব্যবহার করা সহজ which আপনি যদি কোনও সার্লেট পাত্রে আটকে থাকেন এবং সিডিআই ব্যবহার করছেন, তবে হাতে লিখিত লেনদেন বা আপনার নিজস্ব লেনদেনের ইন্টারসেপ্টর হ'ল ইজেবি ব্যতীত একমাত্র বিকল্প।

আপনার যদি @ViewScopedসিডিআই ব্যবহার করতে হয় তবে আপনার উচিত

  • ব্যবহার স্তর-মুখ বা MyFaces CODI মডিউল। এর মধ্যে একটিকে আপনার ক্লাসপথে যুক্ত করুন এবং সিডিআইতে @ViewScopedকাজ করবেন। মাইফিজস সিওডি-তে @ ভিউস্কোপেডের আরও দৃ solid় সমর্থন রয়েছে
  • মাইফিসস সিওডি ব্যবহার করুন @ViewAccessScoped, এটি অ্যাপাচি দ্বারা সিডিআইয়ের উপরে লেখা একটি এক্সটেনশন, কেবল এটি ডাউনলোড করুন এবং @ViewAccessScopedপরিবর্তে টীকাটি ব্যবহার করুন @ViewScoped
  • সিডিআই ব্যবহার করুন @ConversationScopedএবং এটি দীর্ঘ চলমান করুন। আরও তথ্যের জন্য এখানে দেখুন ।
  • ওমনিফেসগুলি @ ভিউস্কোপড টীকাটি ব্যবহার করুন

কিছু অংশ এখান থেকে চালিত হয়েছিল ।


3
এটা অসাধারণ! ধন্যবাদ! সম্পূর্ণ হওয়ার জন্য, কীভাবে সিডিআই বা ইজেবি বিনকে জেএসএফ বিনের মধ্যে ইনজেক্ট করবেন তা কেবল বলুন। কি @ManagedProperty("#{someBean})"সঠিক উপায়?
পাইটর গুইজদা

2
নাঃ! এটা কাজ করবে না। শুধু আপনার jsf পরিচালিত শিম চালু CDI ব্যবহার করে এটি টিকা দ্বারা শিম পরিচালিত করতে @Namedএবং @javax.enterprise.context.RequestScopedএবং ব্যবহার CDI ইনজেকশন @Inject টীকা ব্যবহার করে। আপনার দরকার না থাকলে জেএসএফ পরিচালিত মটরশুটি ব্যবহার করবেন না;)।
মেহেদী

3
> জেইই ছেলেরা এগুলি রাখতে চাই !!! - এটি তার চেয়ে কিছুটা সূক্ষ্ম। জাভা ই ই 6 চক্রের পরিবর্তে সিডিআই শেষ হয়েছে এবং জেএসএফ 2 এবং জ্যাকস-আরএস উভয়ই ইতিমধ্যে সম্পন্ন হয়েছে। তাদের শ্রদ্ধা বৃদ্ধি ছিল। ইতিমধ্যে তাদের নিজস্ব পরিচালিত শিমের সুবিধা চালু করেছে। সিডিআই যদি একটু আগে পাওয়া যেত তবে জিনিসগুলি অন্যরকমভাবে দেখতে পেত। জাভা ই ই 7 তে, জেএসএফ সিডিআই গ্রহণ করবে এবং জাভ্যাক্স.ফেসস.ইবিয়ান অবশেষে অবমূল্যায়ন করা হবে (জাভা ই ইতে অবমূল্যায়ন একটি ধীর প্রক্রিয়া, যা উভয়ই ভাল এবং খারাপ)।
আরজান তিজমস

3
আপনি যখন বলছেন: সিডিআই মটরশুটি স্থাপন করতে, আপনাকে অবশ্যই ক্লাসপথে একটি মেটা-আইএনএফ ফোল্ডারে বিনস.এক্সএমএল নামে একটি ফাইল স্থাপন করতে হবে। একবার আপনি এটি করেন, তারপরে প্যাকেজের প্রতিটি বিন একটি সিডিআই বিন হয়ে যায়। আপনার অর্থ কি প্রতিটি শিমটি যা ছিল তা ছাড়াও সিডিআই শিমও হয়ে যায়? আমার যদি ম্যানেজডবিয়ান এবং ভিউস্কোপযুক্ত জেএসএফ পরিচালিতবিয়ান থাকে তবে কী হবে। তারা এখনও ঠিক জেএসএফ পরিচালিত মটরশুটি আছে?
Koray Tugay

3
কেউ এই দুর্দান্ত নিবন্ধে জাভা ইই 7 এর জন্য একটি আপডেট করতে সক্ষম?
মার্টিজন বার্গার

7

হ্যাঁ, এটি বিভ্রান্তিকর হতে পারে।

কিছু অহম historical তিহাসিক কারণে জেএসএফ এবং সিডিআই স্কোপের জন্য একই টীকাগুলি ব্যবহার করছে তবে বিভিন্ন প্যাকেজ থেকে।

যেহেতু আপনি সম্ভবত অনুমান করছেন যেগুলি javax.faces.beanসেগুলি জেএসএফ স্পেকের, এবং সিডিআইয়ের সাথে সম্পর্কিত নয়। যদি আপনার কাছে খুব ভাল কারণ না থাকে তবে এগুলি ব্যবহার করবেন না। এবং সেখান থেকে সিডিআই টীকাগুলির সাথে কখনও তাদের মিশ্রিত করবেন না javax.ejb। এটি বাগ এবং সূক্ষ্ম অসঙ্গতিগুলির একটি নিরন্তর অন্তহীন তালিকা তৈরি করবে।

আমি সাধারণত সুপারিশ করি যে আপনি চমৎকার ওয়েল্ড ডকুমেন্টেশনের প্রথম কয়েকটি (বা আরও বেশি) পৃষ্ঠাগুলি স্কিম করুন । এটি আপনাকে জাভা EE 6 এর জন্য ট্র্যাকে রাখা উচিত।

এবং আরও প্রশ্ন এখানে নির্দ্বিধায় পোস্ট করুন।


আসলে আমার দুটি প্রশ্ন আছে: ১. আমি প্রায়শই দেখার সুযোগটি খুব দরকারী বলে মনে করি। আমার তখন জেএসএফ টীকাটি ব্যবহার করা দরকার? ২. এর অর্থ @javax.annotation.ManagedBeanসিডিআই সমস্ত ক্লাসকে পরিচালিত মটরশুটি হিসাবে বিবেচনা করে তা অকেজো, আমি কি ঠিক আছি?
পাইটর গুইজদা

বেশ না। আপনার সিডিআইতে জেএসএফ স্কোপগুলি ব্রাউজ করতে হবে যেমন সীম ফেসগুলি। এবং হ্যাঁ, প্রাসঙ্গিক জার-ফাইলটিতে আপনার বিনস.এক্সএমএল থাকলে @ ম্যানেজডবিয়ানগুলির দরকার নেই। ওহ, এবং যদি আপনার আরও প্রশ্ন থাকে তবে মন্তব্য বিভাগে আমরা নিজেকে ফাঁসানোর আগে একটি নতুন থ্রেড শুরু করা ভাল।
জান গ্রোথ

3

যেহেতু বিশেষভাবে কোনও উত্তর নেই @javax.annotation.ManagedBean, তাই এখানে একই প্রশ্নের উত্তরের একটি লিঙ্ক এখানে রয়েছে: ব্যাকিং শিম (@ ম্যানেজডবিয়ান) বা সিডিআই বিনস (@ নামযুক্ত)? । অনুমানটি পাওয়া যাবে http://download.oracle.com/otndocs/jcp/managed_beans-1.0-fr-eval-oth-JSpec/ এ । সুতরাং এটি আমার @javax.annotation.ManagedBeanকাছে সাধারণভাবে বোঝাচ্ছিল @javax.faces.bean.ManagedBean

আমি যা জড়ো করেছি, সে থেকে জেএসএফ পরিচালিত মটরশুটিগুলি পর্যায়ক্রমে সিডিআই বিনগুলির পক্ষে করা হতে পারে (সম্ভবত জেএসএফ ২.৩ থেকে অবহেলিত হচ্ছে?), সুতরাং আমার ধারণা @javax.annotation.ManagedBeanএখন আরও বেশি অচল হয়ে পড়েছে।


@Named@ManagedBeanভবিষ্যতে প্রতিস্থাপন করবে ?
থুফির

1
আমি বিভিন্ন জাভা EE যারা বিশেষজ্ঞদের ভবিষ্যদ্বাণী করা যে CDI দ্বারা বিভিন্ন বিবৃতি পড়েছি @Namedমটরশুটি JSF প্রতিস্থাপন করবে @ManagedBeans, যেমন মধ্যে stackoverflow.com/questions/4347374/... , BalusC বলে "প্রত্যাশা যে @ManagedBean এবং বন্ধুদের জাভা অনুযায়ী অননুমোদিত হবে EE 8. "।
হেইন ব্লাড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.