JBoss Remoting Guide

JBoss Remoting version 2.5.3.SP1

July 26, 2010


Table of Contents

1. Overview
1.1. What is JBoss Remoting?
1.2. Features
1.3. How to get JBoss Remoting
1.4. What's new in version 2.5?
1.4.1. Release 2.5.3.SP1
1.4.2. Release 2.5.3
1.4.3. Release 2.5.2.SP3
1.4.4. Release 2.5.2.SP2
1.4.5. Release 2.5.2
1.4.6. Release 2.5.1
1.4.7. Release 2.5.0.SP2
1.4.8. Release 2.5.0.SP1
1.5. What's new in version 2.4?
1.5.1. Release 2.4.0.SP2
1.5.2. Release 2.4.0.SP1
1.5.3. Release 2.4.0.GA
2. Architecture
3. JBoss Remoting Components
3.1. Discovery
3.2. Transports
4. Remoting libraries and thirdparty dependancies
4.1. Third party libraries
5. Configuration
5.1. General transport configuration
5.1.1. Server side configuration
5.1.1.1. Programmatic configuration.
5.1.1.2. Declarative configuration: MBeans
5.1.1.3. Declarative configuration: POJOs
5.1.1.4. Callback client configuration
5.1.2. Client side configuration
5.2. Handlers
5.3. Discovery (Detectors)
5.4. Transports (Invokers)
5.4.1. Features introduced in Remoting version 2.4
5.4.1.1. Binding to 0.0.0.0
5.4.1.2. Multihome servers
5.4.1.3. Socket creation listeners
5.4.1.4. Making client IP address available to application
5.4.1.5. Support for IPv6 addresses
5.4.1.6. Delayed destruction of client invokers
5.4.2. Server Invokers
5.4.3. Configurations affecting the invoker client
5.4.4. How the server bind address and port is determined
5.4.5. Socket transport
5.4.5.1. How the Socket transport works
5.4.5.2. Configuration
5.4.6. SSL Socket transport
5.4.7. RMI transport
5.4.8. SSL RMI Invoker
5.4.9. HTTP transport
5.4.10. HTTPS transport
5.4.11. HTTP(S) Client Invoker - proxy and basic authentication
5.4.12. Servlet transport
5.4.12.1. Configuration
5.4.13. SSL Servlet transport
5.4.14. Exception handling for web based clients
5.4.15. Multiplex transport
5.4.16. SSL Multiplex transport
5.4.17. Bisocket transport
5.4.17.1. Overview
5.4.17.2. Details
5.4.18. SSL Bisocket transport
5.5. Marshalling
5.6. Callbacks
5.6.1. Callback overview
5.6.1.1. Callback connections
5.6.1.2. Transmitting callbacks
5.6.1.3. Callback stores.
5.6.1.4. Callback acknowledgements
5.6.2. Registering callback handlers.
5.6.2.1. Pull callbacks.
5.6.2.2. Push callbacks.
5.6.3. Unregistering callback handlers
5.6.4. Callback store configuration.
5.6.5. Callback Exception Handling
5.7. Socket factories and server socket factories
5.7.1. Server side programmatic configuration
5.7.1.1. Server socket factories.
5.7.1.2. Socket factories
5.7.2. Client side programmatic configuration
5.7.2.1. Server socket factories.
5.7.2.2. Socket factories.
5.7.3. Server side configuration in the JBoss Application Server
5.7.4. Client side configuration from the JBoss Application Server
5.7.5. Socket creation listeners
5.7.6. SSL transports
5.7.7. SSLSocketBuilder
5.7.8. SSLServerSocketFactoryService
5.7.9. General Security How To
5.7.10. Troubleshooting Tips
5.8. Timeouts
5.8.1. General timeout configuration
5.8.2. Per invocation timeouts
5.8.3. Transport specific timeout handling
5.8.3.1. Socket and bisocket transports
5.8.3.1.1. Write timeouts
5.8.3.2. HTTP and HTTPS transports
5.8.3.3. RMI and SSLRMI transports
5.8.3.4. Quick client disconnect
5.9. Running with a security manager
5.10. Wire version
5.11. Configuration by properties
5.11.1. org.jboss.remoting.InvokerLocator
5.11.2. org.jboss.remoting.Client
5.11.3. org.jboss.remoting.Remoting
5.11.4. org.jboss.remoting.ServerInvoker
5.11.5. org.jboss.remoting.callback.CallbackPoller
5.11.6. org.jboss.remoting.callback.CallbackStore
5.11.7. org.jboss.remoting.callback.DefaultCallbackErrorHandler
5.11.8. org.jboss.remoting.callback.ServerInvokerCallbackHandler
5.11.9. org.jboss.remoting.detection.jndi.JNDIDetector
5.11.10. org.jboss.remoting.marshal.http.HTTPUnMarshaller
5.11.11. org.jboss.remoting.transport.bisocket.Bisocket
5.11.12. org.jboss.remoting.transport.http.HTTPClientInvoker
5.11.13. org.jboss.remoting.transport.http.HTTPMetadataConstants
5.11.14. org.jboss.remoting.transport.http.ssl.HTTPSClientInvoker
5.11.15. org.jboss.remoting.transport.rmi.RMIServerInvoker
5.11.16. org.jboss.remoting.transport.servlet.ServletServerInvoker
5.11.17. org.jboss.remoting.transport.socket.MicroSocketClientInvoker
5.11.18. org.jboss.remoting.transport.socket.ServerThread
5.11.19. org.jboss.remoting.transport.socket.SocketServerInvoker
5.11.20. org.jboss.remoting.transport.socket.SocketWrapper
6. Adding a New Transport
7. Sending streams
7.1. Configuration
7.2. Issues
8. Serialization
9. Remote classloading facility
9.1. Classloading in client invokers
9.2. Server side support for remote classloading
10. Network Connection Monitoring
10.1. Client side monitoring
10.2. Server side monitoring
10.3. Interactions between client side and server side connection monitoring
11. Transporters - beaming POJOs
12. How to use it - sample code
12.1. Simple invocation
12.2. HTTP invocation
12.3. Oneway invocation
12.4. Discovery and invocation
12.5. Callbacks
12.6. Bisocket transport
12.7. Streaming
12.8. JBoss Serialization
12.9. Transporters
12.9.1. Transporters - beaming POJOs
12.9.2. Transporters sample - simple
12.9.3. Transporter sample - basic
12.9.4. Transporter sample - JBoss serialization
12.9.5. Transporter sample - clustered
12.9.6. Transporters sample - multiple
12.9.7. Transporters sample - proxy
12.9.8. Transporter sample -complex
13. Client programming model
14. Compatibility and versioning
15. Getting the JBossRemoting source and building
16. Known issues
17. Future plans
18. Release Notes
18.1. Important changes and differences in 2.5.0 release (from 2.4.0 release)
18.2. Important changes and differences in 2.4.0 release (from 2.2.0 release)
18.3. Important changes and differences in 2.2.0 release (from 2.0.0 release)
18.4. Release history
18.4.1. Version 2.5
18.4.2. Version 2.4
18.4.3. Version 2.2
18.4.4. Version 2.0
18.4.5. Version 1.4
18.4.6. Version 1.2
18.4.7. Version 1.0