此内容没有您所选择的语言版本。

8.3. Session Beans


8.3.1. Session Beans

Session Beans are Enterprise Beans that encapsulate a set of related business processes or tasks and are injected into the classes that request them. There are three types of session bean: stateless, stateful, and singleton.

8.3.2. Stateless Session Beans

Stateless session beans are the simplest yet most widely used type of session bean. They provide business methods to client applications but do not maintain any state between method calls. Each method is a complete task that does not rely on any shared state within that session bean. Because there is no state, the application server is not required to ensure that each method call is performed on the same instance. This makes stateless session beans very efficient and scalable.

8.3.3. Stateful Session Beans

Stateful session beans are Enterprise Beans that provide business methods to client applications and maintain conversational state with the client. They should be used for tasks that must be done in several steps (method calls), each of which relies on the state of the previous step being maintained. The application server ensures that each client receives the same instance of a stateful session bean for each method call.

8.3.4. Singleton Session Beans

Singleton session beans are session beans that are instantiated once per application and every client request for a singleton bean goes to the same instance. Singleton beans are an implementation of the Singleton Design Pattern as described in the book Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; published by Addison-Wesley in 1994.
Singleton beans provide the smallest memory footprint of all the session bean types but must be designed as thread-safe. EJB 3.1 provides container-managed concurrency (CMC) to allow developers to implement thread safe singleton beans easily. However singleton beans can also be written using traditional multi-threaded code (bean-managed concurrency or BMC) if CMC does not provide enough flexibility.
Red Hat JBoss Developer Studio has several wizards that can be used to quickly create enterprise bean classes. The following procedure shows how to use the Red Hat JBoss Developer Studio wizards to add a session bean to a project.

Prerequisites:

  • You have a EJB or Dynamic Web Project in Red Hat JBoss Developer Studio to which you want to add one or more session beans.

Procedure 8.5. Add Session Beans to a Project in Red Hat JBoss Developer Studio

  1. Open the Project

    Open the project in Red Hat JBoss Developer Studio.
  2. Open the "Create EJB 3.x Session Bean" wizard

    To open the Create EJB 3.x Session Bean wizard, navigate to the File menu, select New, and then Session Bean (EJB 3.x).

    Figure 8.7. Create EJB 3.x Session Bean wizard

  3. Specify class information

    Supply the following details:
    • Project
      Verify the correct project is selected.
    • Source folder
      This is the folder that the Java source files will be created in. This should not usually need to be changed.
    • Package
      Specify the package that the class belongs to.
    • Class name
      Specify the name of the class that will be the session bean.
    • Superclass
      The session bean class can inherit from a super class. Specify that here if your session has a super class.
    • State type
      Specify the state type of the session bean: stateless, stateful, or singleton.
    • Business Interfaces
      By default the No-interface box is checked so no interfaces will be created. Check the boxes for the interfaces you wish to define and adjust the names if necessary.
      Remember that enterprise beans in a web archive (WAR) only support EJB 3.1 Lite and this does not include remote business interfaces.
    Click Next.
  4. Session Bean Specific Information

    You can enter in additional information here to further customize the session bean. It is not required to change any of the information here.
    Items that you can change are:
    • Bean name.
    • Mapped name.
    • Transaction type (Container managed or Bean managed).
    • Additional interfaces can be supplied that the bean must implement.
    • You can also specify EJB 2.x Home and Component interfaces if required.
  5. Finish

    Click Finish and the new session bean will be created and added to the project. The files for any new business interfaces will also be created if they were specified.

Figure 8.8. New Session Bean in Red Hat JBoss Developer Studio

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat