[241667] update the context help of the session bean wizard with the new singleton and no-interface features from the EJB 3.1 spec.
diff --git a/docs/org.eclipse.jst.ejb.doc.user/topics/sessb.dita b/docs/org.eclipse.jst.ejb.doc.user/topics/sessb.dita
index be31132..977a513 100644
--- a/docs/org.eclipse.jst.ejb.doc.user/topics/sessb.dita
+++ b/docs/org.eclipse.jst.ejb.doc.user/topics/sessb.dita
@@ -18,9 +18,8 @@
in the database, but they can access data, so we can use session beans to
read, update, and insert data in a business process. Session beans access
data that spans concepts, is not shared, and is usually read-only. Session
-beans contain business logic, and entities model persistent data. Session
-beans are divided in two types: stateless session beans and stateful session
-beans.</p>
+beans contain business logic, and entities model persistent data. There are
+three types of session beans: stateless, stateful and singleton. </p>
<ul>
<li><b>Stateless session beans</b> <p>A stateless session bean is pooled by
the container to handle multiple requests from multiple clients and does not
@@ -29,6 +28,10 @@
of a single client and maintains client-specific session information (called
conversational state) across multiple method calls and transactions. It exists
for the duration of a single client/server session.</p> </li>
+<li> <b>Singleton session beans</b> <p>A Singleton session bean is a session
+bean component that is instantiated once per application. In cases where the container
+is distributed over many virtual machines, each application will have one bean instance
+of the Singleton for each JVM.</p> </li>
</ul>
</conbody>
</concept>
diff --git a/docs/org.eclipse.jst.ejb.doc.user/topics/sessb.html b/docs/org.eclipse.jst.ejb.doc.user/topics/sessb.html
index 66ab952..3337d17 100644
--- a/docs/org.eclipse.jst.ejb.doc.user/topics/sessb.html
+++ b/docs/org.eclipse.jst.ejb.doc.user/topics/sessb.html
@@ -38,9 +38,8 @@
in the database, but they can access data, so we can use session beans to
read, update, and insert data in a business process. Session beans access
data that spans concepts, is not shared, and is usually read-only. Session
-beans contain business logic, and entities model persistent data. Session
-beans are divided in two types: stateless session beans and stateful session
-beans.</p>
+beans contain business logic, and entities model persistent data. There are
+three types of session beans: stateless, stateful and singleton. </p>
<ul>
<li><strong>Stateless session beans</strong> <p>A stateless session bean is pooled by
@@ -53,6 +52,12 @@
conversational state) across multiple method calls and transactions. It exists
for the duration of a single client/server session.</p>
</li>
+
+<li> <strong>Singleton session beans</strong> <p>A Singleton session bean is a session
+bean component that is instantiated once per application. In cases where the container
+is distributed over many virtual machines, each application will have one bean instance
+of the Singleton for each JVM.</p>
+ </li>
</ul>
diff --git a/docs/org.eclipse.jst.ejb.doc.user/topics/sessbwiz.dita b/docs/org.eclipse.jst.ejb.doc.user/topics/sessbwiz.dita
index 0581a24..1126944 100644
--- a/docs/org.eclipse.jst.ejb.doc.user/topics/sessbwiz.dita
+++ b/docs/org.eclipse.jst.ejb.doc.user/topics/sessbwiz.dita
@@ -27,8 +27,7 @@
</steps>
<postreq><p><b>General Information</b></p><dl><dlentry>
<dt>State type</dt>
-<dd>A session beans are divided in two types: stateless session beans and
-stateful session beans.<dl><dlentry>
+<dd>There are three types of session beans: stateless, stateful and singleton. <dl><dlentry>
<dt>Stateless session beans</dt>
<dd>A stateless session bean is a collection of related services, each represented
by a method; the bean maintains no state from one method invocation to the
@@ -44,6 +43,15 @@
and the client. Methods invoked on a stateful session bean can write and read
data to and from this conversational state, which is shared among all methods
in the bean. Stateful session beans have timeout periods.</dd>
+</dlentry><dlentry>
+<dt>Singleton session beans</dt>
+<dd>A Singleton session bean is a session bean component that is instantiated
+once per application. In cases where the container is distributed over many virtual
+machines, each application will have one bean instance of the Singleton for each JVM.
+Once instantiated, a Singleton session bean instance lives for the duration of the
+application in which it is created. It maintains its state between client invocations
+but that state is not required to survive container shutdown or crash. A Singleton
+session bean is intended to be shared and supports concurrent access.</dd>
</dlentry></dl></dd>
</dlentry></dl> <dl><dlentry>
<dt>Business interface</dt>
@@ -64,6 +72,10 @@
<dd>The client must run on the same <tm tmclass="special" tmowner="Sun Microsystems, Inc."
tmtype="tm" trademark="Java">Java</tm> virtual machine as the bean it accesses
and the location of the enterprise bean is not transparent.</dd>
+</dlentry><dlentry>
+<dt>No-interface:</dt>
+<dd>This is a variation of the Local view that exposes the public methods of the
+bean class without the use of a separate business interface.</dd>
</dlentry></dl></dd>
</dlentry></dl> <dl><dlentry>
<dt>Mapped name</dt>
diff --git a/docs/org.eclipse.jst.ejb.doc.user/topics/sessbwiz.html b/docs/org.eclipse.jst.ejb.doc.user/topics/sessbwiz.html
index fcb4d3a..884c789 100644
--- a/docs/org.eclipse.jst.ejb.doc.user/topics/sessbwiz.html
+++ b/docs/org.eclipse.jst.ejb.doc.user/topics/sessbwiz.html
@@ -55,8 +55,7 @@
<dl>
<dt class="dlterm">State type</dt>
-<dd>A session beans are divided in two types: stateless session beans and
-stateful session beans.<dl>
+<dd>There are three types of session beans: stateless, stateful and singleton. <dl>
<dt class="dlterm">Stateless session beans</dt>
<dd>A stateless session bean is a collection of related services, each represented
@@ -76,6 +75,16 @@
data to and from this conversational state, which is shared among all methods
in the bean. Stateful session beans have timeout periods.</dd>
+<dt class="dlterm">Singleton session beans</dt>
+
+<dd>A Singleton session bean is a session bean component that is instantiated
+once per application. In cases where the container is distributed over many virtual
+machines, each application will have one bean instance of the Singleton for each JVM.
+Once instantiated, a Singleton session bean instance lives for the duration of the
+application in which it is created. It maintains its state between client invocations
+but that state is not required to survive container shutdown or crash. A Singleton
+session bean is intended to be shared and supports concurrent access.</dd>
+
</dl>
</dd>
@@ -88,7 +97,7 @@
bean's business interface can be passed as a parameter or as a return value
of a business interface method. It contains methods to initialize a session
bean's state and to notify the EJB container when the reference is no more
-needed and can be removed. The business interfaces are two types:<dl>
+needed and can be removed. There are several options available:<dl>
<dt class="dlterm">Remote business interface:</dt>
<dd>The client can run on a different machine or different Java virtual
@@ -101,6 +110,11 @@
<dd>The client must run on the same Java virtual machine as the bean it accesses
and the location of the enterprise bean is not transparent.</dd>
+<dt class="dlterm">No-interface:</dt>
+
+<dd>This is a variation of the Local view that exposes the public methods of the
+bean class without the use of a separate business interface.</dd>
+
</dl>
</dd>
diff --git a/docs/org.eclipse.jst.ejb.ui.infopop/SessionBeanWizContext.xml b/docs/org.eclipse.jst.ejb.ui.infopop/SessionBeanWizContext.xml
index 360df26..ddd9a99 100644
--- a/docs/org.eclipse.jst.ejb.ui.infopop/SessionBeanWizContext.xml
+++ b/docs/org.eclipse.jst.ejb.ui.infopop/SessionBeanWizContext.xml
@@ -13,13 +13,16 @@
In the field <b>Superclass</b> specify the superclass for the session bean, only if it is derived from one. Click <b>Browse</b> to choose from the available, already existing or created, superclasses. (This field is optional).
In the field <b>State type</b> choose the type of the session bean that you create:
- <b>- Stateful</b> session bean acts on behalf of a single client and maintains client-specific session information (called conversational state) across multiple method calls and transactions. It exists for the duration of a single client/server session.
- <b>- Stateless</b> session bean is pooled by the container to handle multiple requests from multiple clients and does not maintain any conversational state.
+ <b>- Stateless</b> – the session bean instances contain no conversational state between methods; any instance can be used for any client.
+ <b>- Stateful</b> – the session bean instances contain conversational state which must be retained across methods and transactions.
+ <b>- Singleton</b> – a single session bean instance is shared between clients and supports concurrent access.
In the section <b>Create business interface</b>, check the business interface that you want to create:
- <b>- Remote Interface</b> – the client can run on a different machine or different Java virtual machine than the enterprise bean it accesses and the location of the bean is transparent.
- <b>- Local Interface</b> – the client must run on the same Java virtual machine as the bean it accesses and the location of the enterprise bean is not transparent.
-Note: You can check both interfaces, so that your session bean will have local and remote interfaces.
+ <b>- Remote</b> – the client can run on a different machine or different Java virtual machine than the enterprise bean it accesses and the location of the bean is transparent.
+ <b>- Local</b> – the client must run on the same Java virtual machine as the bean it accesses and the location of the enterprise bean is not transparent.
+ <b>- No-interface</b> – this is a variation of the Local view that exposes the public methods of the bean class without the use of a separate business interface.
+
+<b>Note:</b> It is valid to check all of the above options.
</description>
<topic label="Creating Session Beans" href="../org.eclipse.jst.ejb.doc.user/topics/sessbwiz.html"/>
<topic label="EJB 2.x architecture" href="../org.eclipse.jst.ejb.doc.user/topics/cearch.html"/>