JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.
Tigase Kernel
Sidebar
Prev
|
Up
|
Next
Registration of a bean
Using annotation
(recommended but optional)
Calling kernel methods
Using config file
(optional)
There are few ways to register a bean.
Contents
Search
Tigase Development Guide
Basic Information
Tigase Architecture
Tigase Server Elements
Components
Plug-ins
Connector
Data, Stanzas, Packets - Data Flow and Processing
Tigase Code Style
Introduction
Source file basics
Technicals details
Source file structure
Import statements
Class declaration
Class contents order
Formatting
Braces
Block indentation: tab
Column limit: 120
Line-wrapping
Whitespace
Vertical Whitespace
Horizontal whitespace
Horizontal alignment: never required
Specific constructs
Enum classes
Variable declarations
Arrays
Naming
Rules common to all identifiers
Specific Rules by identifier type
Programming Practices
Javadoc
Usage
Hack Tigase XMPP Server in Eclipse
Requirements
Installation
Linux
Windows
Setup
Server Compilation
Distribution Packages
Building Server and Generating Packages
Server binary and it’s documentation
Server distribution packages
Running Server
Tigase Kernel
Basics
What is kernel?
What is a kernel scope?
What is a bean?
Lifecycle of a bean
Creating instance of a bean
Instantiation of a bean
Configuring a bean (optional)
Injecting dependencies
Initialization of a bean
Destroying instance of a bean
Reconfiguration of a bean (optional)
Updating dependencies
Registration of a bean
Using annotation (recommended but optional)
Setting parent to class not implementing RegistrarBean interface
Calling kernel methods
As a class
As a factory
As an instance
Using config file (optional)
Defining dependencies
Nested kernels and exported beans
Manual registration of new a new kernel
Usage of RegistrarBean
Scope and visibility
Dependency graph
Configuration
DSL and kernel scopes
Data Source and Repositories
Data sources
DataSource
DataSourcePool
DataSourceBean
User and authentication repositories
AuthRepository and UserRepository
AuthRepositoryPool and UserRepositoryPool
AuthRepositoryMDPoolBean and UserRepositoryMDPoolBean
Other repositories
DataSourceAware
MDRepositoryBean
Component Development
Component Implementation - Lesson 1 - Basics
Component Implementation - Lesson 2 - Configuration
Component Implementation - Lesson 3 - Multi-Threading
Component Implementation - Lesson 4 - Service Discovery
Component Implementation - Lesson 5 - Statistics
Component Implementation - Lesson 6 - Scripting Support
Component Implementation - Lesson 7 - Data Repository
ConfigRepository
Accessing UserRepository or AuthRepository
Accessing other repositories
Configuration
Defaults
Changing data source used by repository
Configuring separate repository for domain
Repository Versioning
Enabling version checking in implementation
Handling wrong version and the upgrade
Relational databases (external handling)
Non-relational databases (internal handling)
Setting required repository version in database
Component Implementation - Lesson 8 - Lifecycle of a component
Initialization of a component
Reconfiguration
Update of injected dependencies
Stopping a component
Packet Filtering in Components
The Packet Filter API
Configuration
EventBus API in Tigase
EventBus API
Distributed EventBus
Registering events handlers
Publishing events
Local EventBus
Defining events and handlers classes
Registering events handlers
Publishing events
Cluster Map Interface
Requirements
Map Creation
Map Changes
Map Destruction
Plugin Development
Writing Plugin Code
Using annotation support
Using older non-annotation based implementation
Implementation of processing method
Plugin Configuration
How Packets are Processed by the SM and Plugins
Introduction
SASL Custom Mechanisms and Configuration
Basic SASL Configuration
Mechanisms Configuration
CallbackHandler Configuration
Selecting Mechanisms Available in the Stream
Logging/Authentication
Custom Mechanisms Development
Mechanism
CallbackHandler
General Remarks
Using Maven
Setting up Maven in Windows
Requirements
Setting up Environment Variables
Testing Maven
A Very Short Maven Guide
Snapshot Compilation and Snapshot Package Generation
Release Compilation, Generation
Generating tar.gz, tar.bz2 File With Sources Only
Profiles
Tests
Tests
Functional Tests
Performance Tests
Stability Tests
Tigase Test Suite
Running Tigase Test Suite (TTS)
Customizing Tigase Test Suite
Test Suite Scripting Language
Writing Tests for Plugins
Example: Client Stores Private Data
Test Case Parameters Description
Test Report Configuration
Basic Test Parameters
Test Case Parameters
Experimental
Dynamic Rosters
Problem Description
Syntax and Semantics
Retrieving Contact Data
Updating/Saving Extra Information About the Contact
Configuration
Mobile Optimizations
Problem Description
Solution
Queuing Algorithms
Configuration
Bosh Session Cache
Problem Description
Bosh Session Cache Description
Cache Protocol
Cache Actions
Cache ID
Reserved Cache ID Names
Old Stuff
Tigase DB Schema Explained
Why the most recent JDK?
API Description for Virtual Domains Management in the Tigase Server
Stanza Limitations
Escape Characters
API changes in the Tigase Server 5.x
REST API
Scripting introduction
Properties
Properties containing closures
Accessing beans
Retrieving user avatar
Retrieving list of available adhoc commands
Using XML format
Using JSON format
Executing example ad-hoc commands
Retrieving list of active users
Using XML
Using JSON
Ending a user session
Using XML
Using JSON
Sending any XMPP Stanza
Handling of request
Examples
Setting XMPP user status
Using XML
Using JSON
BOSH HTTP Pre-Binding
Bosh (HTTP) Pre-Binding
Configuration
Using JSON
Search Highlighter (On/Off)