What is the function of T3 in WebLogic Server?
T3 provides a framework for WebLogic Server messages
that support for enhancements. These enhancements
include abbreviations and features, such as object
replacement, that work in the context of WebLogic Server
clusters and HTTP and other product tunneling.
T3 predates Java Object Serialization and RMI, while
closely tracking and leveraging these specifications. T3
is a superset of Java Object. Serialization or RMI;
anything you can do in Java Object Serialization and RMI
can be done over T3.
T3 is mandated between WebLogic Servers and between
programmatic clients and a WebLogic Server cluster. HTTP
and IIOP are optional protocols that can be used to
communicate between other processes and WebLogic Server.
It depends on what you want to do. For example, when you
want to communicate between
* A browser and WebLogic Server-use HTTP
* An ORB and WebLogic Server-IIOP.
How can I debug the Java code that I have running in
WebLogic Server?
You can use tools such as WebGain, JBuilder, NetBeans
and JDB that rely on the Java Platform Debugger
Architecture (JPDA) to debug your Java code running in
WebLogic Server.
JPDA is integrated in the Java 2 Platform, Standard
Edition (J2SE) SDK 1.3 on all platforms and SDK 1.2.2
for Linux. There is a download available from Sun to add
JPDA support to the J2SE SDK 1.2.2 on Solaris and
Microsoft Window platforms. If you are using J2SE SDK
1.2.2 on these platforms you must first get this
download.
To allow a debugger to attach to the virtual machine
that WebLogic runs you have to start WebLogic in debug
mode. In order to start WebLogic in debug mode using a
Sun virtual machine follow these steps (start with step
one only if using a Solaris platform):
1. If using a Solaris platform, change the
LD_LIBRARY_PATH environment variable to prepend $JAVA_home/lib/sparc:
export LD_LIBRARY_PATH=$JAVA_home/lib/sparc:$LD_LIBRARY_PATH
2. Add the following parameters to the java command line
(before the "weblogic.Server" string) that launches
WebLogic server:
-Xdebug
-Xnoagent
-Xrunjdwp:transport=dt_socket
server=y
address=<port_for_debugger_to_connect>
suspend=n
-Djava.compiler=NONE
Note that with the Hotspot Performance engine the -Xnoagent
and -Djava.compiler=NONE options are no longer required,
but are accepted and ignored for compatibility reasons.
If server=y and no address parameter is supplied,
WebLogic Server chooses the transport address and prints
it to the standard output stream. So, if a line such as:
Listening for transport dt_socket at address: 46666
prints in your standard output stream when the server
starts, the number 46666 is the port number to be
supplied to your tool's remote debugger in order to
attach it to WebLogic's virutal machine.
How do I call a servlet with parameters in the URL?
The usual format of a servlet parameter is a name=value
pair that comes after a question-mark (?) at the end of
the URL. To access these parameters, call the
getParameter() method on the HttpServletRequest object,
then write code to test the strings. For example, if
your URL parameters are "func=topic," where your URL
appears as:
http://www.myserver.com/myservlet?func=topic
then you could parse the parameter as follows, where "req"
is the HttpServletRequest object:
String func = req.getParameter("func");
if (func.equalsIgnoreCase("topic")) {
. . . do some work
}
Which of the following are the benefits of MDB (Message
Driven Beans) over standard JMS consumers?
a. In case of a MDB, developer needs to create a
MessageListener class that utilizes a server-wide
session pool.
b. WebLogic Server container provides standard EJB
services to MDBs.
c. MDBs benefit from the write-once, deploy-anywhere
paradigm of EJBs.
d. MDBs can be associated with multiple Messaging Queues
or Topics unlike standard JMS.
Choices B and C are correct. A message-driven bean is a
special kind of EJB that acts as a message consumer in
the WebLogic JMS messaging system. As with standard JMS
message consumers, message-driven beans receive messages
from a JMS Queue or Topic, and perform business logic
based on the message contents. EJB deployers create
listeners to a Queue or Topic at deployment time, and
WebLogic Server automatically creates and removes
message-driven bean instances as needed to process
incoming messages.
Because message-driven beans are implemented as EJBs,
they benefit from several key services that are not
available to standard JMS consumers. Most importantly,
message-driven bean instances are wholly managed by the
WebLogic Server EJB container. Using a single
message-driven bean class, WebLogic Server creates
multiple EJB instances as necessary to process large
volumes of messages concurrently. This stands in
contrast to a standard JMS messaging system, where the
developer must create a MessageListener class that
utilizes a server-wide session pool. Thus choice A is
incorrect.
WebLogic Server provides standard EJB services to MDBs,
such as security services and automatic transaction
management. Thus choice B is correct.
Being implemented as EJBs, MDBS benefit from the
write-once, deploy-anywhere quality of EJBs. Whereas a
JMS MessageListener is tied to specific session pools,
Queues, or Topics, message-driven beans can be developed
independently of available server resources. Thus Choice
C is also correct.
Its not that MDBs are always advantageous as compared to
standard JMS consumers. One limitation of MDBs compared
to standard JMS listeners is that a given MDB deployment
can be associated with only one Queue or Topic. If your
application requires a single JMS consumer to service
messages from multiple Queues or Topics, you must use a
standard JMS consumer, or deploy multiple message-driven
bean classes. Thus Choice D is incorrect.
Which of the statements below is true for a web
application using session management?
a.) The session object is invalidated, when the session
times out.
b.) The session object is invalidated, when
sessionInvalidate() method of HttpSession is invoked.
a. Both of the above statements are true.
b. Only statement a.) is true.
c. Only statement b.) is true.
d. None of the above statements is true.
B is the correct choice. The session object will become
invalid in either of the following scenarios:
a.) When the session times out.
b.) When invalidate() method of the HttpSession
interface is invoked.
Please note that invalidate() and not sessionInvalidate()
is the method of HttpSession interface. Thus choice B is
correct.
How do I identify the document type of an XML document?
If the XML document has a Public ID, then that is its
document type. For example, if an XML document contains
the following DOCTYPE declaration:
<!DOCTYPE mydoc PUBLIC "My public ID String"
"http://foo.com/url/to/my/dtd">
then its document type is My public ID String.
If the DOCTYPE declaration does not contain a Public ID,
but specifies a System ID, then the document type is the
System ID. For example, in the following DOCTYPE
declaration:
<!DOCTYPE mydoc SYSTEM "http://foo.com/url/to/my/dtd">
the document type is http://foo.com/url/to/my/dtd.
Note: The System ID is of the DTD, not of the XML
document itself. It can, however, still be used as a way
to identify the XML document.
If the XML document does not specify a DOCTYPE
declaration, then the document type can be either the
root element name or the namespace URI, if it has one.
How can I run multiple instances of the same servlet
class in the same WebLogic Server instance?
If you want to run multiple instances, your servlet will
have to implement the SingleThreadModel interface. An
instance of a class that implements the
SingleThreadModel interface is guaranteed not to be
invoked by multiple threads simultaneously. Multiple
instances of a SingleThreadModel interface are used to
service simultaneous requests, each running in a single
thread.
When designing your servlet, consider how you use shared
resources outside of the servlet class such as file and
database access. Because there are multiple instances of
servlets that are identical, and may use exactly the
same resources, there are still synchronization and
sharing issues that must be resolved, even if you do
implement the SingleThreadModel interface.
Page Numbers :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18