Friday, March 13, 2009

What cannot be or is recommended not to be done using EJB? (EJB)

Question :What cannot be or is recommended not to be done using EJB? (EJB)
Answer :Enterprise Bean must not use read/write static fields. Using read-only
static fields is allowed. Therefore, it is recommended that all static fields in
enterprise bean class be declared as final.
· Enterprise Bean must not use thread synchronization primitives to
synchronize execution of multiple instances.
· Enterprise bean must not attempt to manage threads. Enterprise bean
must not attempt to start, stop, suspend, or resume a thread; or to
change a thread's priority or name. The enterprise bean must not attempt
to manage thread groups.
· Enterprise Bean must not use the AWT functionality to attempt to output
information to a display, or to input information from a keyboard.
· Enterprise bean must not use java.io package to attempt to access files
and directories in file system.
· Enterprise bean must not attempt to directly read or write a file
descriptor.
· Enterprise bean must not attempt to listen on a socket, accept
connections on a socket, or use a socket for multicast.
· Enterprise bean must not attempt to set the socket factory used by
ServerSocket, Socket, or the stream handler factory used by URL.
· Enterprise bean must not attempt to query a class to obtain information
about the declared members that are not otherwise accessible to the
enterprise bean because of the security rules of the Java language.
· The enterprise bean must not attempt to use the Reflection API to access
information that the security rules of the Java programming language
make unavailable.
· Enterprise bean must not attempt to create a class loader; obtain the
current class loader; set the context class loader; set security manager;
create a new security manager; stop the JVM; or change the input, output,
and error streams.
· Enterprise bean must not attempt to gain access to packages and classes
that the usual rules of the Java programming language make unavailable
to the enterprise bean.
· Enterprise bean must not attempt to define a class in a package.
· Enterprise bean must not attempt to use the subclass and object
substitution features of the Java Serialization Protocol.
· Enterprise bean must not attempt to obtain the security policy
information for a particular code source.
· Enterprise bean must not attempt to access or modify the security
configuration objects (Policy, Security, Provider, Signer, and Identity).
· Enterprise bean must not attempt to pass this as an argument or method
result. The enterprise bean must pass the result of
SessionContext.getEJBObject() or EntityContext. getEJBObject() instead.
Enterprise bean must not attempt to load a native library.

No comments: