JBoss.orgCommunity Documentation

Errai

Errai Reference Guide

Legal Notice

Abstract

This is the Errai Reference Guide.


Preface
1. Document Conventions
2. Feedback
1. Introduction
1.1. What is it?
1.2. Required software
2. Messaging
2.1. Messaging Overview
2.2. Messaging API Basics
2.2.1. Sending Messages with the Client Bus
2.2.2. Recieving Messages on the Server Bus / Server Services
2.2.3. Sending Messages with the Server Bus
2.2.4. Receiving Messages on the Client Bus/ Client Services
2.3. Conversations
2.4. Handling Errors
2.5. Single-Response Conversations & Pseudo-Synchronous Messaging
2.6. Broadcasting
2.7. Client-to-Client Communication
2.7.1. Relay Services
2.8. Asynchronous Message Tasks
2.9. Repeating Tasks
2.10. Sender Inferred Subjects
2.11. Message Routing Information
2.12. Queue Sessions
2.12.1. Lifecycle
2.12.2. Scopes
2.13. Client Logging and Error Handling
2.14. Wire Protocol (J.REP)
2.14.1. Payload Structure
2.14.2. Message Routing
2.14.3. Bus Management and Handshaking Protocols
2.15. WebSockets
2.15.1. Configuring the sideband server
2.15.2. Deploying with JBoss AS 7
3. Dependency Injection
3.1. Container Wiring
3.2. Wiring server side components
3.3. Scopes
3.3.1. Dependent Scope
3.4. Built-in Extensions
3.4.1. Bus Services
3.4.2. Client Components
3.4.3. Lifecycle Tools
3.5. Client-Side Bean Manager
3.5.1. Looking up beans
3.5.2. Availability of beans
3.6. Alternatives and Mocks
3.6.1. Alternatives
3.6.2. Test Mocks
3.7. Bean Lifecycle
3.7.1. Destruction of Beans
4. Errai CDI
4.1. Features and Limitations
4.1.1. Other features
4.2. Events
4.2.1. Conversational events
4.2.2. Client-Server Event Example
4.3. Producers
4.4. safe dynamic lookup
4.5. Deploying Errai CDI
4.5.1. Deployment in Development Mode
4.5.2. Deployment to a Servlet Engine
4.5.3. Deployment to an Application Server
5. Marshalling
5.1. Mapping Your Domain
5.1.1. @Portable and @NonPortable
5.1.2. Manual Mapping
5.1.3. Manual Class Mapping
5.1.4. Custom Marshallers
6. Remote Procedure Calls (RPC)
6.1. Making calls
6.1.1. Proxy Injection
6.2. Handling exceptions
6.3. Client-side Interceptors
6.4. Session and request objects in RPC endpoints
7. Errai JAX-RS
7.1. Server-Side Prerequisites
7.1.1. Server-Side JAX-RS Provider
7.1.2. Shared JAX-RS Interface
7.2. Creating Requests
7.2.1. Proxy Injection
7.3. Handling Responses
7.4. Client-side Interceptors
7.5. Wire Format
7.6. Errai JAX-RS Configuration
7.6.1. Configuring the default root path of JAX-RS endpoints
7.6.2. Enabling Jackson marshalling
8. Data Binding
8.1. Bindable Objects
8.2. Initializing a DataBinder
8.3. Creating Bindings
8.4. Specifying Converters
8.4.1. Registering a global default converter
8.4.2. Providing a binding-specific converter
9. Errai UI
9.1. Get started
9.1.1. App.gwt.xml
9.2. Use Errai UI Composite components
9.2.1. Inject a single instance
9.2.2. Inject multiple instances (for iteration)
9.3. Create a @Templated Composite component
9.3.1. Basic component
9.3.2. Custom template names
9.4. Create an HTML template
9.4.1. Select a template from a larger HTML file
9.5. Use other Widgets in a composite component
9.5.1. Annotate Widgets in the template with @DataField
9.5.2. Add corresponding data-field attributes
9.6. How HTML templates are merged with Components
9.6.1. Example
9.6.2. Element attributes (template wins)
9.6.3. DOM Elements (component field wins)
9.6.4. Inner text and inner HTML (preserved when component implements HasText or HasHTML)
9.7. Event handlers
9.7.1. Concepts
9.7.2. GWT events on Widgets
9.7.3. GWT events on DOM Elements
9.7.4. Native DOM events on Elements
9.8. Data Binding
9.9. Nest Composite components
9.10. Extend Composite components
9.10.1. Template
9.10.2. Parent component
9.10.3. Child component
10. Configuration
10.1. Appserver Configuration
10.2. Client Configuration
10.3. ErraiApp.properties
10.3.1. As a Marker File
10.3.2. As a Configuration File
10.4. ErraiService.properties
10.4.1. Configuration Properties
10.4.2. Example Configuration
10.5. Dispatcher Implementations
10.5.1. SimpleDispatcher
10.5.2. AsyncDispatcher
10.6. Servlet Implementations
10.6.1. DefaultBlockingServlet
10.6.2. JBossCometServlet
10.6.3. JettyContinuationsServlet
10.6.4. StandardAsyncServlet
11. Debugging Errai Applications
12. Troubleshooting & FAQ
12.1. Why does it seem that Errai can't see my class at compile time?
12.2. Why am I getting "java.lang.ClassFormatError: Illegal method name "<init>$" in class org/xyz/package/MyClass"?
13. Upgrade Guide
13.1. Upgrading from 1.* to 2.0
13.2. Upgrading from 2.0.Beta to 2.0.*.Final
14. Downloads
15. Sources
16. Reporting problems
17. Errai License
A. Revision History