Professional Documents
Culture Documents
weblogic-ejb-jar.xml library-ref
Libraries referenced from within each JARs META-INF/MANIFEST.MF
Class-Path:<lib>
Threading Model
WebLogic Server handles all requests asynchronously using a single, priority based, self-tuning queue. The queue processing is performed by the thread
pool using policy constraints specified by Work Managers. Thread pool size is decided based on CPUs/cores. Default settings provide equal load balancing
among Work Managers and can be customized using a fair share request class. Socket Muxer threads multiplex multi-protocol incoming requests (e.g.
HTTP/T3) from the socket, set up context information, determine the Work Manager to use and places the request in the execute queue.
Use Cases (take care not to over-use these, which defeats the purpose of self-tuning threads):
Thread Starvation (A calls B calls A) Specify <min-threads-constraint>
Back-end Hogging all Threads Specify <max-threads-constraint>
Use Deamon Threads for long running processes (e.g. SOA engine) -- avoids STUCK warnings
Work Manager Usage:
Configure Work Manager scope at server config.xml, application weblogicapplication.xml or module (takes precedence) weblogic-ejb-jar.xml/weblogic.xml
using <self-tuning> parameters.
Map Work Managers to application/modules using <dispatch-policy> element.
Page 2
Transaction Management
Global Transaction (XA)
Local Transaction
Low overhead
No Transaction
Lowest overhead
Guaranteed Message Delivery is an exchange of acknowledgements between sender and receiver to ensure message delivery. It does not depend on global
transactions. It is also possible with no transactions e.g. when using web services with WS-RM.
Consistency across multiple applications depends on transaction boundaries. It does not depend on global transactions. e.g. debit()->process()>credit() is guaranteed even with local transactions, and if the process() is asynchronous, it will be eventually consistent.
Transaction Timeouts can be specified at domain level or superseded at application level (e.g. BPEL EJB Timeout). It is read when initiating transactions e.g.
BPEL invoked via WS call or callbacks uses application level timeout, but if invoked via JMS Adapter (with existing transaction) uses domain level timeout.
WebLogic Server Lifecycle States
STARTING
STANDBY
ADMIN
RESUMING
RUNNING
SHUTDOWN
FAILED
Loads config from local store (if Administration Server) or connecting to Administration Server (if Managed Server). Loads internal services.
Start deploying the applications.
Listening, but will accept requests from admin users. Joins cluster.
Transition state from ADMIN to RUNNING.
Running and ready to service all requests.
Stop deployments, services and shutdown.
Stuck, OOM or other internal errors. If before ADMIN state, will shutdown, else will stay in ADMIN state.
oracle.com/SOA
blogs.oracle.com/SOA
@OracleSOA
OracleSOA