Red Hat APPLICATION SERVER - JONAS Manual page 210

Jonas
Hide thumbs Also See for APPLICATION SERVER - JONAS:
Table of Contents

Advertisement

202
...
}
To keep the connection open during the life of a bean instance, the programming style shown in the
following example is preferred, since it avoids many connection opening and closing operations:
public class EjbCompBean implements SessionBean {
...
ConnectionFactory qcf = null;
Queue queue = null;
Connection conn = null;
public void ejbCreate() {
....
ictx = new InitialContext();
cf = (ConnectionFactory)
ictx.lookup("java:comp/env/jms/conFactSender");
queue = (Queue) ictx.lookup("queue1");
conn = cf.createConnection();
}
public void doSomethingWithJMS (...) {
...
Session session = conn.createSession(...);
... // JMS operations
session.close();
}
public void ejbRemove() {
conn.close();
}
...
}
Be aware that maintaining JMS objects in the bean state is not always possible, depending on the type
of bean.
For a stateless Session Bean, the bean state is not maintained across method calls. Therefore, the
JMS objects should always be initialized and defined in each method that performs JMS operations.
For an Entity Bean, an instance may be passivated, and only the persistent part of the bean state
is maintained. Therefore, it is recommended that the JMS objects be initialized and defined in
each method performing JMS operations. If these objects are defined in the bean state, they can be
initialized in the
ejbActivate
be sure to close it in the
For a stateful Session Bean (as shown in the previous example), JMS objects can be defined in the
bean state. Stateful Session Bean instances can be passivated (not in the current version of JOnAS,
but it is scheduled for the summer of 2004). Since connection factories and destinations are serial-
izable objects, they can be initialized only in ejbCreate. However, be aware that a connection must
be closed in
ejbPassivate
Note that, due to a known problem with the Sun JDK 1.3 on Linux, the close of the connection can
block. The problem is fixed with JDK 1.4.
method (if the connection is created in the
method).
ejbPassivate
(with the state variable set to
Chapter 26. JMS User's Guide
ejbActivate
) and recreated in
null
method,
.
ejbActivate

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the APPLICATION SERVER - JONAS and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

This manual is also suitable for:

Application server

Table of Contents