JBoss.org Community Documentation

JBoss Application Server 5.0.0

Administration And Development Guide

Authors

JBoss Community

Edited by

JBoss Community

Mar 2008

Abstract

This book is a "Work In Progress" guide to the administration and configuration of the JBoss Application Server 5.


What this Book Covers
About JBoss
1. About Open Source
2. About Professional Open Source
3. Help Contribute
1. Introduction
1.1. JBoss Application Server use cases
1.1.1. What is the difference between the community JBoss Application Server and the JBoss Enterprise Application Platform?
1.2. JBoss Application Server 5 compatibility issues
I. JBoss AS Infrastructure
2. JBoss Application Server 5 architecture
II. JBoss Application Server 5 Configuration
3. Deployment
3.1. Deployable Application Types
3.2. Standard Server Configurations
4. Microcontainer
4.1. An overview of the Microcontainer modules
4.2. Configuration
4.3. References
5. Web Services
5.1. Who needs web services?
5.2. Service Oriented Architecture (SOA)
5.3. What web services are not...
5.4. Jboss Web services Attachment support with XOP (XML-binary Optimized Packaging) and SwA
5.5. Using SwaRef with JAX-WS endpoints
5.6. MTOM/XOP
5.7. Enabling MTOM per endpoint
5.7.1. The MTOM enabled SOAP 1.1 binding ID
5.8. Document/Literal
5.9. Document/Literal (Bare)
5.10. Document/Literal (Wrapped)
5.11. RPC/Literal
5.12. RPC/Encoded
5.13. Web Service Endpoints
5.14. Plain old Java Object (POJO)
5.15. The endpoint as a web application
5.16. Packaging the endpoint
5.17. Accessing the generated WSDL
5.18. EJB3 Stateless Session Bean (SLSB)
5.19. Endpoint Provider
5.20. WebServiceContext
5.21. Web Service Clients
5.21.1. Service
5.21.2. Dynamic Proxy
5.21.3. WebServiceRef
5.21.4. Dispatch
5.21.5. Asynchronous Invocations
5.21.6. Oneway Invocations
5.22. Common API
5.22.1. Handler Framework
5.22.2. Message Context
5.22.3. Fault Handling
5.23. DataBinding
5.23.1. Using JAXB with non annotated classes
5.24. Attachments
5.24.1. MTOM/XOP
5.24.2. SwaRef
5.25. Tools
5.25.1. Bottom-Up (Using wsprovide)
5.25.2. Top-Down (Using wsconsume)
5.25.3. Client Side
5.25.4. Command-line & Ant Task Reference
5.25.5. JAX-WS binding customization
5.26. Web Service Extensions
5.26.1. WS-Addressing
5.26.2. WS-BPEL
5.26.3. WS-Eventing
5.26.4. WS-Security
5.26.5. WS-Transaction
5.26.6. XML Registries
5.26.7. WS-Policy
5.27. JBossWS Extensions
5.27.1. Proprietary Annotations
5.28. Web Services Appendix
5.29. References
6. JBoss5 Virtual Deployment Framework
6.1. MainDeployerImpl
6.2. Current StructureDeployers JBoss5StructureDeployerClasses
6.3. Deployer Helper/Base Classes JBoss5BaseDeployerClasses
6.4. Current Deployers
6.5. Virtual File System JBoss5VirtualFileSystem
7. JBOSS AOP
7.1. Some key terms
7.2. Creating Aspects in JBoss AOP
7.3. Applying Aspects in JBoss AOP
8. JBoss Cache
8.1. What is JBoss Cache?
8.2. And what is Pojo Cache?
8.3. Summary of Features
8.4. Running JBoss Cache in the JBoss Application server
8.5. Pojo Cache Deployment Options
8.5.1. Programatic Deployment
8.5.2. JMX-Based Deployment in JBoss AS (JBoss AS 5.x and 4.x)
8.5.3. Via JBoss Microcontainer (JBoss AS 5.x)
8.6. References:
9. JBoss Transactions
9.1. Why do you need JBoss Transaction
9.2. JBoss Transactions Java EE 5 Support
9.3. JBoss Transactions Web Services Support
9.4. How does JBossTS address these issues?
10. JGroups
10.1. Flexible Protocol Stack
11. Remoting
11.1. Summary of JBoss Remoting Features
11.2. JBoss Remoting Configuration in the JBoss Application Server
12. JBoss Messaging
12.1. Configuring JBoss Messaging
12.1.1. Configuring the SecurityStore
12.1.2. SecurityStore Attributes
12.2. Configuring the ServerPeer
12.3. Server Attributes
12.3.1. ServerPeerID
12.3.2. DefaultQueueJNDIContext
12.3.3. DefaultTopicJNDIContext
12.3.4. PostOffice
12.3.5. DefaultDLQ
12.3.6. DefaultMaxDeliveryAttempts
12.3.7. DefaultExpiryQueue
12.3.8. DefaultRedeliveryDelay
12.3.9. MessageCounterSamplePeriod
12.3.10. FailoverStartTimeout
12.3.11. FailoverCompleteTimeout
12.3.12. DefaultMessageCounterHistoryDayLimit
12.3.13. ClusterPullConnectionFactory
12.3.14. DefaultPreserveOrdering
12.3.15. RecoverDeliveriesTimeout
12.3.16. SuckerPassword
12.3.17. StrictTCK
12.3.18. Destinations
12.3.19. MessageCounters
12.3.20. MessageCountersStatistics
12.3.21. SupportsFailover
12.3.22. PersistenceManager
12.3.23. JMSUserManager
12.3.24. SecurityStore
12.4. MBean operations of the ServerPeer MBean
12.4.1. DeployQueue
12.4.2. UndeployQueue
12.4.3. DestroyQueue
12.4.4. DeployTopic
12.4.5. UndeployTopic
12.4.6. DestroyTopic
12.4.7. ListMessageCountersHTML
12.4.8. ResetAllMesageCounters
12.4.9. ResetAllMesageCounters
12.4.10. EnableMessageCounters
12.4.11. DisableMessageCounters
12.4.12. RetrievePreparedTransactions
12.4.13. ShowPreparedTransactions
13. Use Alternative Databases with JBoss AS
13.1. How to Use Alternative Databases
13.2. Install JDBC Drivers
13.2.1. Special notes on Sybase
13.2.2. Configuring JDBC DataSources
13.3. Creating a DataSource for the External Database
13.4. Common configuration for DataSources and ConnectionFactorys
13.4.1. General
13.4.2. XA
13.4.3. Security parameters
13.5. Change Database for the JMS Services
13.6. Support Foreign Keys in CMP Services
13.7. Specify Database Dialect for Java Persistence API
13.8. Change Other JBoss AS Services to Use the External Database
13.8.1. The Easy Way
13.8.2. The More Flexible Way
13.9. A Special Note About Oracle DataBases
13.10. DataSource configuration
13.11. Parameters specific for java.sql.Driver usage
13.12. Parameters specific for javax.sql.XADataSource usage
13.13. Common DataSource parameters
13.14. Generic Datasource Sample
13.15. Configuring a DataSource for remote usage
13.16. Configuring a DataSource to use login modules
III. Clustering Guide
14. Clustering
14.1. Introduction
14.2. Cluster Definition
14.3. HAPartition
14.4. JBoss Cache channels
14.4.1. Service Architectures
14.4.2. Load-Balancing Policies
14.4.3. Farming Deployment
14.4.4. Distributed state replication services
15. Clustered JNDI Services
15.1. How it works
15.2. Client configuration
15.2.1. For clients running inside the application server
15.2.2. For clients running outside the application server
15.2.3. JBoss configuration
16. Clustered Session EJBs
16.1. Stateless Session Bean in EJB 2.x
16.2. Stateful Session Bean in EJB 2.x
16.2.1. The EJB application configuration
16.2.2. Optimize state replication
16.2.3. The HASessionState service configuration
16.2.4. Handling Cluster Restart
16.2.5. JNDI Lookup Process
16.2.6. SingleRetryInterceptor
16.3. Stateless Session Bean in EJB 3.0
16.4. Stateful Session Beans in EJB 3.0
17. Clustered Entity EJBs
17.1. Entity Bean in EJB 2.x
17.2. Entity Bean in EJB 3.0
17.2.1. Configure the distributed cache
17.2.2. Configure the entity beans for cache
17.2.3. Query result caching
18. HTTP Services
18.1. Configuring load balancing using Apache and mod_jk
18.2. Download the software
18.3. Configure Apache to load mod_jk
18.4. Configure worker nodes in mod_jk
18.5. Configuring JBoss to work with mod_jk
18.6. Configuring HTTP session state replication
18.7. Enabling session replication in your application
18.8. Using FIELD level replication
18.9. Monitoring session replication
18.10. Using Clustered Single Sign On
18.11. Clustered Singleton Services
18.11.1. HASingletonDeployer service
18.11.2. Mbean deployments using HASingletonController
18.11.3. HASingleton deployments using a Barrier
18.11.4. Determining the master node
19. JBoss Messaging Clustering Notes
19.1. Unique server peer id
19.2. Clustered destinations
19.3. Clustered durable subs
19.4. Clustered temporary destinations
19.5. Non clustered servers
19.6. Message ordering in the cluster
19.7. Idempotent operations
19.7.1. Clustered connection factories
20. JBossCache and JGroups Services
20.1. JGroups Configuration
20.2. Common Configuration Properties
20.3. Transport Protocols
20.3.1. UDP configuration
20.3.2. TCP configuration
20.3.3. TUNNEL configuration
20.4. Discovery Protocols
20.4.1. PING
20.4.2. TCPGOSSIP
20.4.3. TCPPING
20.4.4. MPING
20.5. Failure Detection Protocols
20.5.1. FD
20.5.2. FD_SOCK
20.5.3. VERIFY_SUSPECT
20.5.4. FD versus FD_SOCK
20.6. Reliable Delivery Protocols
20.6.1. UNICAST
20.6.2. NAKACK
20.7. Other Configuration Options
20.7.1. Group Membership
20.7.2. Flow Control
20.7.3. Fragmentation
20.7.4. State Transfer
20.7.5. Distributed Garbage Collection
20.7.6. Merging
20.7.7. Binding JGroups Channels to a particular interface
20.7.8. Isolating JGroups Channels
20.7.9. Changing the Group Name
20.7.10. Changing the multicast address and port
20.7.11. JGroups Troubleshooting
20.7.12. Causes of missing heartbeats in FD