JBoss.orgCommunity Documentation

TorqueBox

The Ruby Application Platform


1. What is TorqueBox?
1.1. Built upon JBoss AS
1.2. Built upon JRuby
1.3. Open-Source
1.4. The "application platform" concept
2. TorqueBox Installation
2.1. Installation using RubyGems
2.2. Installation using Complete Binary Distribution
2.2.1. Ensure you have Java 6
2.2.2. Get the latest version of TorqueBox binary package
2.2.3. Unzip it somewhere handy
2.2.4. How to run TorqueBox
3. JBoss AS Crash Course
3.1. Configuring
3.2. Running
3.3. Deploying
3.4. Logging
3.4.1. The TorqueBox::Logger
4. TorqueBox Web Applications
4.1. Performance
4.2. Deployment
4.3. Clustering
4.4. Sessions
4.5. Caching
4.6. Ruby Web Frameworks
4.6.1. Rack
4.6.2. Ruby on Rails
4.6.3. Sinatra
5. TorqueBox Caching
5.1. Overview
5.2. Clustering Modes
5.3. TorqueBox::Infinispan::Cache Options and Usage
5.4. ActiveSupport::Cache::Store Options and Usage
6. TorqueBox Deployment Descriptors
6.1. External and Internal descriptors
6.2. Contents of a descriptor
6.2.1. YAML syntax layout
6.2.2. Ruby DSL syntax layout
6.2.3. General Application Configuration
6.2.4. Web-specific configuration
6.2.5. Ruby runtime configuration
6.2.6. Environment variables
6.3. Java Deployment Descriptors
6.3.1. WEB-INF/web.xml
7. TorqueBox Messaging
7.1. Introduction
7.2. Deploying Destinations
7.2.1. Deployment Styles
7.2.2. Deployment Descriptors
7.3. TorqueBox Ruby Classes
7.4. Messaging Abstractions
7.4.1. Queues and Topics
7.4.2. Message Encodings
7.4.3. Message Processors
7.4.4. Backgroundable Methods
7.4.5. Future Objects
8. STOMP & WebSockets on TorqueBox
8.1. Overview
8.1.1. What are WebSockets?
8.1.2. What is STOMP?
8.1.3. What are Stomplets?
8.2. Ruby Stomplets
8.2.1. Stomplet API
8.2.2. Example
8.3. JMS Integration
8.3.1. Destination and Message compatibility
8.4. Deployment descriptors
8.5. Javascript Client
8.5.1. Using the Javascript client
8.5.2. Rack middleware to provide the Javascript client
8.5.3. Injecting the endpoint URL
8.6. Other Clients (without WebSockets)
8.7. Further information
9. TorqueBox Scheduled Jobs
9.1. What Are Scheduled Jobs?
9.2. Ruby Job Classes
9.3. Scheduling Jobs
9.3.1. Configuration Format
9.4. Clustered Jobs
9.4.1. Jobs Running on Every Node
9.4.2. High Availability Singleton Jobs
9.5. Resource Injection with Jobs
10. TorqueBox Services
10.1. What Are Services?
10.2. Service Classes
10.3. Deploying Services
10.3.1. Configuration Format
10.4. Clustered Services
10.4.1. Services Running on Every Node
10.4.2. High Availability Singleton Services
10.5. Resource Injection with Services
11. TorqueBox Resource Injection
11.1. What is Resource Injection?
11.2. Basics of Resource Injection
11.3. Injectable Resources
11.4. Variants of inject(...)
11.5. Internals and Testing
11.6. Disabling the Injection Scanner
12. TorqueBox Authentication
12.1. Security Domains
12.2. Configuration
12.3. Ruby API
13. Database Connectivity in TorqueBox
13.1. ActiveRecord
13.2. DataMapper
14. TorqueBox Distributed Transactions
14.1. Overview
14.2. The TorqueBox.transaction method
14.3. Messaging
14.4. Configuration
14.4.1. PostgreSQL
14.4.2. MySQL
14.5. Examples
14.5.1. Disabling XA support in a application environment
15. TorqueBox Runtime Pooling
15.1. Types of Runtime Pools
15.2. Subsystem Pools
15.3. Configuration
15.3.1. Syntax
15.3.2. Examples
15.4. Runtime Initialization
16. TorqueBox Rake Support
16.1. Overview
16.2. Deploying applications
16.2.1. Directory-based deployments
16.2.2. Archive-based deployments
16.3. Undeploying applications
16.4. Server control
17. TorqueBox Capistrano Support
17.1. What is Capistrano?
17.2. Installing Capistrano
17.3. Capify your Application
17.3.1. Basic deploy.rb configuration
17.4. TorqueBox-specific deploy.rb configuration
17.4.1. Include TorqueBox recipes
17.4.2. Set up home variable(s)
17.4.3. Optionally configuration application variables
17.4.4. Configure server control style
17.4.5. Perform deployments
18. torquebox-server Gem
18.1. Installation
18.2. Deploying and Undeploying Applications
18.3. Running
18.4. Shortcuts For Accessing Paths Inside torquebox-server Gem
19. TorqueBox Production Setup
19.1. Sizing Number of HTTP Threads to Connection Pool
19.1.1. Setting Database Connection Pool Size
19.1.2. Setting Max Number of HTTP Threads
19.2. Clustering TorqueBox Without Multicast
19.2.1. Clustering Infinispan
19.2.2. Clustering HornetQ
19.3. SSL JBoss Web
19.4. Including singleton jobs/services
20. TorqueBox Additional Resources
20.1. BackStage
20.1.1. Features
20.1.2. More Information
20.2. StompBox
20.2.1. Features
20.2.2. More Information
A. Licensing
B. GNU Lesser General Public License version 3
C. JRuby Licenses
D. JRuby-Rack License
E. LICENSE AGREEMENT AND LIMITED PRODUCT WARRANTY
F. GNU General Public License
F.1. Preamble
F.2. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
F.2.1. Section 0
F.2.2. Section 1
F.2.3. Section 2
F.2.4. Section 3
F.2.5. Section 4
F.2.6. Section 5
F.2.7. Section 6
F.2.8. Section 7
F.2.9. Section 8
F.2.10. Section 9
F.2.11. Section 10
F.2.12. NO WARRANTY Section 11
F.2.13. Section 12
F.3. How to Apply These Terms to Your New Programs
G. GNU General Public License version 3
H. GNU Lesser General Public License
H.1. Preamble
H.2. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
H.2.1. Section 0
H.2.2. Section 1
H.2.3. Section 2
H.2.4. Section 3
H.2.5. Section 4
H.2.6. Section 5
H.2.7. Section 6
H.2.8. Section 7
H.2.9. Section 8
H.2.10. Section 9
H.2.11. Section 10
H.2.12. Section 11
H.2.13. Section 12
H.2.14. Section 13
H.2.15. Section 14
H.2.16. NO WARRANTY Section 15
H.2.17. Section 16
H.3. How to Apply These Terms to Your New Libraries
I. Apache Software License, Version 1.1
J. Apache License, Version 2.0
J.1. APPENDIX: How to apply the Apache License to your work
K. Common Public License Version 1.0 (CPL)
L. BSD License
M. MIT License
N. Creative Commons Attribution-ShareAlike 3.0