graniteds.orgCommunity Documentation

GraniteDS Documentation

Java/JavaFX Reference Guide


Project overview
1. Getting Started
1.1. Requirements (Free Tools)
1.2. Hello World, POJO
2. Usage Scenarios
2.1. Client options
2.2. Server options
2.3. Common server stacks
3. Project Setup
3.1. Server libraries
3.2. Configuring web.xml
3.3. Framework configuration
3.4. Application configuration
3.5. Client libraries
3.6. Developing with Maven
4. Remoting and serialization
4.1. Using the Tide API
4.1.1. Basic remoting
4.1.2. Basic remoting with dependency injection
4.1.3. Using the TideResponder Interface
4.1.4. Simplifying asynchronous interactions
4.1.5. Global exception handling
4.2. Mapping between client and server Java objects
4.3. Externalizers and Java code generation
4.3.1. Example of a JPA entity and its corresponding JavaFX bean
4.3.2. Standard configuration
4.3.3. Autoscan configuration
4.3.4. Built-in externalizers
4.3.5. Built-in client externalizers
4.3.6. Custom externalizers
4.3.7. @ExternalizedBean and @ExternalizedProperty
4.3.8. Custom class getters
4.3.9. Instantiators
4.4. JPA and lazy initialization
4.4.1. Single-valued associations (proxied or weaved associations)
4.4.2. Collections (List, Set, Bag, Map)
4.5. Securing remote destinations
4.5.1. Configuration
4.5.2. Fine-grained per-destination security
4.5.3. Deserialization protection
5. JavaFX Code Generator
5.1. Overview
5.2. Generated JavaFX Classes
5.3. Java Classes and Corresponding Templates
5.4. Eclipse Plugin
5.5. Ant Task
5.6. Maven Plugin (Flexmojos)
5.7. Template Language
6. Messaging (Gravity)
6.1. Example usage with Consumer/Producer
6.2. Topics and Selectors
6.3. Common configuration
6.3.1. Supported application servers for Comet/long polling
6.3.2. Supported application servers for WebSocket
6.3.3. Advanced configuration
6.3.4. Tomcat and JBoss/Tomcat specific configuration tips
6.4. Integration with JMS
6.5. Using an Embedded ActiveMQ
6.6. Server to client publishing
6.7. Securing Messaging Destinations
7. Integration with EJB3
7.1. Using the RemoteService API
7.1.1. Basic Remoting Example
7.1.2. Common configuration
7.1.3. Configuration for Remote EJBs
7.1.4. Automatic Configuration of EJB Destinations
7.1.5. Configuration for Stateful EJBs
7.1.6. Security
7.2. Using the Tide API
7.2.1. Configuration
7.2.2. Basic remoting with dependency injection
7.2.3. Typesafe remoting with dependency injection
8. Integration with Spring
8.1. Spring MVC setup
8.2. Using the RemoteService API
8.2.1. Basic remoting example
8.2.2. Configuration with a MVC setup
8.2.3. Default configuration
8.2.4. Automatic configuration of destinations
8.2.5. Integration with Spring Security
8.3. Using the Tide API
8.3.1. Configuration with a MVC setup
8.3.2. Default configuration
8.3.3. Basic remoting with dependency injection
8.3.4. Typesafe remoting with dependency injection
8.3.5. Integration with Spring Security
8.4. Messaging with Spring (Gravity)
9. Integration with CDI
9.1. Configuration with Servlet 3
9.2. Default Configuration
9.3. Using the Tide API
9.3.1. Basic remoting with dependency injection
9.3.2. Typesafe remoting with dependency injection
9.3.3. Integration with Events
9.4. Messaging with CDI (Gravity)
10. Client-Side Validation API (JSR 303)
10.1. Integration with code generation tools (Gfx)
10.2. Using the FormValidator class
11. Data Management
11.1. JPA and Managed Entities
11.2. Transparent lazy loading
11.3. Dirty checking and conflict handling
11.4. Data validation
11.5. Data paging
11.6. Data push
12. Extensibilty
12.1. Writing a security service
12.2. Custom exception handlers
12.3. Server message interceptors
12.4. Custom AMF3 (De)Serializers (Advanced use only)
12.5. ServiceInvocationListener (Advanced use only)
13. Configuration Reference
13.1. Framework Configuration
13.2. Application Configuration
13.2.1. Factories
13.2.2. Remoting destinations
13.2.3. Messaging destinations
14. Appendix
14.1. GraniteDS config DTD
14.2. GraniteDS Spring/Seam Configuration XSD
14.3. Release notes