Table of Contents

50. eXo Kernel
eXo Kernel introduction
51. ExoContainer info
Container hierarchy
52. Service Configuration for Beginners
Objective
Requirements
Services
Configuration File
Execution Modes
Containers
Configuration Retrieval
RootContainer
PortalContainer
StandaloneContainer
Service instantiation
Miscellaneous
Startable interface
Inversion of Control
More Containers
Single Implementation Services
Configuration properties
Configuration Logging
Further Reading
53. Service Configuration in Detail
Objectives
Requirements
Sample Service
Java Class
First configuration file
Init Parameters
Service Access
Parameters
Value-Param
Properties-Param
Object-Param
Collection
External Plugin
Import
System properties
54. Container Configuration
Intro
Kernel configuration namespace
Understanding how configuration files are loaded
Configuration Retrieval
Configuration retrieval order for the PortalContainer
Configuration retrieval for a StandaloneContainer
General notes about the configuration retrieval
Configuration retrieval log
Getting the effective configuration at Runtime
Advanced concepts for the PortalContainers
Add new configuration files from a WAR file
Creating your PortalContainers from a WAR file
Defining a PortalContainer with its dependencies and its settings
PortalContainer settings
Adding dynamically settings and/or dependencies to a PortalContainer
The existing implementations of PortalContainerDefinitionChange
AddDependencies
AddDependenciesBefore
AddDependenciesAfter
AddSettings
Disable dynamically a portal container
System property configuration
Properties init param
Properties URL init param
System Property configuration of the properties URL
Variable Syntaxes
Runtime configuration profiles
Profiles activation
Profiles configuration
Profiles definition
Profiles capable configuration elements
Component element
Component plugin element
Import element
Init param element
Value collection element
Field configuration element
Component request life cycle
Component request life cycle contract
Request life cycle
Scheduling a component request life cycle
Scheduling a container request life cycle
When request life cycle is triggered
Portal request life cycle
JMX request Life Cycle
55. Inversion Of Control
Overview
How
Injection
Side effects
56. Services Wiring
Overview
Portal Instance
Introduction to the XML schema of the configuration.xml file
Configuration retrieval and log of this retrieval
57. Component Plugin Priority
58. Understanding the ListenerService
Objectives
What is the ListenerService ?
How does it work?
Registering a listener
Triggering an event
How to configure a listener?
Concrete Example
59. Initial Context Binder
API
60. Job Scheduler Service
What is Job Scheduler?
Where is Job Scheduler Service used in eXo Products?
How does Job Scheduler work?
How can Job Scheduler Service be used in Kernel?
Samples
Define a job
Job configuration
Run the project
Reference
61. eXo Cache
Basic concepts
Advanced concepts
Invalidation
FutureExoCache
eXo Cache extension
eXo Cache based on JBoss Cache
Configuring the ExoCacheFactory
Adding specific configuration for a cache
Adding a cache creator
Understanding a cache creator
Registering a cache creator
The cache creators available
LRU Cache Creator - Least Recently Used
FIFO Cache Creator - First In, First Out
MRU Cache Creator - Most Recently Used
LFU Cache Creator - Least Frequently Used
EA Cache Creator - Expiration Algorithm
Defining a cache
How to define a cache?
At CacheService initialization
With an "external plugin"
How to define a distributed or a local cache?
How to share a JBoss Cache instance between multiple eXo Cache instances
LRU Cache - Least Recently Used
FIFO Cache - First In, First Out
MRU Cache - Most Recently Used
LFU Cache - Least Frequently Used
EA Cache - Expiration Algorithm
eXo Cache based on Infinispan
Configure the ExoCacheFactory
Add specific configuration for a cache
Add a cache creator
Understanding a cache creator
Register a cache creator
The cache creators available
Generic Cache Creator
Define an infinispan cache instance
How to define a distributed or a local cache?
How to define an infinispan cache instance
62. TransactionService
Base information
Existing TransactionService implementations
JOTM in standalone mode
Generic TransactionService based on the TransactionManagerLookup of JBoss Cache
Specific GenericTransactionService for JBoss Cache and Arjuna
Generic TransactionService based on the TransactionManagerLookup of Infinispan
Specific GenericTransactionService for Infinispan and Arjuna
A very specific TransactionService for JBoss AS
TransactionsEssentials in standalone mode
63. The data source provider
Description
Configuration
64. JNDI naming
Prerequisites
How it works
JNDI System property initialization
JNDI reference binding
Configuration examples
Recommendations for Application Developers
InitialContextInitializer API
65. Logs configuration
Introdution
Logs configuration initializer
Configuration examples
Log4J
Assigning logger level for classes or components
JDK Logging
Commons Logging SimpleLogss
Tips and Troubleshooting
JBoss tips
Other tips
66. Manageability
Introduction
Managed framework API
Annotations
@org.exoplatform.management.annotations.Managed annotation
@org.exoplatform.management.annotations.ManagedDescription
@org.exoplatform.management.annotations.ManagedName
@org.exoplatform.management.annotations.ManagedBy
JMX Management View
JMX Annotations
@org.exoplatform.management.jmx.annotations.Property annotation
@org.exoplatform.management.jmx.annotations.NameTemplate annotation
@org.exoplatform.management.jmx.annotations.NamingContext annotation
Example
CacheService example
67. ListenerService
Asynchronous Event Broadcast
68. RPC Service
Description
Configuration
The SingleMethodCallCommand