Example configuration file in DSL
# Enable cluster mode
--cluster-mode = true
# Enable debugging for server and xmpp.impl
--debug = 'server,xmpp.impl'
# Set list of virtual hosts (old way)
--virt-hosts = 'example.com,test-1.example.com,test-2.example.com'
# Configure list of administrator jids
admins = [ 'admin@zeus', 'http@macbook-pro-andrzej.local' ]
# Set config type
config-type = '--gen-config-def'
# Configure dataSource bean with database configuration
dataSource {
# Configure default data source (using default implementation so class is omitted)
default () {
uri = 'jdbc:postgresql://127.0.0.1/tigase?user=test&password=test&autoCreateUser=true'
}
# Configure data source with name exaple.com (will be used by domain example.com)
'example.com' () {
uri = 'jdbc:mysq://127.0.0.1/example?user=test&password=test&autoCreateUser=true'
}
}
# Configure C2S component
c2s {
# Enable Stream Management bean
'urn:xmpp:sm:3' () {}
# Register tigase.server.xmppclient.SeeOtherHostDualIP as seeOtherHost bean
seeOtherHost (class: tigase.server.xmppclient.SeeOtherHostDualIP) {}
# Add additional port 5224 which is SSL port and disable port 5223
connections () {
'5224' () {
socket = ssl
}
'5223' (active: false) {}
}
}
# Configure HTTP API component
http {
# Set list of API keys
api-keys = [ 'test1234', 'test2356' ]
rest {
# Set value of environment property as a path to look for REST scripts
rest-scripts-dir = env('TIGASE_REST_SCRIPTS_DIR')
}
}
# Register pubsub-2 (class is passed as pubsub-2 name do not have default class assigned)
pubsub-2 (class: tigase.pubsub.cluster.PubSubComponentClustered) {
# Set configuration bean properties
pubsubConfig {
persistentPep = true
}
# Use tigase.pubsub.cluster.ClusteredNodeStrategy as advanced clustering strategy
strategy (class: tigase.pubsub.cluster.ClusteredNodeStrategy) {}
}
# Configure Session Manager
sess-man {
# Here we enable pep, urn:xmpp:mam:1 processors and disable message-archive-xep-0136 processor
pep () {}
'urn:xmpp:mam:1' () {}
message-archive-xep-0136 (active: false) {}
# Define class used as clustering strategy (it is different than default so class is required)
strategy (class: tigase.server.cluster.strategy.OnlineUsersCachingStrategy) {}
}