The JBoss 4 Application Server J2EE Reference
Next
The JBoss 4 Application Server J2EE Reference
JBoss AS 4.0.5
Release 2
Copyright © 2006 JBoss, Inc.
Table of Contents
1. The JBoss JMX Microkernel
1.1. An Introduction to JMX
1.1.1. Instrumentation Level
1.1.2. Agent Level
1.1.3. Distributed Services Level
1.1.4. JMX Component Overview
1.1.4.1. Managed Beans or MBeans
1.1.4.2. Notification Model
1.1.4.3. MBean Metadata Classes
1.1.4.4. MBean Server
1.1.4.5. Agent Services
1.2. JBoss JMX Implementation Architecture
1.2.1. The JBoss ClassLoader Architecture
1.2.2. Class Loading and Types in Java
1.2.2.1. ClassCastExceptions - I'm Not Your Type
1.2.2.2. IllegalAccessException - Doing what you should not
1.2.2.3. LinkageErrors - Making Sure You Are Who You Say You Are
1.2.2.4. Inside the JBoss Class Loading Architecture
1.2.3. JBoss XMBeans
1.2.3.1. Descriptors
1.2.3.2. The Management Class
1.2.3.3. The Constructors
1.2.3.4. The Attributes
1.2.3.5. The Operations
1.2.3.6. Notifications
1.3. Connecting to the JMX Server
1.3.1. Inspecting the Server - the JMX Console Web Application
1.3.1.1. Securing the JMX Console
1.3.2. Connecting to JMX Using RMI
1.3.3. Command Line Access to JMX
1.3.3.1. Connecting twiddle to a Remote Server
1.3.3.2. Sample twiddle Command Usage
1.3.4. Connecting to JMX Using Any Protocol
1.4. Using JMX as a Microkernel
1.4.1. The Startup Process
1.4.2. JBoss MBean Services
1.4.2.1. The SARDeployer MBean
1.4.2.2. The Service Life Cycle Interface
1.4.2.3. The ServiceController MBean
1.4.2.4. Specifying Service Dependencies
1.4.2.5. Identifying Unsatisfied Dependencies
1.4.2.6. Hot Deployment of Components, the URLDeploymentScanner
1.4.3. Writing JBoss MBean Services
1.4.3.1. A Standard MBean Example
1.4.3.2. XMBean Examples
1.4.4. Deployment Ordering and Dependencies
1.5. JBoss Deployer Architecture
1.5.1. Deployers and ClassLoaders
1.6. Remote Access to Services, Detached Invokers
1.6.1. A Detached Invoker Example, the MBeanServer Invoker Adaptor Service
1.6.2. Detached Invoker Reference
1.6.2.1. The JRMPInvoker - RMI/JRMP Transport
1.6.2.2. The PooledInvoker - RMI/Socket Transport
1.6.2.3. The IIOPInvoker - RMI/IIOP Transport
1.6.2.4. The JRMPProxyFactory Service - Building Dynamic JRMP Proxies
1.6.2.5. The HttpInvoker - RMI/HTTP Transport
1.6.2.6. The HA JRMPInvoker - Clustered RMI/JRMP Transport
1.6.2.7. The HA HttpInvoker - Clustered RMI/HTTP Transport
1.6.2.8. HttpProxyFactory - Building Dynamic HTTP Proxies
1.6.2.9. Steps to Expose Any RMI Interface via HTTP
2. Naming on JBoss
2.1. An Overview of JNDI
2.1.1. Names
2.1.2. Contexts
2.1.2.1. Obtaining a Context using InitialContext
2.2. The JBossNS Architecture
2.3. The Naming InitialContext Factories
2.3.1. The standard naming context factory
2.3.2. The org.jboss.naming.NamingContextFactory
2.3.3. Naming Discovery in Clustered Environments
2.3.4. The HTTP InitialContext Factory Implementation
2.3.5. The Login InitialContext Factory Implementation
2.3.6. The ORBInitialContextFactory
2.4. JNDI over HTTP
2.4.1. Accessing JNDI over HTTP
2.4.2. Accessing JNDI over HTTPS
2.4.3. Securing Access to JNDI over HTTP
2.4.4. Securing Access to JNDI with a Read-Only Unsecured Context
2.5. Additional Naming MBeans
2.5.1. JNDI Binding Manager
2.5.2. The org.jboss.naming.NamingAlias MBean
2.5.3. org.jboss.naming.ExternalContext MBean
2.5.4. The org.jboss.naming.JNDIView MBean
2.6. J2EE and JNDI - The Application Component Environment
2.6.1. ENC Usage Conventions
2.6.1.1. Environment Entries
2.6.1.2. EJB References
2.6.1.3. EJB References with jboss.xml and jboss-web.xml
2.6.1.4. EJB Local References
2.6.1.5. Resource Manager Connection Factory References
2.6.1.6. Resource Manager Connection Factory References with jboss.xml and jboss-web.xml
2.6.1.7. Resource Environment References
2.6.1.8. Resource Environment References and jboss.xml, jboss-web.xml
3. Transactions on JBoss
3.1. Transaction/JTA Overview
3.1.1. Pessimistic and optimistic locking
3.1.2. The components of a distributed transaction
3.1.3. The two-phase XA protocol
3.1.4. Heuristic exceptions
3.1.5. Transaction IDs and branches
3.2. JBoss Transaction Internals
3.2.1. Adapting a Transaction Manager to JBoss
3.2.2. The Default Transaction Manager
3.2.2.1. org.jboss.tm.XidFactory
3.2.3. UserTransaction Support
4. EJBs on JBoss
4.1. The EJB Client Side View
4.1.1. Specifying the EJB Proxy Configuration
4.2. The EJB Server Side View
4.2.1. Detached Invokers - The Transport Middlemen
4.2.2. The HA JRMPInvoker - Clustered RMI/JRMP Transport
4.2.3. The HA HttpInvoker - Clustered RMI/HTTP Transport
4.3. The EJB Container
4.3.1. EJBDeployer MBean
4.3.1.1. Verifying EJB deployments
4.3.1.2. Deploying EJBs Into Containers
4.3.1.3. Container configuration information
4.3.2. Container Plug-in Framework
4.3.2.1. org.jboss.ejb.ContainerPlugin
4.3.2.2. org.jboss.ejb.Interceptor
4.3.2.3. org.jboss.ejb.InstancePool
4.3.2.4. org.jboss.ebj.InstanceCache
4.3.2.5. org.jboss.ejb.EntityPersistenceManager
4.3.2.6. The org.jboss.ejb.EntityPersistenceStore interface
4.3.2.7. org.jboss.ejb.StatefulSessionPersistenceManager
4.4. Entity Bean Locking and Deadlock Detection
4.4.1. Why JBoss Needs Locking
4.4.2. Entity Bean Lifecycle
4.4.3. Default Locking Behavior
4.4.4. Pluggable Interceptors and Locking Policy
4.4.5. Deadlock
4.4.5.1. Deadlock Detection
4.4.5.2. Catching ApplicationDeadlockException
4.4.5.3. Viewing Lock Information
4.4.6. Advanced Configurations and Optimizations
4.4.6.1. Short-lived Transactions
4.4.6.2. Ordered Access
4.4.6.3. Read-Only Beans
4.4.6.4. Explicitly Defining Read-Only Methods
4.4.6.5. Instance Per Transaction Policy
4.4.7. Running Within a Cluster
4.4.8. Troubleshooting
4.4.8.1. Locking Behavior Not Working
4.4.8.2. IllegalStateException
4.4.8.3. Hangs and Transaction Timeouts
4.5. EJB Timer Configuration
5. Messaging on JBoss
5.1. JMS Examples
5.1.1. A Point-To-Point Example
5.1.2. A Pub-Sub Example
5.1.3. A Pub-Sub With Durable Topic Example
5.1.4. A Point-To-Point With MDB Example
5.2. JBoss Messaging Overview
5.2.1. Invocation Layer
5.2.2. Security Manager
5.2.3. Destination Manager
5.2.4. Message Cache
5.2.5. State Manager
5.2.6. Persistence Manager
5.2.7. Destinations
5.2.7.1. Queues
5.2.7.2. Topics
5.3. JBoss Messaging Configuration and MBeans
5.3.1. org.jboss.mq.il.jvm.JVMServerILService
5.3.2. org.jboss.mq.il.uil2.UILServerILService
5.3.2.1. Configuring UIL2 for SSL
5.3.2.2. JMS client properties for the UIL2 transport
5.3.3. org.jboss.mq.il.http.HTTPServerILService
5.3.4. org.jboss.mq.server.jmx.Invoker
5.3.5. org.jboss.mq.server.jmx.InterceptorLoader
5.3.6. org.jboss.mq.sm.jdbc.JDBCStateManager
5.3.7. org.jboss.mq.security.SecurityManager
5.3.8. org.jboss.mq.server.jmx.DestinationManager
5.3.9. org.jboss.mq.server.MessageCache
5.3.10. org.jboss.mq.pm.jdbc2.PersistenceManager
5.3.11. Destination MBeans
5.3.11.1. org.jboss.mq.server.jmx.Queue
5.3.11.2. org.jboss.mq.server.jmx.Topic
5.4. Specifying the MDB JMS Provider
5.4.1. org.jboss.jms.jndi.JMSProviderLoader MBean
5.4.2. org.jboss.jms.asf.ServerSessionPoolLoader MBean
5.4.3. Integrating non-JBoss JMS Providers
6. Connectors on JBoss
6.1. JCA Overview
6.2. An Overview of the JBossCX Architecture
6.2.1. BaseConnectionManager2 MBean
6.2.2. RARDeployment MBean
6.2.3. JBossManagedConnectionPool MBean
6.2.4. CachedConnectionManager MBean
6.2.5. A Sample Skeleton JCA Resource Adaptor
6.3. Configuring JDBC DataSources
6.4. Configuring Generic JCA Adaptors
7. Security on JBoss
7.1. J2EE Declarative Security Overview
7.1.1. Security References
7.1.2. Security Identity
7.1.3. Security roles
7.1.4. EJB method permissions
7.1.5. Web Content Security Constraints
7.1.6. Enabling Declarative Security in JBoss
7.2. An Introduction to JAAS
7.2.1. What is JAAS?
7.2.1.1. The JAAS Core Classes
7.3. The JBoss Security Model
7.3.1. Enabling Declarative Security in JBoss Revisited
7.4. The JBoss Security Extension Architecture
7.4.1. How the JaasSecurityManager Uses JAAS
7.4.2. The JaasSecurityManagerService MBean
7.4.3. The JaasSecurityDomain MBean
7.5. Defining Security Domains
7.5.1. Loading Security Domains
7.5.2. The DynamicLoginConfig service
7.5.3. Using JBoss Login Modules
7.5.3.1. Password Stacking
7.5.3.2. Password Hashing
7.5.3.3. Unauthenticated Identity
7.5.3.4. UsersRolesLoginModule
7.5.3.5. LdapLoginModule
7.5.3.6. DatabaseServerLoginModule
7.5.3.7. BaseCertLoginModule
7.5.3.8. IdentityLoginModule
7.5.3.9. RunAsLoginModule
7.5.3.10. ClientLoginModule
7.5.4. Writing Custom Login Modules
7.5.4.1. Support for the Subject Usage Pattern
7.5.4.2. A Custom LoginModule Example
7.6. The Secure Remote Password (SRP) Protocol
7.6.1. Providing Password Information for SRP
7.6.2. Inside of the SRP algorithm
7.6.2.1. An SRP example
7.7. Running JBoss with a Java 2 security manager
7.8. Using SSL with JBoss using JSSE
7.9. Configuring JBoss for use Behind a Firewall
7.10. How to Secure the JBoss Server
7.10.1. The JMX Console
7.10.2. The Web Console
7.10.3. The HTTP Invokers
7.10.4. The JMX Invoker
8. Additional Services
8.1. Memory and Thread Monitoring
8.2. The Log4j Service
8.3. System Properties Management
8.4. Property Editor Management
8.5. Services Binding Management
8.5.1. AttributeMappingDelegate
8.5.2. XSLTConfigDelegate
8.5.3. XSLTFileDelegate
8.5.4. The Sample Bindings File
8.6. RMI Dynamic Class Loading
8.7. Scheduling Tasks
8.7.1. org.jboss.varia.scheduler.Scheduler
8.8. The Timer Service
8.9. The BarrierController Service
8.10. Exposing MBean Events via SNMP
A. Book Example Installation