Giter VIP home page Giter VIP logo

tigase / tigase-server Goto Github PK

View Code? Open in Web Editor NEW
312.0 34.0 105.0 55.6 MB

(M) Highly optimized, extremely modular and very flexible XMPP/Jabber server

Home Page: https://tigase.net

License: GNU Affero General Public License v3.0

HTML 7.04% Emacs Lisp 0.04% Shell 0.91% Batchfile 0.12% Makefile 0.02% Groovy 3.16% PLpgSQL 0.52% Java 82.62% Python 0.06% Inno Setup 0.13% Ruby 0.02% Scala 0.02% TSQL 0.88% NASL 1.26% C++ 0.95% Pascal 0.31% Assembly 1.94%
tigase xmpp server java jabber iot messaging chat muc pubsub

tigase-server's Introduction

Highly optimized, extremely modular and very flexible XMPP/Jabber server

Highly optimized, extremely modular and very flexible XMPP/Jabber server

Tigase Tigase Logo xmpp.net score GitHub All Releases

What it is

Tigase XMPP Server is highly optimized, extremely modular and very flexible XMPP/Jabber server written in Java.

This repository contains source code of the main part of the Tigase XMPP Server.

The project exists since 2004 and we have recently moved it over to GitHub.

Other Tigase projects related to XMPP:

Tigase XMPP Server addons:

Tools:

Tigase XMPP Clients:

Tigase based IoT:

Features

Tigase XMPP Server contains full support for RFC 6120 - XMPP CORE, RFC 6121 - XMPP IM and RFC 7395 - XMPP over WebSockets making it accessible using XMPP client connections:

  • over TCP
  • over HTTP/HTTPS (BOSH)
  • over WebSockets

and over server-to-server connections as well as over XMPP component connections.

Additionally Tigase XMPP Server provides HTTP API for integration with other services unable to communicate over XMPP.

Moveover, Tigase XMPP Server comes with support for Push Notifications making it possible to push notification to mobile devices.

Following features are supported by Tigase XMPP Server:

Support

When looking for support, please first search for answers to your question in the available online channels:

If you didn't find an answer in the resources above, feel free to submit your question as new issue on GitHub or, if you have valid support subscription, open new support ticket.

Downloads

You can download distribution version of the Tigase XMPP Server directly from here.

If you wish to downloand SNAPSHOT build of the development version of Tigase XMPP Server you can grab it from here.

Installation and usage

Documentation of the project is part of the Tigase XMPP Server distribution package. Quickstart guide is also available here.

Compilation

Compilation of the project is very easy as it is typical Maven project. All you need to do is to execute

mvn package test

to compile the project and run unit tests.

License

Tigase Tigase Logo Official Tigase repository is available at: https://github.com/tigase/tigase-server/.

Copyright (c) 2004 Tigase, Inc.

Licensed under AGPL License Version 3. Other licensing options available upon request.

tigase-server's People

Contributors

arturhefczyc avatar bmalkow avatar daniele-athome avatar dependabot[bot] avatar dwisnewski avatar hantu85 avatar karapirinc avatar neustradamus avatar qianqianluo avatar weblate avatar woj-tek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tigase-server's Issues

issue while running tigase

am getting below exception while running tigase,
am using java 8

java.lang.UnsupportedClassVersionError: module-info has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at tigase.util.ClassUtil.getClassesFromNames(ClassUtil.java:176)
        at tigase.util.ClassUtil.getClassesFromClassPath(ClassUtil.java:133)
        at tigase.util.reflection.ClassUtilBean.initialize(ClassUtilBean.java:90)
        at tigase.server.Bootstrap.start(Bootstrap.java:288)
        at tigase.server.XMPPServer.start(XMPPServer.java:188)
        at tigase.server.XMPPServer.main(XMPPServer.java:142)

Received roster request but user session is not authorized yet

Describe the bug
use ldap authorization login success ,but other component error

config.tdsl

authRepository {
    default () {
        cls = 'tigase.db.ldap.LdapAuthProvider'
        uri = 'ldap://localhost:389'
        'user-dn-pattern' = 'cn=%1$s,ou=test,dc=test-dc,dc=com'
    }
}

error describe

2020-01-03 13:38:36.207 [jabber:iq:private Queue Worker 1]  JabberIqPrivate.process()  WARNING: Received privacy request but user session is not authorized yet: from=c2s@localhost/127.0.0.1_5222_127.0.0.1_48980, to=sess-man@localhost, DATA=<iq from="[email protected]/Psi+" xmlns="jabber:client" type="get" id="aabaa">
<query xmlns="jabber:iq:private">
<roster xmlns="roster:delimiter"/>
</query>
</iq>, SIZE=164, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=AUTH, TYPE=get
2020-01-03 13:38:36.218 [jabber:iq:roster Queue Worker 9]  JabberIqRoster.process()  WARNING: Received roster request but user session is not authorized yet: from=c2s@localhost/127.0.0.1_5222_127.0.0.1_48980, to=sess-man@localhost, DATA=<iq from="[email protected]/Psi+" xmlns="jabber:client" type="get" id="aabba">
<query xmlns="jabber:iq:roster"/>
</iq>, SIZE=120, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=AUTH, TYPE=get
2020-01-03 13:38:36.244 [jabber:iq:private Queue Worker 1]  JabberIqPrivate.process()  WARNING: Received privacy request but user session is not authorized yet: from=c2s@localhost/127.0.0.1_5222_127.0.0.1_48980, to=sess-man@localhost, DATA=<iq from="[email protected]/Psi+" xmlns="jabber:client" type="get" id="aabea">
<query xmlns="jabber:iq:private">
<storage xmlns="storage:bookmarks"/>
</query>
</iq>, SIZE=166, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=AUTH, TYPE=get
2020-01-03 13:38:36.307 [vcard-temp Queue Worker 1]  VCardTemp.processFromUserToServerPacket()  WARNING: Received vCard request but user session is not authorized yet: from=c2s@localhost/127.0.0.1_5222_127.0.0.1_48980, to=sess-man@localhost, DATA=<iq from="[email protected]/Psi+" xmlns="jabber:client" type="get" id="aac1a" to="[email protected]">
<vCard xmlns="vcard-temp"/>
</iq>, SIZE=139, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=AUTH, TYPE=get

Unable to initialize tigase in docker

We are setting Tigase within Docker container.
However, we are unable to perform initialization activities such as setting predefined API KEY for tigase in docker without accessing GUI. With GUI, means we need to restart other application servers which consumes this API key. Hence GUI is not an option. Please advice how this can be accomplished .. for instance is there any way such as REST api or DB scripts or file property update that can be performed during the docker start up.

Hi! I have on mysql socketTimeout Exception

Describe the bug
i use tigase 8.0.0,I think pass http rest interface add user,but request not return。
this is often appear,begin start,is work。

use arthas trace tigase.db.AuthRepositoryMDImpl addUser

---ts=2020-10-22 18:46:31;thread_name=http-server-pool-4;id=320;is_daemon=true;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@27bc2616
    `---[925992.285882ms] tigase.db.AuthRepositoryMDImpl:addUser()
        +---[0.010391ms] tigase.xmpp.jid.BareJID:getDomain() #52
        +---[0.0092ms] tigase.db.AuthRepositoryMDImpl:getRepo() #52
        `---[925992.201749ms] tigase.db.AuthRepository:addUser() #55

my thread stack:

http-server-pool-2" #777 daemon prio=5 os_prio=0 tid=0x00007fe194012000 nid=0x33d6 runnable [0x00007fe17e4b1000]   
java.lang.Thread.State: RUNNABLE        
at java.net.SocketInputStream.socketRead0(Native Method)        
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)        
at java.net.SocketInputStream.read(SocketInputStream.java:171)        
at java.net.SocketInputStream.read(SocketInputStream.java:141)        
at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:101)        
at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:144)        
at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:174)        
- locked <0x0000000684dc4cc0> (a com.mysql.jdbc.util.ReadAheadInputStream)        
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3011)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3472)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3462)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3905)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495)
        - locked <0x0000000684e32268> (a com.mysql.jdbc.JDBC4Connection)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903)
        - locked <0x0000000684e32268> (a com.mysql.jdbc.JDBC4Connection)
        at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2011)
        - locked <0x0000000684e32268> (a com.mysql.jdbc.JDBC4Connection)
        at tigase.db.jdbc.DataRepositoryImpl.checkConnection(DataRepositoryImpl.java:452)
        - locked <0x00000006808c6d08> (a tigase.db.jdbc.DataRepositoryImpl)
        at tigase.db.jdbc.DataRepositoryImpl.getPreparedStatement(DataRepositoryImpl.java:202)
        at tigase.db.DataRepositoryPool.getPreparedStatement(DataRepositoryPool.java:171)
        at tigase.db.jdbc.TigaseCustomAuth.addUser(TigaseCustomAuth.java:283)
        at sun.reflect.GeneratedMethodAccessor84.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at tigase.stats.StatisticsInvocationHandler.invoke(StatisticsInvocationHandler.java:75)
        at com.sun.proxy.$Proxy39.addUser(Unknown Source)
        at tigase.db.AuthRepositoryMDImpl.addUser(AuthRepositoryMDImpl.java:55)
        at tigase.db.AuthRepository$addUser.call(Unknown Source)
        at tigase.rest.user.UserAdminHandler$_closure3.doCall(UserAdmin.groovy:92)
        at sun.reflect.GeneratedMethodAccessor83.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at org.codehaus.groovy.runtime.metaclass.TransformMetaMethod.invoke(TransformMetaMethod.java:54)
        at groovy.lang.MetaClassImpl$3.invoke(MetaClassImpl.java:1257)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:37)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:52)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
        at tigase.http.modules.rest.RestServlet.execute(RestServlet.groovy:299)
        at tigase.http.modules.rest.RestServlet$execute.callCurrent(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
        at tigase.http.modules.rest.RestServlet$execute.callCurrent(Unknown Source)
        at tigase.http.modules.rest.RestServlet.executeAsync(RestServlet.groovy:190)
        at sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:192)
        at tigase.http.modules.rest.RestServlet$_processRequest_closure3.doCall(RestServlet.groovy:160)
        at sun.reflect.GeneratedMethodAccessor131.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:405)
        at groovy.lang.Closure.call(Closure.java:421)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2296)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2281)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2322)
        at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
        at tigase.http.modules.rest.RestServlet.processRequest(RestServlet.groovy:122)
        at tigase.http.modules.rest.RestExtServlet.processRequest(RestExtServlet.groovy:199)
        at tigase.http.modules.rest.RestExtServlet$processRequest$1.callCurrent(Unknown Source)
        at tigase.http.modules.rest.RestServlet.service(RestServlet.groovy:95)
                                                                                                                                                

dynamic roster

Dynamic roster is not working.

i followed the documentation to configure a dynamic roster:

from tigase documentation:

Configuration
DynamicRoster implementation class should be configured in the config.tdsl file. As it’s an extension to the PresenceState, PresenceSubscription and Roster plugins classes should be configured either for each plugin:

'sess-man' () {
    'jabber:iq:roster' () {
        'dynamic-roster-classes' = 'class1.tigase.com,class2.tigase.com'
    }
    'presence-state' () {
        'dynamic-roster-classes' = 'classList.rosterImplementation.tigase'
    }
    'presence-subscription' () {
        'dynamic-roster-classes' = 'class2.custom.roster,another.class.dynamicRoster'
    }
}

or globally:

'sess-man' () {
    'dynamic-rosters' () {
        class (class: custom.dynamicRoster.class) {}
    }
}

i did the same:

implement DynamicRosterIfc:

public class CmmsRosterPlugin implements DynamicRosterIfc {

in config.tdsl:

'dynamic-rosters' () {
'sess-man' () {
..
       class (class: com.audiocodes.tigase.CmmsRosterPlugin) {
            'roster-in-e164' = 'true'
           }
    }

..
}

i config i don't see the init function triggers.

Admin JID not created when using MongoDB with Tigase

When Installing Tigase with MongoDB the installation happens successfully without any issue.

  1. But the admin JID is not created automatically.
  2. Register option on Tigase Web Client also does not take BOSH/ Websocket url.
  3. REST API also requires authentication to create user.
    This I have seen on Tigase 8.0.0, 8.1.0 on Windows 10 and on Linux server with JDK 11

Is this a bug? what is the way to create admin JID?

When debug in idea cannot get the component's version.

Describe the bug

run tigase-server in idea:

  =============================================================================
  ERROR! Component server (TigaseCustomAuth) schema version is not loaded in the database or it is old!
  Version in database: 8.1.0. Required version: 0.0.0
  Please upgrade the installation by running:
  	$ ./scripts/tigase.sh upgrade-schema etc/tigase.conf
  =============================================================================

To Reproduce
Steps to reproduce the behavior:

  1. change mysql schema version to 8.1.0
  2. copy the right config.tdsl to etc
  3. click idea's menu: Run/Run XMPPServer
  4. show the error above.

Expected behavior

I trace into the source and find the DataSource.java line 91 can not find the version number:
implementationVersion = repositoryVersionAware.getVersion();
the repositoryVersionAware object must be TigaseCustomAuth;
It's method getVersion() uses : this.getPackage().getImplementationVersion()) but returns null.
how can i get the TigaseCustomAuth version?
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: windows 10 home edition
  • Browser :none
  • Version 8.1.0-SHAPSHOT

Additional context
the whole outputs:

"C:\Program Files\Java\jdk1.8.0_221\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2.4\lib\idea_rt.jar=60346:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_221\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\rt.jar;D:\WellMessage\server\tigase-server\target\classes;D:\WellMessage\server\tigase-utils\target\classes;C:\Users\qq156\.m2\repository\tigase\tigase-xmltools\4.1.0-SNAPSHOT\tigase-xmltools-4.1.0-20200514.001826-327.jar;C:\Users\qq156\.m2\repository\mysql\mysql-connector-java\5.1.40\mysql-connector-java-5.1.40.jar;C:\Users\qq156\.m2\repository\javax\activation\activation\1.1.1\activation-1.1.1.jar" tigase.server.XMPPServer
componentInfo{Title=Tigase XML Tools, Version=4.1.0-SNAPSHOT-b285/b0c64df9, Class=tigase.xml.XMLUtils}
componentInfo{Class=tigase.util.ClassUtil}
componentInfo{Class=tigase.server.XMPPServer}
[2020-07-08 09:04:03:779] [FINEST  ] [                  main ] OldConfigHolder.detectPathAndFormat(): No property file not specified! Using default one etc/init.properties
[2020-07-08 09:04:03:804] [FINEST  ] [                  main ] OldConfigHolder.detectPathAndFormat(): Provided property file D:\WellMessage\server\tigase-server\etc\init.properties does NOT EXISTS! Trying to use default one etc/init.properties
[2020-07-08 09:04:03:813] [CONFIG  ] [                  main ] ConfigHolder.loadFromDSLFiles()  : Loading configuration from file: etc\config.tdsl
[2020-07-08 09:04:03:835] [CONFIG  ] [                  main ] ConfigHolder.loadConfiguration() : Loaded configuration:
admins = [ 'admin@wangjx-asus' ]
'config-type' = 'default'
debug = [ 'server' ]
'default-virtual-host' = 'wangjx-asus'
dataSource () {
    default () {
        uri = 'jdbc:mysql://localhost/tigasedb?user=tigase_user&password=tigase&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true'
    }
}

http () {
    setup () {
        'admin-password' = 'tigase'
        'admin-user' = 'admin'
    }
}
pubsub () {
    trusted = [ 'http@{clusterNode}' ]
}

[2020-07-08 09:04:06:427] [WARNING ] [                  main ] DependencyManager.createBeanConfig(): Cannot create bean config 'status-report-generator', type=tigase.server.monitor.StatusReportGenerator. Bean requires unknown class Lgroovy/text/Template;
[2020-07-08 09:04:06:428] [WARNING ] [                  main ] BeanConfigBuilder.execWithoutInject(): Bean class tigase.server.monitor.StatusReportGenerator cannot be registered, because Kernel cannot create configuration for this bean.
[2020-07-08 09:04:06:428] [WARNING ] [                  main ] AbstractBeanConfigurator.registerBeans(): unknown class null for bean http, skipping registration of a bean
[2020-07-08 09:04:06:430] [WARNING ] [                  main ] AbstractBeanConfigurator.registerBeans(): unknown class null for bean pubsub, skipping registration of a bean
[2020-07-08 09:04:07:043] [WARNING ] [                  main ] DNSResolverDefault.<init>()      : Resolving default host name: wangjx-asus took: 7
[2020-07-08 09:04:07:055] [WARNING ] [                  main ] ComponentInfo.lambda$getImplementationVersion$1(): Problem obtaining current version information




  =============================================================================
  ERROR! Component server (TigaseCustomAuth) schema version is not loaded in the database or it is old!
  Version in database: 8.1.0. Required version: 0.0.0
  Please upgrade the installation by running:
  	$ ./scripts/tigase.sh upgrade-schema etc/tigase.conf
  =============================================================================





ShutdownThread started... 2020-07-08T09:04:07.141

Total number of threads: 63
No locked threads.

Save thread-dump to file: logs/thread-dump.log, size: 26240
ShutdownThread finished...

Process finished with exit code 1

How to config the custom field with PacketFilterIfc?

@Bean(name = "key-word-filter", parent = Kernel.class, active = true)
public class KeyWordFilter implements PacketFilterIfc {
       @ConfigField(desc = "", alias = "dzFilterUrl")
       private String dzFilterUrl = "";
}

the config.tdsl:

'key-word-filter' () {
    'dzFilterUrl' = 'https://xxxxxxx'
}

'sess-man' () {
    'incoming-filters' = 'tigase.xxxx.KeyWordFilter'
}

It did not work well. Thanks a lot!

server falls down when some tls connections finished without full completed handshake

Steps to reproduce the behavior:

  1. xmpp client requested tls connection (<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>).
  2. xmpp client not send handshake.
    a. client have problems but it is not malicious.
    sent: </stream:stream>
    b. client is malicious.

Clients attempt to connect to the server each 60 seconds.
~300 problem clients generate 5 connections per second.
Our cluster with 4 nodes has completely overloaded (LA > 80 on each node)
All connections (300,000) were reset by ping timeout.

Typical stack example:

 "in_10-c2s" #107 prio=5 os_prio=0 tid=0x00007f8680501000 nid=0x32c8 runnable [0x00007f85693d2000]
	java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.NativeThread.current(Native Method)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:326)
	- locked <0x00000000e7fda428> (a java.lang.Object)
	- locked <0x00000000e7fda488> (a java.lang.Object)
	at tigase.io.SocketIO.read(SocketIO.java:235)
	at tigase.io.TLSIO.read(TLSIO.java:199)
	at tigase.io.TLSIO.writeBuff(TLSIO.java:487)
	at tigase.io.TLSIO.write(TLSIO.java:343)
	at tigase.net.IOService.writeData(IOService.java:1313)
	at tigase.xmpp.XMPPIOService.writeRawData(XMPPIOService.java:370)
	at tigase.server.xmppclient.ClientConnectionManager.processCommand(ClientConnectionManager.java:594)
	at tigase.server.xmppclient.ClientConnectionManager.processPacket(ClientConnectionManager.java:664)
	at tigase.server.AbstractMessageReceiver$QueueListener.run(AbstractMessageReceiver.java:1570)

May be need async implementation to fix case (b).
May be our night hotfix for case (a) will helps to explain the problem:

/src/main/java/tigase/io/TLSIO.java
diff --git a/src/main/java/tigase/io/TLSIO.java b/src/main/java/tigase/io/TLSIO.java

fix-overload-cpu-when-connections-dropped.txt

Migrating from MySQL to MongoDB

Dear, Team Tigase.
Soon we will need to change our production and ditch the RDS MySQL database in favor of MongoDB.
At the moment we are using user-db and auth-db on MySQL and we need to transfer all data from them to MongoDB.
Do you have any solutions or ideas about this?
Thank you, regards.

Details:

  • Tigase version: [7.0.2]
  • JVM flavour and version [OpenJDK8]
  • Operating system/distribution/version [Amazon Linux 2]
  • MongoDB [3.4]
  • MySQL [5.7]

Offline message lost in group chat push

Edition tigase:8.0.0 muc:3.0.0 mongodb:2.0.0
Steps to reproduce the behavior:
1.Send tout

<presence to='[email protected]/100161' from='[email protected]/nisc_pc' xmlns='jabber:client'><priority>0</priority><x xmlns='http://jabber.org/protocol/muc'><history seconds='371'/></x><c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='http://camaya.net/gloox' ver='OFXvsrS7Y4jwIKmoMw9iwPn7Q6U='/></presence>

image

2.E.g.: find out 500 historical records
3.The server push part sends the following XML information

 <presence type='unavailable' to='[email protected]/nisc_pc' from='[email protected]/a2' xmlns='jabber:client'>
 <x xmlns='http://jabber.org/protocol/muc#user'>
  <item nick='a2' affiliation='none' jid='[email protected]/nisc_voip' role='none'/>
 </x>
</presence>

image

4.Later historical news will be pushed.
5.What's the reason for sending the XML above。 type='unavailable'
image

Automatically accept the invitations

Hi,

I am wondering if there is a way to make system automatically accept invitation from other users. That could be useful when you integrate the chat with your existing system that already provides authentication layer and proper relations between users based on which system can decide whether invitation should be accepted.

Eventually can 'auto accept' for a user that is not online? Or to accept the invitation the user has to be logged in?

Doesn't matter what you enter, can't register on public Instances of this server

Describe the bug
Registering on one of the domains tigase.im or sure.im is not possible.

To Reproduce
Steps to reproduce the behavior:
In case you are already logged into an XMPP account on BeagleIM or Siskin IM, and you try to add another account, chose create another account, chose tigase.im or sure.im and try to register.
On the public instances tigase.im and sure.im , one can not register. It doesn't matter if you enter for a username "whaterver" or "[email protected]". you can add whatever email address from whatever email provider, it doesn't work. Also with password, you can use lowercase letters, uppercase letters, numbers, special symbols, you can chose whether it is 8 or 100 characters long, every combination of the above mentioned doesn't work.
The only message I get is, "Registration failed! Provided values are not acceptable"

Expected behavior
a more meaningful error message would be great. It is not clear to the user at all, what is wanted.

Desktop (please complete the following information):

  • macOS 1015.3
  • MacBook Pro 13" 2019

Smartphone (please complete the following information):

  • Device: iPhone8
  • OS: iOS 13.3.1 and

bug while loading config.tdsl

in the config.tdsl, authRepository bean definition while using :

cls = 'tigase.db.jdbc.TigaseCustomAuth'

..
defining customer login query:

'user-login-query' = '{call tig_user_login(?,?,'domainname','suspend','true')}'

when the file is loaded, i can see all the properties are loaded successfully apart from the user-login-query, it is loaded like this !!: file: tigase-console.log

'user-login-query' = ')}'

and keep getting below exception

tigase.db.TigaseDBException: Problem accessing repository.
        at tigase.db.jdbc.TigaseCustomAuth.userLoginAuth(TigaseCustomAuth.java:995)
        at tigase.db.jdbc.TigaseCustomAuth.access$000(TigaseCustomAuth.java:79)
        at tigase.db.jdbc.TigaseCustomAuth$1.verifyPlainPassword(TigaseCustomAuth.java:379)
        at tigase.auth.impl.PlainCallbackHandler.handleVerifyPasswordCallback(PlainCallbackHandler.java:159)
        at tigase.auth.impl.PlainCallbackHandler.handleCallback(PlainCallbackHandler.java:117)
        at tigase.auth.impl.PlainCallbackHandler.handle(PlainCallbackHandler.java:65)
        at tigase.auth.mechanisms.AbstractSasl.handleCallbacks(AbstractSasl.java:72)
        at tigase.auth.mechanisms.SaslPLAIN.evaluateResponse(SaslPLAIN.java:80)
        at tigase.xmpp.impl.SaslAuth.process(SaslAuth.java:198)
        at tigase.server.xmppsession.SessionManager$ProcessorWorkerThread.process(SessionManager.java:2587)
        at tigase.util.processing.WorkerThread.run(WorkerThread.java:68)
Caused by: java.sql.SQLException: Could not set parameter at position 1 

i tried to remove the line and adding it again, remove spaces add spaces, nnothing works.

exceptions on startup

Describe the bug
During the startup the are some exceptions

To Reproduce
just start up the server

Impact
Maybe are only warning but I will assume something is not working

Expected behavior
No error on startup

Details (please complete the following information):

  • Tigase version: 8.1.1-b10861
  • JVM flavour and version: openjdk version "11.0.8" 2020-07-14 build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1
  • Operating system/distribution/version: Linux Ubuntu 18.04

Additional context

[2020-09-22 13:20:17:907] [WARNING ] [                  main ] BasicComponent.loadScripts()     : Can''t load the admin script file: scripts/admin/CreateNode.groovy
javax.script.ScriptException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script103.groovy: 42: unable to resolve class tigase.pubsub.modules.NodeCreateModule.NodeCreateHandler.NodeCreateEvent
 @ line 42, column 1.
   import tigase.pubsub.modules.NodeCreateModule.NodeCreateHandler.NodeCreateEvent;
   ^

1 error

	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.compile(GroovyScriptEngineImpl.java:183)
	at tigase.server.script.Script.init(Script.java:83)
	at tigase.server.script.AddScriptCommand.addAdminScript(AddScriptCommand.java:48)
	at tigase.server.BasicComponent.loadScripts(BasicComponent.java:1113)
	at tigase.server.BasicComponent.reloadScripts(BasicComponent.java:983)
	at tigase.server.BasicComponent.setScriptsBaseDir(BasicComponent.java:830)
	at tigase.server.BasicComponent.initialize(BasicComponent.java:931)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)
Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script103.groovy: 42: unable to resolve class tigase.pubsub.modules.NodeCreateModule.NodeCreateHandler.NodeCreateEvent
 @ line 42, column 1.
   import tigase.pubsub.modules.NodeCreateModule.NodeCreateHandler.NodeCreateEvent;
   ^

1 error

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:251)
	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.getScriptClass(GroovyScriptEngineImpl.java:331)
	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.compile(GroovyScriptEngineImpl.java:181)
	... 13 more

[2020-09-22 13:20:17:959] [WARNING ] [                  main ] BasicComponent.loadScripts()     : Can''t load the admin script file: scripts/admin/CreateNode.groovy
javax.script.ScriptException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script104.groovy: 42: unable to resolve class tigase.pubsub.modules.NodeCreateModule.NodeCreateHandler.NodeCreateEvent
 @ line 42, column 1.
   import tigase.pubsub.modules.NodeCreateModule.NodeCreateHandler.NodeCreateEvent;
   ^

1 error

	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.compile(GroovyScriptEngineImpl.java:183)
	at tigase.server.script.Script.init(Script.java:83)
	at tigase.server.script.AddScriptCommand.addAdminScript(AddScriptCommand.java:48)
	at tigase.server.BasicComponent.loadScripts(BasicComponent.java:1113)
	at tigase.server.BasicComponent.reloadScripts(BasicComponent.java:983)
	at tigase.server.BasicComponent.initialize(BasicComponent.java:932)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)
Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script104.groovy: 42: unable to resolve class tigase.pubsub.modules.NodeCreateModule.NodeCreateHandler.NodeCreateEvent
 @ line 42, column 1.
   import tigase.pubsub.modules.NodeCreateModule.NodeCreateHandler.NodeCreateEvent;
   ^

1 error

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:251)
	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.getScriptClass(GroovyScriptEngineImpl.java:331)
	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.compile(GroovyScriptEngineImpl.java:181)
	... 12 more

Loading component: pubsub :: componentInfo{Title=Tigase PubSub, Version=4.1.0-b715/821100fb-8.1.0-b5641/99fb6fd4, Class=tigase.pubsub.PubSubComponent}
Loading component: c2s :: componentInfo{Title=Tigase XMPP Server, Version=8.1.0-b5641/99fb6fd4, Class=tigase.server.xmppclient.ClientConnectionManager}
Loading component: s2s :: componentInfo{Title=Tigase XMPP Server, Version=8.1.0-b5641/99fb6fd4, Class=tigase.server.xmppserver.S2SConnectionManager}
Loading component: eventbus :: componentInfo{Title=Tigase XMPP Server, Version=8.1.0-b5641/99fb6fd4, Class=tigase.eventbus.component.EventBusComponent}
[2020-09-22 13:20:19:258] [SEVERE  ] [                  main ] java_util_logging_Logger$log$1.call(): Exception loading handler from script = /opt/tigase-server-8.1.1-b10861/scripts/rest/pubsub/PubSubAdHocActions.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/opt/tigase-server-8.1.1-b10861/scripts/rest/pubsub/PubSubAdHocActions.groovy: 31: unable to resolve class tigase.xmpp.JID
 @ line 31, column 1.
   import tigase.xmpp.JID
   ^

/opt/tigase-server-8.1.1-b10861/scripts/rest/pubsub/PubSubAdHocActions.groovy: 30: unable to resolve class tigase.xmpp.BareJID
 @ line 30, column 1.
   import tigase.xmpp.BareJID
   ^

2 errors

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:234)
	at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at tigase.http.modules.rest.HandlersLoader.loadHandler(HandlersLoader.groovy:42)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184)
	at tigase.http.modules.rest.HandlersLoader$_loadHandlers_closure1.doCall(HandlersLoader.groovy:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2296)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2281)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2322)
	at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at tigase.http.modules.rest.HandlersLoader.loadHandlers(HandlersLoader.groovy:59)
	at tigase.http.modules.rest.HandlersLoader$loadHandlers$0.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:135)
	at tigase.http.modules.rest.RestServlet.loadHandlers(RestServlet.groovy:73)
	at tigase.http.modules.rest.RestExtServlet.super$4$loadHandlers(RestExtServlet.groovy)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
	at tigase.http.modules.rest.RestExtServlet.loadHandlers(RestExtServlet.groovy:47)
	at tigase.http.modules.rest.RestExtServlet$loadHandlers.callCurrent(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:168)
	at tigase.http.modules.rest.RestServlet.init(RestServlet.groovy:65)
	at javax.servlet.GenericServlet.init(GenericServlet.java:244)
	at tigase.http.java.RequestHandler.registerServlet(RequestHandler.java:203)
	at tigase.http.java.RequestHandler.<init>(RequestHandler.java:78)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:121)
	at tigase.http.java.JavaStandaloneHttpServer.lambda$0(JavaStandaloneHttpServer.java:75)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:75)
	at tigase.http.modules.rest.RestModule.start(RestModule.java:182)
	at tigase.http.AbstractHttpModule.initialize(AbstractHttpModule.java:72)
	at tigase.http.modules.AbstractBareModule.initialize(AbstractBareModule.java:189)
	at tigase.http.modules.rest.RestModule.initialize(RestModule.java:253)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectDependency(Kernel.java:866)
	at tigase.kernel.core.Kernel$DelayedDependenciesInjection.inject(Kernel.java:1533)
	at tigase.kernel.core.Kernel.finishDependecyDelayedInjection(Kernel.java:565)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:128)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)

[2020-09-22 13:20:19:309] [SEVERE  ] [                  main ] java_util_logging_Logger$log$1.call(): Exception loading handler from script = /opt/tigase-server-8.1.1-b10861/scripts/rest/pubsub/PubsubAdHoc.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/opt/tigase-server-8.1.1-b10861/scripts/rest/pubsub/PubsubAdHoc.groovy: 31: unable to resolve class tigase.xmpp.JID
 @ line 31, column 1.
   import tigase.xmpp.JID
   ^

/opt/tigase-server-8.1.1-b10861/scripts/rest/pubsub/PubsubAdHoc.groovy: 30: unable to resolve class tigase.xmpp.BareJID
 @ line 30, column 1.
   import tigase.xmpp.BareJID
   ^

2 errors

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:234)
	at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)
	at tigase.http.modules.rest.HandlersLoader.loadHandler(HandlersLoader.groovy:42)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184)
	at tigase.http.modules.rest.HandlersLoader$_loadHandlers_closure1.doCall(HandlersLoader.groovy:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2296)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2281)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2322)
	at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at tigase.http.modules.rest.HandlersLoader.loadHandlers(HandlersLoader.groovy:59)
	at tigase.http.modules.rest.HandlersLoader$loadHandlers$0.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:135)
	at tigase.http.modules.rest.RestServlet.loadHandlers(RestServlet.groovy:73)
	at tigase.http.modules.rest.RestExtServlet.super$4$loadHandlers(RestExtServlet.groovy)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
	at tigase.http.modules.rest.RestExtServlet.loadHandlers(RestExtServlet.groovy:47)
	at tigase.http.modules.rest.RestExtServlet$loadHandlers.callCurrent(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:168)
	at tigase.http.modules.rest.RestServlet.init(RestServlet.groovy:65)
	at javax.servlet.GenericServlet.init(GenericServlet.java:244)
	at tigase.http.java.RequestHandler.registerServlet(RequestHandler.java:203)
	at tigase.http.java.RequestHandler.<init>(RequestHandler.java:78)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:121)
	at tigase.http.java.JavaStandaloneHttpServer.lambda$0(JavaStandaloneHttpServer.java:75)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:75)
	at tigase.http.modules.rest.RestModule.start(RestModule.java:182)
	at tigase.http.AbstractHttpModule.initialize(AbstractHttpModule.java:72)
	at tigase.http.modules.AbstractBareModule.initialize(AbstractBareModule.java:189)
	at tigase.http.modules.rest.RestModule.initialize(RestModule.java:253)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectDependency(Kernel.java:866)
	at tigase.kernel.core.Kernel$DelayedDependenciesInjection.inject(Kernel.java:1533)
	at tigase.kernel.core.Kernel.finishDependecyDelayedInjection(Kernel.java:565)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:128)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)

[2020-09-22 13:20:19:454] [SEVERE  ] [                  main ] java_util_logging_Logger$log$1.call(): Exception loading handler from script = /opt/tigase-server-8.1.1-b10861/scripts/rest/users/UsersDomainList.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/opt/tigase-server-8.1.1-b10861/scripts/rest/users/UsersDomainList.groovy: 41: unable to resolve class tigase.xmpp.BareJID
 @ line 41, column 1.
   import tigase.xmpp.BareJID
   ^

1 error

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:234)
	at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)
	at tigase.http.modules.rest.HandlersLoader.loadHandler(HandlersLoader.groovy:42)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184)
	at tigase.http.modules.rest.HandlersLoader$_loadHandlers_closure1.doCall(HandlersLoader.groovy:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2296)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2281)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2322)
	at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at tigase.http.modules.rest.HandlersLoader.loadHandlers(HandlersLoader.groovy:59)
	at tigase.http.modules.rest.HandlersLoader$loadHandlers$0.call(Unknown Source)
	at tigase.http.modules.rest.RestServlet.loadHandlers(RestServlet.groovy:73)
	at tigase.http.modules.rest.RestExtServlet.super$4$loadHandlers(RestExtServlet.groovy)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
	at tigase.http.modules.rest.RestExtServlet.loadHandlers(RestExtServlet.groovy:47)
	at tigase.http.modules.rest.RestExtServlet$loadHandlers.callCurrent(Unknown Source)
	at tigase.http.modules.rest.RestServlet.init(RestServlet.groovy:65)
	at javax.servlet.GenericServlet.init(GenericServlet.java:244)
	at tigase.http.java.RequestHandler.registerServlet(RequestHandler.java:203)
	at tigase.http.java.RequestHandler.<init>(RequestHandler.java:78)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:121)
	at tigase.http.java.JavaStandaloneHttpServer.lambda$0(JavaStandaloneHttpServer.java:75)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:75)
	at tigase.http.modules.rest.RestModule.start(RestModule.java:182)
	at tigase.http.AbstractHttpModule.initialize(AbstractHttpModule.java:72)
	at tigase.http.modules.AbstractBareModule.initialize(AbstractBareModule.java:189)
	at tigase.http.modules.rest.RestModule.initialize(RestModule.java:253)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectDependency(Kernel.java:866)
	at tigase.kernel.core.Kernel$DelayedDependenciesInjection.inject(Kernel.java:1533)
	at tigase.kernel.core.Kernel.finishDependecyDelayedInjection(Kernel.java:565)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:128)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)

[2020-09-22 13:20:19:468] [SEVERE  ] [                  main ] java_util_logging_Logger$log$1.call(): Exception loading handler from script = /opt/tigase-server-8.1.1-b10861/scripts/rest/users/UsersList.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/opt/tigase-server-8.1.1-b10861/scripts/rest/users/UsersList.groovy: 41: unable to resolve class tigase.xmpp.BareJID
 @ line 41, column 1.
   import tigase.xmpp.BareJID
   ^

1 error

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:234)
	at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)
	at tigase.http.modules.rest.HandlersLoader.loadHandler(HandlersLoader.groovy:42)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184)
	at tigase.http.modules.rest.HandlersLoader$_loadHandlers_closure1.doCall(HandlersLoader.groovy:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2296)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2281)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2322)
	at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at tigase.http.modules.rest.HandlersLoader.loadHandlers(HandlersLoader.groovy:59)
	at tigase.http.modules.rest.HandlersLoader$loadHandlers$0.call(Unknown Source)
	at tigase.http.modules.rest.RestServlet.loadHandlers(RestServlet.groovy:73)
	at tigase.http.modules.rest.RestExtServlet.super$4$loadHandlers(RestExtServlet.groovy)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
	at tigase.http.modules.rest.RestExtServlet.loadHandlers(RestExtServlet.groovy:47)
	at tigase.http.modules.rest.RestExtServlet$loadHandlers.callCurrent(Unknown Source)
	at tigase.http.modules.rest.RestServlet.init(RestServlet.groovy:65)
	at javax.servlet.GenericServlet.init(GenericServlet.java:244)
	at tigase.http.java.RequestHandler.registerServlet(RequestHandler.java:203)
	at tigase.http.java.RequestHandler.<init>(RequestHandler.java:78)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:121)
	at tigase.http.java.JavaStandaloneHttpServer.lambda$0(JavaStandaloneHttpServer.java:75)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:75)
	at tigase.http.modules.rest.RestModule.start(RestModule.java:182)
	at tigase.http.AbstractHttpModule.initialize(AbstractHttpModule.java:72)
	at tigase.http.modules.AbstractBareModule.initialize(AbstractBareModule.java:189)
	at tigase.http.modules.rest.RestModule.initialize(RestModule.java:253)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectDependency(Kernel.java:866)
	at tigase.kernel.core.Kernel$DelayedDependenciesInjection.inject(Kernel.java:1533)
	at tigase.kernel.core.Kernel.finishDependecyDelayedInjection(Kernel.java:565)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:128)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)

[2020-09-22 13:20:19:541] [SEVERE  ] [                  main ] java_util_logging_Logger$log$1.call(): Exception loading handler from script = /opt/tigase-server-8.1.1-b10861/scripts/rest/user/UserUser.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/opt/tigase-server-8.1.1-b10861/scripts/rest/user/UserUser.groovy: 41: unable to resolve class tigase.xmpp.BareJID
 @ line 41, column 1.
   import tigase.xmpp.BareJID
   ^

1 error

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:234)
	at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)
	at tigase.http.modules.rest.HandlersLoader.loadHandler(HandlersLoader.groovy:42)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184)
	at tigase.http.modules.rest.HandlersLoader$_loadHandlers_closure1.doCall(HandlersLoader.groovy:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2296)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2281)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2322)
	at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at tigase.http.modules.rest.HandlersLoader.loadHandlers(HandlersLoader.groovy:59)
	at tigase.http.modules.rest.HandlersLoader$loadHandlers$0.call(Unknown Source)
	at tigase.http.modules.rest.RestServlet.loadHandlers(RestServlet.groovy:73)
	at tigase.http.modules.rest.RestExtServlet.super$4$loadHandlers(RestExtServlet.groovy)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
	at tigase.http.modules.rest.RestExtServlet.loadHandlers(RestExtServlet.groovy:47)
	at tigase.http.modules.rest.RestExtServlet$loadHandlers.callCurrent(Unknown Source)
	at tigase.http.modules.rest.RestServlet.init(RestServlet.groovy:65)
	at javax.servlet.GenericServlet.init(GenericServlet.java:244)
	at tigase.http.java.RequestHandler.registerServlet(RequestHandler.java:203)
	at tigase.http.java.RequestHandler.<init>(RequestHandler.java:78)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:121)
	at tigase.http.java.JavaStandaloneHttpServer.lambda$0(JavaStandaloneHttpServer.java:75)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:75)
	at tigase.http.modules.rest.RestModule.start(RestModule.java:182)
	at tigase.http.AbstractHttpModule.initialize(AbstractHttpModule.java:72)
	at tigase.http.modules.AbstractBareModule.initialize(AbstractBareModule.java:189)
	at tigase.http.modules.rest.RestModule.initialize(RestModule.java:253)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectDependency(Kernel.java:866)
	at tigase.kernel.core.Kernel$DelayedDependenciesInjection.inject(Kernel.java:1533)
	at tigase.kernel.core.Kernel.finishDependecyDelayedInjection(Kernel.java:565)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:128)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)

[2020-09-22 13:20:19:633] [SEVERE  ] [                  main ] java_util_logging_Logger$log$1.call(): Exception loading handler from script = /opt/tigase-server-8.1.1-b10861/scripts/rest/user/UserAdmin.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/opt/tigase-server-8.1.1-b10861/scripts/rest/user/UserAdmin.groovy: 45: unable to resolve class tigase.xmpp.BareJID
 @ line 45, column 1.
   import tigase.xmpp.BareJID
   ^

1 error

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:234)
	at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)
	at tigase.http.modules.rest.HandlersLoader.loadHandler(HandlersLoader.groovy:42)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184)
	at tigase.http.modules.rest.HandlersLoader$_loadHandlers_closure1.doCall(HandlersLoader.groovy:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2296)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2281)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2322)
	at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at tigase.http.modules.rest.HandlersLoader.loadHandlers(HandlersLoader.groovy:59)
	at tigase.http.modules.rest.HandlersLoader$loadHandlers$0.call(Unknown Source)
	at tigase.http.modules.rest.RestServlet.loadHandlers(RestServlet.groovy:73)
	at tigase.http.modules.rest.RestExtServlet.super$4$loadHandlers(RestExtServlet.groovy)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
	at tigase.http.modules.rest.RestExtServlet.loadHandlers(RestExtServlet.groovy:47)
	at tigase.http.modules.rest.RestExtServlet$loadHandlers.callCurrent(Unknown Source)
	at tigase.http.modules.rest.RestServlet.init(RestServlet.groovy:65)
	at javax.servlet.GenericServlet.init(GenericServlet.java:244)
	at tigase.http.java.RequestHandler.registerServlet(RequestHandler.java:203)
	at tigase.http.java.RequestHandler.<init>(RequestHandler.java:78)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:121)
	at tigase.http.java.JavaStandaloneHttpServer.lambda$0(JavaStandaloneHttpServer.java:75)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:75)
	at tigase.http.modules.rest.RestModule.start(RestModule.java:182)
	at tigase.http.AbstractHttpModule.initialize(AbstractHttpModule.java:72)
	at tigase.http.modules.AbstractBareModule.initialize(AbstractBareModule.java:189)
	at tigase.http.modules.rest.RestModule.initialize(RestModule.java:253)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectDependency(Kernel.java:866)
	at tigase.kernel.core.Kernel$DelayedDependenciesInjection.inject(Kernel.java:1533)
	at tigase.kernel.core.Kernel.finishDependecyDelayedInjection(Kernel.java:565)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:128)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)

[2020-09-22 13:20:19:673] [SEVERE  ] [                  main ] java_util_logging_Logger$log$1.call(): Exception loading handler from script = /opt/tigase-server-8.1.1-b10861/scripts/rest/user/UserStatus.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/opt/tigase-server-8.1.1-b10861/scripts/rest/user/UserStatus.groovy: 28: unable to resolve class tigase.xmpp.JID
 @ line 28, column 1.
   import tigase.xmpp.JID
   ^

/opt/tigase-server-8.1.1-b10861/scripts/rest/user/UserStatus.groovy: 25: unable to resolve class tigase.util.DNSResolverFactory
 @ line 25, column 1.
   import tigase.util.DNSResolverFactory
   ^

2 errors

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:234)
	at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)
	at tigase.http.modules.rest.HandlersLoader.loadHandler(HandlersLoader.groovy:42)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184)
	at tigase.http.modules.rest.HandlersLoader$_loadHandlers_closure1.doCall(HandlersLoader.groovy:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2296)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2281)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2322)
	at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at tigase.http.modules.rest.HandlersLoader.loadHandlers(HandlersLoader.groovy:59)
	at tigase.http.modules.rest.HandlersLoader$loadHandlers$0.call(Unknown Source)
	at tigase.http.modules.rest.RestServlet.loadHandlers(RestServlet.groovy:73)
	at tigase.http.modules.rest.RestExtServlet.super$4$loadHandlers(RestExtServlet.groovy)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
	at tigase.http.modules.rest.RestExtServlet.loadHandlers(RestExtServlet.groovy:47)
	at tigase.http.modules.rest.RestExtServlet$loadHandlers.callCurrent(Unknown Source)
	at tigase.http.modules.rest.RestServlet.init(RestServlet.groovy:65)
	at javax.servlet.GenericServlet.init(GenericServlet.java:244)
	at tigase.http.java.RequestHandler.registerServlet(RequestHandler.java:203)
	at tigase.http.java.RequestHandler.<init>(RequestHandler.java:78)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:121)
	at tigase.http.java.JavaStandaloneHttpServer.lambda$0(JavaStandaloneHttpServer.java:75)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:75)
	at tigase.http.modules.rest.RestModule.start(RestModule.java:182)
	at tigase.http.AbstractHttpModule.initialize(AbstractHttpModule.java:72)
	at tigase.http.modules.AbstractBareModule.initialize(AbstractBareModule.java:189)
	at tigase.http.modules.rest.RestModule.initialize(RestModule.java:253)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectDependency(Kernel.java:866)
	at tigase.kernel.core.Kernel$DelayedDependenciesInjection.inject(Kernel.java:1533)
	at tigase.kernel.core.Kernel.finishDependecyDelayedInjection(Kernel.java:565)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:128)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)

[2020-09-22 13:20:19:993] [SEVERE  ] [                  main ] java_util_logging_Logger$log$1.call(): Exception loading handler from script = /opt/tigase-server-8.1.1-b10861/scripts/rest/stats/ComponentStats.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/opt/tigase-server-8.1.1-b10861/scripts/rest/stats/ComponentStats.groovy: 49: unable to resolve class tigase.xmpp.JID
 @ line 49, column 1.
   import tigase.xmpp.JID
   ^

/opt/tigase-server-8.1.1-b10861/scripts/rest/stats/ComponentStats.groovy: 48: unable to resolve class tigase.xmpp.BareJID
 @ line 48, column 1.
   import tigase.xmpp.BareJID
   ^

/opt/tigase-server-8.1.1-b10861/scripts/rest/stats/ComponentStats.groovy: 46: unable to resolve class tigase.util.DNSResolverFactory
 @ line 46, column 1.
   import tigase.util.DNSResolverFactory
   ^

3 errors

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:234)
	at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)
	at tigase.http.modules.rest.HandlersLoader.loadHandler(HandlersLoader.groovy:42)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184)
	at tigase.http.modules.rest.HandlersLoader$_loadHandlers_closure1.doCall(HandlersLoader.groovy:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2296)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2281)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2322)
	at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at tigase.http.modules.rest.HandlersLoader.loadHandlers(HandlersLoader.groovy:59)
	at tigase.http.modules.rest.HandlersLoader$loadHandlers$0.call(Unknown Source)
	at tigase.http.modules.rest.RestServlet.loadHandlers(RestServlet.groovy:73)
	at tigase.http.modules.rest.RestExtServlet.super$4$loadHandlers(RestExtServlet.groovy)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
	at tigase.http.modules.rest.RestExtServlet.loadHandlers(RestExtServlet.groovy:47)
	at tigase.http.modules.rest.RestExtServlet$loadHandlers.callCurrent(Unknown Source)
	at tigase.http.modules.rest.RestServlet.init(RestServlet.groovy:65)
	at javax.servlet.GenericServlet.init(GenericServlet.java:244)
	at tigase.http.java.RequestHandler.registerServlet(RequestHandler.java:203)
	at tigase.http.java.RequestHandler.<init>(RequestHandler.java:78)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:121)
	at tigase.http.java.JavaStandaloneHttpServer.lambda$0(JavaStandaloneHttpServer.java:75)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:75)
	at tigase.http.modules.rest.RestModule.start(RestModule.java:182)
	at tigase.http.AbstractHttpModule.initialize(AbstractHttpModule.java:72)
	at tigase.http.modules.AbstractBareModule.initialize(AbstractBareModule.java:189)
	at tigase.http.modules.rest.RestModule.initialize(RestModule.java:253)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectDependency(Kernel.java:866)
	at tigase.kernel.core.Kernel$DelayedDependenciesInjection.inject(Kernel.java:1533)
	at tigase.kernel.core.Kernel.finishDependecyDelayedInjection(Kernel.java:565)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:128)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)

[2020-09-22 13:20:20:035] [SEVERE  ] [                  main ] java_util_logging_Logger$log$1.call(): Exception loading handler from script = /opt/tigase-server-8.1.1-b10861/scripts/rest/stats/ServerStats.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/opt/tigase-server-8.1.1-b10861/scripts/rest/stats/ServerStats.groovy: 49: unable to resolve class tigase.xmpp.JID
 @ line 49, column 1.
   import tigase.xmpp.JID
   ^

/opt/tigase-server-8.1.1-b10861/scripts/rest/stats/ServerStats.groovy: 48: unable to resolve class tigase.xmpp.BareJID
 @ line 48, column 1.
   import tigase.xmpp.BareJID
   ^

/opt/tigase-server-8.1.1-b10861/scripts/rest/stats/ServerStats.groovy: 46: unable to resolve class tigase.util.DNSResolverFactory
 @ line 46, column 1.
   import tigase.util.DNSResolverFactory
   ^

3 errors

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:234)
	at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)
	at tigase.http.modules.rest.HandlersLoader.loadHandler(HandlersLoader.groovy:42)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184)
	at tigase.http.modules.rest.HandlersLoader$_loadHandlers_closure1.doCall(HandlersLoader.groovy:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2296)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2281)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2322)
	at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at tigase.http.modules.rest.HandlersLoader.loadHandlers(HandlersLoader.groovy:59)
	at tigase.http.modules.rest.HandlersLoader$loadHandlers$0.call(Unknown Source)
	at tigase.http.modules.rest.RestServlet.loadHandlers(RestServlet.groovy:73)
	at tigase.http.modules.rest.RestExtServlet.super$4$loadHandlers(RestExtServlet.groovy)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
	at tigase.http.modules.rest.RestExtServlet.loadHandlers(RestExtServlet.groovy:47)
	at tigase.http.modules.rest.RestExtServlet$loadHandlers.callCurrent(Unknown Source)
	at tigase.http.modules.rest.RestServlet.init(RestServlet.groovy:65)
	at javax.servlet.GenericServlet.init(GenericServlet.java:244)
	at tigase.http.java.RequestHandler.registerServlet(RequestHandler.java:203)
	at tigase.http.java.RequestHandler.<init>(RequestHandler.java:78)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:121)
	at tigase.http.java.JavaStandaloneHttpServer.lambda$0(JavaStandaloneHttpServer.java:75)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:75)
	at tigase.http.modules.rest.RestModule.start(RestModule.java:182)
	at tigase.http.AbstractHttpModule.initialize(AbstractHttpModule.java:72)
	at tigase.http.modules.AbstractBareModule.initialize(AbstractBareModule.java:189)
	at tigase.http.modules.rest.RestModule.initialize(RestModule.java:253)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectDependency(Kernel.java:866)
	at tigase.kernel.core.Kernel$DelayedDependenciesInjection.inject(Kernel.java:1533)
	at tigase.kernel.core.Kernel.finishDependecyDelayedInjection(Kernel.java:565)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:128)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)

[2020-09-22 13:20:20:134] [SEVERE  ] [                  main ] java_util_logging_Logger$log$1.call(): Exception loading handler from script = /opt/tigase-server-8.1.1-b10861/scripts/rest/avatar/AvatarPutNoAuth.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/opt/tigase-server-8.1.1-b10861/scripts/rest/avatar/AvatarPutNoAuth.groovy: 41: unable to resolve class tigase.xmpp.BareJID
 @ line 41, column 1.
   import tigase.xmpp.BareJID
   ^

1 error

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:234)
	at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)
	at tigase.http.modules.rest.HandlersLoader.loadHandler(HandlersLoader.groovy:42)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184)
	at tigase.http.modules.rest.HandlersLoader$_loadHandlers_closure1.doCall(HandlersLoader.groovy:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2296)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2281)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2322)
	at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at tigase.http.modules.rest.HandlersLoader.loadHandlers(HandlersLoader.groovy:59)
	at tigase.http.modules.rest.HandlersLoader$loadHandlers$0.call(Unknown Source)
	at tigase.http.modules.rest.RestServlet.loadHandlers(RestServlet.groovy:73)
	at tigase.http.modules.rest.RestExtServlet.super$4$loadHandlers(RestExtServlet.groovy)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
	at tigase.http.modules.rest.RestExtServlet.loadHandlers(RestExtServlet.groovy:47)
	at tigase.http.modules.rest.RestExtServlet$loadHandlers.callCurrent(Unknown Source)
	at tigase.http.modules.rest.RestServlet.init(RestServlet.groovy:65)
	at javax.servlet.GenericServlet.init(GenericServlet.java:244)
	at tigase.http.java.RequestHandler.registerServlet(RequestHandler.java:203)
	at tigase.http.java.RequestHandler.<init>(RequestHandler.java:78)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:121)
	at tigase.http.java.JavaStandaloneHttpServer.lambda$0(JavaStandaloneHttpServer.java:75)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:75)
	at tigase.http.modules.rest.RestModule.start(RestModule.java:182)
	at tigase.http.AbstractHttpModule.initialize(AbstractHttpModule.java:72)
	at tigase.http.modules.AbstractBareModule.initialize(AbstractBareModule.java:189)
	at tigase.http.modules.rest.RestModule.initialize(RestModule.java:253)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectDependency(Kernel.java:866)
	at tigase.kernel.core.Kernel$DelayedDependenciesInjection.inject(Kernel.java:1533)
	at tigase.kernel.core.Kernel.finishDependecyDelayedInjection(Kernel.java:565)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:128)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)

[2020-09-22 13:20:20:359] [SEVERE  ] [                  main ] java_util_logging_Logger$log$1.call(): Exception loading handler from script = /opt/tigase-server-8.1.1-b10861/scripts/rest/adhoc/AdHoc.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/opt/tigase-server-8.1.1-b10861/scripts/rest/adhoc/AdHoc.groovy: 48: unable to resolve class tigase.xmpp.JID
 @ line 48, column 1.
   import tigase.xmpp.JID
   ^

/opt/tigase-server-8.1.1-b10861/scripts/rest/adhoc/AdHoc.groovy: 47: unable to resolve class tigase.xmpp.BareJID
 @ line 47, column 1.
   import tigase.xmpp.BareJID
   ^

2 errors

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:234)
	at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)
	at tigase.http.modules.rest.HandlersLoader.loadHandler(HandlersLoader.groovy:42)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184)
	at tigase.http.modules.rest.HandlersLoader$_loadHandlers_closure1.doCall(HandlersLoader.groovy:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2296)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2281)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2322)
	at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at tigase.http.modules.rest.HandlersLoader.loadHandlers(HandlersLoader.groovy:59)
	at tigase.http.modules.rest.HandlersLoader$loadHandlers$0.call(Unknown Source)
	at tigase.http.modules.rest.RestServlet.loadHandlers(RestServlet.groovy:73)
	at tigase.http.modules.rest.RestExtServlet.super$4$loadHandlers(RestExtServlet.groovy)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
	at tigase.http.modules.rest.RestExtServlet.loadHandlers(RestExtServlet.groovy:47)
	at tigase.http.modules.rest.RestExtServlet$loadHandlers.callCurrent(Unknown Source)
	at tigase.http.modules.rest.RestServlet.init(RestServlet.groovy:65)
	at javax.servlet.GenericServlet.init(GenericServlet.java:244)
	at tigase.http.java.RequestHandler.registerServlet(RequestHandler.java:203)
	at tigase.http.java.RequestHandler.<init>(RequestHandler.java:78)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:121)
	at tigase.http.java.JavaStandaloneHttpServer.lambda$0(JavaStandaloneHttpServer.java:75)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:75)
	at tigase.http.modules.rest.RestModule.start(RestModule.java:182)
	at tigase.http.AbstractHttpModule.initialize(AbstractHttpModule.java:72)
	at tigase.http.modules.AbstractBareModule.initialize(AbstractBareModule.java:189)
	at tigase.http.modules.rest.RestModule.initialize(RestModule.java:253)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectDependency(Kernel.java:866)
	at tigase.kernel.core.Kernel$DelayedDependenciesInjection.inject(Kernel.java:1533)
	at tigase.kernel.core.Kernel.finishDependecyDelayedInjection(Kernel.java:565)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:128)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)

Loading component: http :: componentInfo{Title=Tigase HTTP API component, Version=2.1.0-b341/812469a6-8.1.0-b5641/99fb6fd4, Class=tigase.http.HttpMessageReceiver}
[2020-09-22 13:20:22:154] [WARNING ] [                  main ] BasicComponent.loadScripts()     : Can''t load the admin script file: scripts/admin/room-remove.groovy
javax.script.ScriptException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script126.groovy: 29: unable to resolve class tigase.xmpp.BareJID 
 @ line 29, column 22.
   	tigase.xmpp.BareJID jid;
                        ^

Script126.groovy: 32: unable to resolve class tigase.util.TigaseStringprepException 
 @ line 32, column 3.
   	}catch(tigase.util.TigaseStringprepException e){
     ^

2 errors

	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.compile(GroovyScriptEngineImpl.java:183)
	at tigase.server.script.Script.init(Script.java:83)
	at tigase.server.script.AddScriptCommand.addAdminScript(AddScriptCommand.java:48)
	at tigase.server.BasicComponent.loadScripts(BasicComponent.java:1113)
	at tigase.server.BasicComponent.reloadScripts(BasicComponent.java:983)
	at tigase.server.BasicComponent.setScriptsBaseDir(BasicComponent.java:830)
	at tigase.server.BasicComponent.initialize(BasicComponent.java:931)
	at tigase.muc.MUCComponent.initialize(MUCComponent.java:143)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)
Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script126.groovy: 29: unable to resolve class tigase.xmpp.BareJID 
 @ line 29, column 22.
   	tigase.xmpp.BareJID jid;
                        ^

Script126.groovy: 32: unable to resolve class tigase.util.TigaseStringprepException 
 @ line 32, column 3.
   	}catch(tigase.util.TigaseStringprepException e){
     ^

2 errors

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:251)
	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.getScriptClass(GroovyScriptEngineImpl.java:331)
	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.compile(GroovyScriptEngineImpl.java:181)
	... 14 more

[2020-09-22 13:20:22:369] [WARNING ] [                  main ] BasicComponent.loadScripts()     : Can''t load the admin script file: scripts/admin/room-remove.groovy
javax.script.ScriptException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script132.groovy: 29: unable to resolve class tigase.xmpp.BareJID 
 @ line 29, column 22.
   	tigase.xmpp.BareJID jid;
                        ^

Script132.groovy: 32: unable to resolve class tigase.util.TigaseStringprepException 
 @ line 32, column 3.
   	}catch(tigase.util.TigaseStringprepException e){
     ^

2 errors

	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.compile(GroovyScriptEngineImpl.java:183)
	at tigase.server.script.Script.init(Script.java:83)
	at tigase.server.script.AddScriptCommand.addAdminScript(AddScriptCommand.java:48)
	at tigase.server.BasicComponent.loadScripts(BasicComponent.java:1113)
	at tigase.server.BasicComponent.reloadScripts(BasicComponent.java:983)
	at tigase.server.BasicComponent.initialize(BasicComponent.java:932)
	at tigase.muc.MUCComponent.initialize(MUCComponent.java:143)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.injectDependencies(Kernel.java:1254)
	at tigase.kernel.core.Kernel.injectIfRequired(Kernel.java:1033)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:308)
	at tigase.server.Bootstrap.start(Bootstrap.java:327)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:141)
Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script132.groovy: 29: unable to resolve class tigase.xmpp.BareJID 
 @ line 29, column 22.
   	tigase.xmpp.BareJID jid;
                        ^

Script132.groovy: 32: unable to resolve class tigase.util.TigaseStringprepException 
 @ line 32, column 3.
   	}catch(tigase.util.TigaseStringprepException e){
     ^

2 errors

	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:980)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:251)
	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.getScriptClass(GroovyScriptEngineImpl.java:331)
	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.compile(GroovyScriptEngineImpl.java:181)
	... 13 more


When following the example code, the method package.getElemTo not found

https://docs.tigase.net/tigase-server/master-snapshot/Development_Guide/html/#componentdevelpoment

java compiler reports can not found getElemTo(), and also getElemFrom()

public int hashCodeForPacket(Packet packet) {
        if (packet.getElemTo() != null) {
            return packet.getElemTo().hashCode();
        }
        // This should not happen, every packet must have a destination
        // address, but maybe our SPAM checker is used for checking
        // strange kind of packets too....
        if (packet.getElemFrom() != null) {
            return packet.getElemFrom().hashCode();
        }
        // If this really happens on your system you should look carefully
        // at packets arriving to your component and decide a better way
        // to calculate hashCode
        return 1;
    }

Tigase special characters

Tigase is not escaping special characters when sending stanza to the clients.
special characters like [ @ %^&) > ] ..

sending special characters from client A to client B
tigase shows that message sent, but it can't be parsed at client side.

Question : handling special characters should be done at server side ? (tigase plugin for example ) ?
or it should be handled at client side ?

I've tested it on android client .

vCard problem in MUC Rooms

On a Tigase MUC Room, when we look the user information, we obtain:

1/ Using "Multi User Chat 2.1.0-SNAPSHOT-b129/9e80625d / Linux-amd64-4.4.0-1105-aws, OpenJDK 64-Bit Server VM-12.0.1 AdoptOpenJDK"

2/ Conversations and fork users:

Unable to retrieve information about this contact.
Reason: Feature not implemented.
The feature requested is not implemented by the recipient or server and therefore cannot be processed.

3/ Gajim users:

Unable to retrieve information about this contact.
Reason: Feature not implemented.
The feature requested is not implemented by the recipient or server and therefore cannot be processed.
The feature requested is not implemented by the recipient or server and therefore cannot be processed.

4/ Poezio users:

Unable to retrieve information about this contact.
Reason: Not allowed.
The recipient or server does not allow any entity to perform the actions.
Many destination resources detected.

5/ Psi user :

Unable to retrieve information about this contact.
Reason: Request timed out

Server did not report any SASL mechanisms with smack 4.3.4

I have a problem with…
A clear and concise description of what the problem is.

Details (please complete the following information):

  • Tigase version: tigase-server-8.1.0-b10857
  • JVM flavour and version [e.g. AdoptOpenJDK11]
  • Operating system/distribution/version [e.g. Linux Ubuntu 18.04]

when i login with smack4.3.4
i get this error ,can you help me,thanks
config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled)

2020-09-06 18:50:33.098 5797-6691/com.huang.testxmpp W/SASLAuthentication: Server did not report any SASL mechanisms
2020-09-06 18:50:33.099 5797-6691/com.huang.testxmpp I/wangqx: 192 xe=org.jivesoftware.smack.SmackException: No supported and enabled SASL Mechanism provided by server. Server announced mechanisms: []. Registered SASL mechanisms with Smack: [SASL Mech: SCRAM-SHA-1-PLUS, Prio: 100, SASL Mech: SCRAM-SHA-1, Prio: 110, SASL Mech: DIGEST-MD5, Prio: 210, SASL Mech: PLAIN, Prio: 410, SASL Mech: X-OAUTH2, Prio: 410, SASL Mech: ANONYMOUS, Prio: 500, SASL Mech: EXTERNAL, Prio: 510]. Enabled SASL mechanisms for this connection: null. Blacklisted SASL mechanisms: [SCRAM-SHA-1-PLUS].
2020-09-06 18:50:33.099 5797-6691/com.huang.testxmpp W/System.err: org.jivesoftware.smack.SmackException: No supported and enabled SASL Mechanism provided by server. Server announced mechanisms: []. Registered SASL mechanisms with Smack: [SASL Mech: SCRAM-SHA-1-PLUS, Prio: 100, SASL Mech: SCRAM-SHA-1, Prio: 110, SASL Mech: DIGEST-MD5, Prio: 210, SASL Mech: PLAIN, Prio: 410, SASL Mech: X-OAUTH2, Prio: 410, SASL Mech: ANONYMOUS, Prio: 500, SASL Mech: EXTERNAL, Prio: 510]. Enabled SASL mechanisms for this connection: null. Blacklisted SASL mechanisms: [SCRAM-SHA-1-PLUS].
2020-09-06 18:50:33.099 5797-6691/com.huang.testxmpp W/System.err:     at org.jivesoftware.smack.SASLAuthentication.selectMechanism(SASLAuthentication.java:361)
2020-09-06 18:50:33.099 5797-6691/com.huang.testxmpp W/System.err:     at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:192)
2020-09-06 18:50:33.099 5797-6691/com.huang.testxmpp W/System.err:     at org.jivesoftware.smack.tcp.XMPPTCPConnection.loginInternal(XMPPTCPConnection.java:403)
2020-09-06 18:50:33.099 5797-6691/com.huang.testxmpp W/System.err:     at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:546)
2020-09-06 18:50:33.099 5797-6691/com.huang.testxmpp W/System.err:     at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:520)
2020-09-06 18:50:33.099 5797-6691/com.huang.testxmpp W/System.err:     at com.huang.xmpp.XmppConnection.login(XmppConnection.java:226)
2020-09-06 18:50:33.100 5797-6691/com.huang.testxmpp W/System.err:     at com.huang.testxmpp.LoginActivity$4.run(LoginActivity.java:193)
2020-09-06 18:50:33.100 5797-6691/com.huang.testxmpp W/System.err:     at java.lang.Thread.run(Thread.java:929)
2020-09-06 18:52:21.986 5797-6132/com.huang.testxmpp D/SMACK: RECV (0): </stream:stream>
2020-09-06 18:52:21.987 5797-6132/com.huang.testxmpp I/XMPPTCPConnection: XMPPTCPConnection[not-authenticated] (0) received closing </stream> element. Server wants to terminate the connection, calling disconnect()
2020-09-06 18:52:21.992 5797-6131/com.huang.testxmpp D/SMACK: SENT (0): 
2020-09-06 18:52:21.992 5797-6131/com.huang.testxmpp D/SMACK: SENT (0): </stream:stream>
2020-09-06 18:52:21.994 5797-6131/com.huang.testxmpp W/XMPPTCPConnection: Exception writing closing stream element
    java.net.SocketException: Socket closed
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:124)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:161)
        at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
        at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
        at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)

my config.tdsl

admins = [
       root
 ]
   'config-type' = 'default'
   debug = [ 'server' ]
   'default-virtual-host' = 'test.com'
  dataSource () {
      default () {
          uri = 'mongodb://tigase_user:xxx@localhost/tigasedb'
     }
  }
  http () {
      setup () {
         'admin-password' = 'xxx'
          'admin-user' = 'root'
     }
 }
  pubsub () {
     trusted = [ 'http@{clusterNode}' ]
 }
 'sess-man' () {
     starttls (active: false) {}
     'unified-message-archive-xep-0136' (active: false) {}
  }

XEPs and RFCs support page with version

extension muc message not storage database in message archive component

Describe

  1. tigase 8.0.0-b10083 version
  2. mysql 5.7.21
  3. message archive component(message-archive=4:2318, version: 2.0.0-b241/06879836)

configuration in config.tdsl

'config-type' = 'default'

'default-virtual-host' = 'im.com'

debug = ['db' , 'server' , 'xmpp.XMPPIOService' ]

dataSource {

    default () {
        uri = 'jdbc:mysql://localhost:3306/tigase8?user=test&password=test&useSSL=false&autoCreateUser=true'
    }
}

muc () {
    'message-filter-enabled' = false
}

message-archive {
        'default-store-method' = 'message'
        'store-muc-messages' = 'true' 
}

sess-man {
    message-archive {
        'default-store-method' = 'message'
        'store-muc-messages' = 'true' 
    }

    message-archive-xep-0136 () {
    }

    urn:xmpp:mam:1 () {
    }
}

describe

question 1 : what can I do, server can auto storage message? I want storage <message>......</message>

-- send to server
<iq type='get' id='prefq'>
  <pref xmlns='urn:xmpp:archive'/>
</iq>

--  recevie
<iq to="[email protected]/Psi+" id="prefq" type="result">
<pref xmlns="urn:xmpp:archive">
<auto save="false"/>
<default otr="forbid" save="message" muc-save="false"/>
<method use="prefer" type="auto"/>
<method use="prefer" type="local"/>
<method use="prefer" type="manual"/>
</pref>
</iq>

message not auto archive, if client send <auto save="true"/> iq message to server, server can storage this client message

-- send to server
<iq type='set' id='prefq'>
  <pref xmlns='urn:xmpp:archive'>
<auto save="true"/>
</pref>
</iq>

<iq type='get' id='prefq'>
  <pref xmlns='urn:xmpp:archive'/>
</iq>

--recevie
<iq to="[email protected]/Psi+" id="prefq" type="result">
<pref xmlns="urn:xmpp:archive">
<auto save="true"/>
<default otr="forbid" save="message" muc-save="false"/>
<method use="prefer" type="auto"/>
<method use="prefer" type="local"/>
<method use="prefer" type="manual"/>
</pref>
</iq>

question 2 : what can I do, muc extension message can be message archive, storage ......

  • one to one chart
<message to="[email protected]/Psi+" id="ab4ba" type="chat">
<body>fsdf</body>
<request xmlns="urn:xmpp:receipts"/>
</message>

<message to="[email protected]/Psi+" id="ab4ba" type="chat">
<body>test</body>
<test>extension message</test>
<request xmlns="urn:xmpp:receipts"/>
</message>
  • groupchart
<message to="[email protected]/Psi+" id="ab4fa" type="groupchat" from="[email protected]/chen">
<body>test</body>
</message>
<message to="[email protected]/Psi+" id="ab4fa" type="groupchat" from="[email protected]/chen">
<body>test</body>
<test xmlns="xxx:test"> muc extension message</test>
</message>

1, 2, 3 can be storage in database, but 4 can not be storgae in database?????

please help me !!!!!!!

How to delete a message from group chat

Hello there,

Can you please advise whether tigase supports deleting a message from group chat from a participant (not from admin/moderator)?

I see there's experimental standard for message deletion at http://legastero.github.io/customxeps/extensions/message-delete.html, is this supported by tigase?

If there's no supported yet, would you please advise which standard I should follow to delete a message from group chat and the archived message histories?

Thanks,
Trung

Support for number of unseen messages

Hi,

I am looking through your documentation and I cannot find the description of feature to see number of unseen messages in the group.

Looking into XEP standards I can see not approved yet standard XEP-0430 (Inbox) But I can see the status of that is only Experimental... So I am wondering whether the feature will be only implemented in future or that is handled by other standard?

Thanks, Dawid

How to cancel disable user?

I use tigase8.0 server with mysql, client with stropheJs. I find disabled users everyday.
the table tig_users.account_status=0. I update this field equal 1, when I refresh page, the tig_users table appear account_status=0 again, I don't know why?

I search with keyworld in source code, the tigase/db/derby/StoredProcedures.java tigDisableAccount function execute relation work, but I don't know where to call it?

please give me help, online Waiting!

Exception in phase 'semantic analysis' in source unit 'Script1.groovy'

Windows Server 2019 (x64)
OpenJDK v13
Tigase Server 8.0.0

Trying to start up Tigase Server for the first time and I get this error spit out in command prompt preventing it from starting at all... I ran the setup.bat from win-stuff, installed it as a service (doesn't start properly from there either) and followed all the other directions as closely as possible. Not sure what I'm missing.

2020-01-27 19:55:59.615 [main]             BasicComponent.reloadScripts()          CONFIG:   Reloading admin scripts for component: message-router.
2020-01-27 19:55:59.631 [main]             BasicComponent.loadScripts()            CONFIG:   Loading admin scripts for component: message-router.
2020-01-27 19:55:59.631 [main]             BasicComponent.loadScripts()            CONFIG:   message-router: Loading scripts from directory: scripts/admin
2020-01-27 19:56:00.318 [main]             ThreadExceptionHandler.uncaughtException()  SEVERE: Uncaught thread: "main" exception
BUG! exception in phase 'semantic analysis' in source unit 'Script1.groovy' Unsupported class file major version 57
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:969)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:251)
	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.getScriptClass(GroovyScriptEngineImpl.java:331)
	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.compile(GroovyScriptEngineImpl.java:181)
	at tigase.server.script.Script.init(Script.java:82)
	at tigase.server.script.AddScriptCommand.addAdminScript(AddScriptCommand.java:49)
	at tigase.server.BasicComponent.loadScripts(BasicComponent.java:1021)
	at tigase.server.BasicComponent.reloadScripts(BasicComponent.java:891)
	at tigase.server.BasicComponent.setScriptsBaseDir(BasicComponent.java:743)
	at tigase.server.BasicComponent.initialize(BasicComponent.java:843)
	at tigase.server.MessageRouter.initialize(MessageRouter.java:247)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:303)
	at tigase.server.Bootstrap.start(Bootstrap.java:326)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:142)
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 57
	at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:184)
	at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:166)
	at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:152)
	at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:273)
	at org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81)
	at org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:251)
	at org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:189)
	at org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:169)
	at org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:125)
	at org.codehaus.groovy.control.ResolveVisitor.resolveToOuter(ResolveVisitor.java:855)
	at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:466)
	at org.codehaus.groovy.control.ResolveVisitor.resolveFromDefaultImports(ResolveVisitor.java:631)
	at org.codehaus.groovy.control.ResolveVisitor.resolveFromDefaultImports(ResolveVisitor.java:611)
	at org.codehaus.groovy.control.ResolveVisitor.resolveFromDefaultImports(ResolveVisitor.java:585)
	at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:464)
	at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:427)
	at org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:342)
	at org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:423)
	at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:889)
	at org.codehaus.groovy.control.ResolveVisitor.transformDeclarationExpression(ResolveVisitor.java:1292)
	at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:877)
	at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:142)
	at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:40)
	at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:86)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:106)
	at org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1554)
	at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:69)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:110)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:121)
	at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitConstructorOrMethod(ClassCodeExpressionTransformer.java:53)
	at org.codehaus.groovy.control.ResolveVisitor.visitConstructorOrMethod(ResolveVisitor.java:256)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:132)
	at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1103)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:54)
	at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1466)
	at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:229)
	at org.codehaus.groovy.control.CompilationUnit$13.call(CompilationUnit.java:705)
	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:965)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:647)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:596)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:390)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:330)
	at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:327)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:325)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:251)
	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.getScriptClass(GroovyScriptEngineImpl.java:331)
	at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.compile(GroovyScriptEngineImpl.java:181)
	at tigase.server.script.Script.init(Script.java:82)
	at tigase.server.script.AddScriptCommand.addAdminScript(AddScriptCommand.java:49)
	at tigase.server.BasicComponent.loadScripts(BasicComponent.java:1021)
	at tigase.server.BasicComponent.reloadScripts(BasicComponent.java:891)
	at tigase.server.BasicComponent.setScriptsBaseDir(BasicComponent.java:743)
	at tigase.server.BasicComponent.initialize(BasicComponent.java:843)
	at tigase.server.MessageRouter.initialize(MessageRouter.java:247)
	at tigase.kernel.core.Kernel.initBean(Kernel.java:136)
	at tigase.kernel.core.Kernel.getInstance(Kernel.java:303)
	at tigase.server.Bootstrap.start(Bootstrap.java:326)
	at tigase.server.XMPPServer.start(XMPPServer.java:188)
	at tigase.server.XMPPServer.main(XMPPServer.java:142)

tigase sends starttls stream feature over Websocket

Describe the bug

After connecting with WebSocket and opening the "stream", Tigase sends the <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/> stream feature which is not compatible with WebSocket.

Expected behavior

Tigase does not send <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/> stream feature for WebSocket connections.

web browser complain bad message format if there are Chinese characters

Describe the bug
In web browser client(i use converse), if there are Chinese characters , the xhr.responseText would be truncated, both in chrome and firefox. the xhr.reponseText would be like this

<body xmlns:xmpp="urn:xmpp:xbosh" xmpp:version="1.0" xmlns="http://jabber.org/protocol/httpbind" ack="1398247530" xmlns:stream="http://etherx.jabber.org/streams" from="dev.willbe.xyz" secure="true" host="dev.willbe.xyz"><message type="chat" xmlns="jabber:client" id="id9987623c-3141-48ed-b687-9f76a3247b24" from="[email protected]/converse.js-64250860" to="[email protected]"><body>测试2</body><active xmlns="http://jabber.org/protocol/chatstates"/><request xmlns="urn:xmpp:receipts"/><origin-id xmlns="urn:xmpp:sid:0" id="id9987623c-3141-48ed-b687-9f76a3247b24"/></message></bod

notice the characters truncated at the end is exactly the same with the number of Chinese characters in the body.

To Reproduce

  • User web client (i use converse.js) , the problem is related to BOSH/HTTP protocol
  • send messages with Chinese characters

Expected behavior
Message can be received , but it's not

tigase-8.0.0

tigase run a little, no Accounts use, but memory has been increased,s2s config is active false, why ?
image

NoSuchElementException on startup

During the startup of an instance of the cluster I have logged this exception with the version 8.1.0-b10857

[2020-08-05 19:54:23:960] [WARNING ] [ResultsListener-socketReadThread-11 ] SocketThread$ResultsListener.run(): Protocol execution exception.
java.util.NoSuchElementException
	at java.base/java.util.concurrent.ConcurrentLinkedDeque.screenNullResult(ConcurrentLinkedDeque.java:764)
	at java.base/java.util.concurrent.ConcurrentLinkedDeque.removeLast(ConcurrentLinkedDeque.java:966)
	at tigase.stats.MaxDailyCounterQueue.add(MaxDailyCounterQueue.java:48)
	at tigase.cluster.ClusterConnectionManager.nodeConnected(ClusterConnectionManager.java:328)
	at tigase.cluster.ClusterController.nodeConnected(ClusterController.java:126)
	at tigase.cluster.ClusterConnectionManager.serviceConnected(ClusterConnectionManager.java:777)
	at tigase.cluster.ClusterConnectionManager.processHandshake(ClusterConnectionManager.java:908)
	at tigase.cluster.ClusterConnectionManager.processSocketData(ClusterConnectionManager.java:424)
	at tigase.server.ConnectionManager.packetsReady(ConnectionManager.java:347)
	at tigase.server.ConnectionManager.packetsReady(ConnectionManager.java:61)
	at tigase.net.IOService.call(IOService.java:202)
	at tigase.xmpp.XMPPIOService.call(XMPPIOService.java:146)
	at tigase.xmpp.XMPPIOService.call(XMPPIOService.java:51)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

Tigase authentication and Derby db

Hi guys, i have deployed tigase by docker and i can't login by ldap. I also cannot see any error on log. Any idea?

authRepository {
    default () {
        cls = 'tigase.db.ldap.LdapAuthProvider'
        uri = 'ldap://xxx.xx.xx:389'
        'user-dn-pattern' = 'CN=%1$s,OU=xx,OU=xx,OU=xx,OU=xx,DC=xx,DC=xx,DC=xxx'
    }
}

dataSource () {
    default () {
        uri = 'jdbc:derby:xxxxx_tigasedb;create=true;autoCreateUser=true'
    }
}

problem upgrading mysql database from 8.1.0-b10857 to 8.1.1-b10861

Describe the bug
I'm trying to upgrade tigase from 8.1.0-b10857 to 8.1.1-b10861, if I start the new version I got the usual upgrade error that doesn't start tigase:

  =============================================================================
  ERROR! Component muc (JDBCMucDAO) schema version is not loaded in the database or it is old!
  Version in database: 3.1.0-b639. Required version: 3.1.1-b643
  Please upgrade the installation by running:
  	$ ./scripts/tigase.sh upgrade-schema etc/tigase.conf
  =============================================================================

I run the command but the command fails, it's not my first upgrade from one version to another, in the past I have used that command without problems at least 10 times

To Reproduce
Install 8.1.0-b10857 with a plain mysql DB, upgrade to 8.1.1-b10861

Impact
Can't upgrade tigase version

Expected behavior
Upgrade script working correctly

Details (please complete the following information):
Here the output from
$ ./scripts/tigase.sh upgrade-schema etc/tigase.conf

./scripts/tigase.sh upgrade-schema etc/tigase.conf
Sep 24, 2020 7:33:34 AM tigase.db.util.SchemaManager loadSchemas
INFO: beginning loading schema files...
Sep 24, 2020 7:33:34 AM tigase.util.dns.DNSResolverDefault <init>
WARNING: Resolving default host name: XXXXXXXXX took: 8

Database root account username used to create tigase user and database at 172.31.24.160:3306 : root
Database root account password used to create tigase user and database at 172.31.24.160:3306 : 
[2020-09-24 07:34:20:835] [CONFIG  ] [                  main ] DBSchemaLoader.init()            : Parameters: [adminPassword: null, admins: null, dbHostname: 172.31.24.160:3306, dbName: tigasedb, dbPass: XXXXXXXXXX, dbRootPass: XXXXXXXXXX, dbRootUser: root, dbType: mysql, dbUser: tigaseUser, file: null, ingoreMissingFiles: false, logLevel: CONFIG, query: null, serverTimezone: null, useLegacyDatetimeCode: true, useSSL: false, forceReloadSchema: false, schemaDirectory: database/]
[2020-09-24 07:34:20:836] [INFO    ] [                  main ] DBSchemaLoader.validateDBConnection(): Validating DBConnection, URI: jdbc:mysql://172.31.24.160:3306/?user=root&password=XXXXXXXXXX&useSSL=false&allowPublicKeyRetrieval=true
[2020-09-24 07:34:21:173] [INFO    ] [                  main ] DBSchemaLoader.validateDBConnection(): Connection OK
[2020-09-24 07:34:21:174] [INFO    ] [                  main ] DBSchemaLoader.validateDBExists(): Validating whether DB Exists, URI: jdbc:mysql://172.31.24.160:3306/tigasedb?user=tigaseUser&password=XXXXXXXXXX&useSSL=false&allowPublicKeyRetrieval=true
[2020-09-24 07:34:21:179] [INFO    ] [                  main ] DBSchemaLoader.lambda$validateDBExists$9(): Exists OK
[2020-09-24 07:34:21:280] [CONFIG  ] [                  main ] DBSchemaLoader.init()            : Parameters: [adminPassword: null, admins: null, dbHostname: 172.31.24.160:3306, dbName: tigasedb, dbPass: XXXXXXXXXX, dbRootPass: XXXXXXXXXX, dbRootUser: root, dbType: mysql, dbUser: tigaseUser, file: null, ingoreMissingFiles: false, logLevel: CONFIG, query: null, serverTimezone: null, useLegacyDatetimeCode: true, useSSL: false, forceReloadSchema: false, schemaDirectory: database/]
[2020-09-24 07:34:21:280] [INFO    ] [                  main ] DBSchemaLoader.validateDBConnection(): Validating DBConnection, URI: jdbc:mysql://172.31.24.160:3306/?user=root&password=XXXXXXXXXX&useSSL=false&allowPublicKeyRetrieval=true
[2020-09-24 07:34:21:284] [INFO    ] [                  main ] DBSchemaLoader.validateDBConnection(): Connection OK
[2020-09-24 07:34:21:284] [INFO    ] [                  main ] DBSchemaLoader.validateDBExists(): Validating whether DB Exists, URI: jdbc:mysql://172.31.24.160:3306/tigasedb?user=tigaseUser&password=XXXXXXXXXX&useSSL=false&allowPublicKeyRetrieval=true
[2020-09-24 07:34:21:289] [INFO    ] [                  main ] DBSchemaLoader.lambda$validateDBExists$9(): Exists OK
[2020-09-24 07:34:21:289] [CONFIG  ] [                  main ] DBSchemaLoader.loadSchema()      : SchemaInfo:: id: common, repositories: 0; version: 0.0.3
[2020-09-24 07:34:21:296] [CONFIG  ] [                  main ] DBSchemaLoader.loadSchemaFromSQLFiles(): Loading schema common, version: 0.0.3 from files, current: 0.0.3
[2020-09-24 07:34:21:304] [INFO    ] [                  main ] DBSchemaLoader.loadSchema()      : Required schema is already loaded in correct version
Sep 24, 2020 7:34:21 AM tigase.db.util.SchemaManager lambda$loadSchemas$33
INFO: Required schema is already loaded in correct version
Sep 24, 2020 7:34:21 AM tigase.db.util.SchemaManager lambda$loadSchemas$33
INFO: Required schema is already loaded in correct version
[2020-09-24 07:34:21:328] [CONFIG  ] [                  main ] DBSchemaLoader.loadSchema()      : SchemaInfo:: id: muc, repositories: 2; version: 3.1.1-b643/96806982
[2020-09-24 07:34:21:333] [CONFIG  ] [                  main ] DBSchemaLoader.loadSchemaFromSQLFiles(): Loading schema muc, version: 3.1.1-b643/96806982 from files, current: 3.1.0-b639
[2020-09-24 07:34:21:337] [INFO    ] [                  main ] DBSchemaLoader.loadSchema()      : Required schema is already loaded in correct version
Sep 24, 2020 7:34:21 AM tigase.db.util.SchemaManager lambda$loadSchemas$33
INFO: Required schema is already loaded in correct version
[2020-09-24 07:34:21:345] [WARNING ] [                  main ] DBSchemaLoader.addXmppAdminAccount(): Database schema is invalid
[2020-09-24 07:34:21:345] [WARNING ] [                  main ] DBSchemaLoader.postInstallation(): Database schema is invalid
Sep 24, 2020 7:34:21 AM tigase.db.util.SchemaManager loadSchemas
INFO: schema loading finished!




  =============================================================================
  	Schema upgrade finished
  
  Data source: default with uri jdbc:mysql://172.31.24.160:3306/tigasedb?user=tigaseUser&password=XXXXXXXXXX&useUnicode=true&characterEncoding=UTF-8&autoCreateUser=true&useSSL=false
  	Checking connection to database	ok
  	Checking if database exists	ok
  	Loading Common Schema Files	skipped
  		Message: Required schema is already loaded in correct version
  	Skipping schema: Tigase Message Archiving Component, version: 2.1.0-b269/1a9d06e9 (database version: 2.1.0-b269)	skipped
  	Skipping schema: Tigase XMPP Server (Core), version: 8.1.0-b5641/99fb6fd4 (database version: 8.1.0-b5641)	skipped
  	Loading schema: Tigase MUC Component, version: 3.1.1-b643/96806982 (database version: 3.1.0-b639)	skipped
  		Message: Required schema is already loaded in correct version
  	Skipping schema: Tigase PubSub Component, version: 4.1.0-b715/821100fb (database version: 4.1.0-b715)	skipped
  	Adding XMPP admin accounts	error
  		Message: Database schema is invalid
  	Post installation action	error
  		Message: Database schema is invalid
  =============================================================================

Here the current versions in DB
SELECT * FROM tig_schema_versions;

+-------------------+-------------+---------------------+
| component         | version     | last_update         |
+-------------------+-------------+---------------------+
| common            | 0.0.3       | 2020-07-30 16:19:07 |
| message-archiving | 2.1.0-b269  | 2020-07-30 16:19:07 |
| muc               | 3.1.0-b639  | 2020-07-30 16:19:08 |
| pubsub            | 4.1.0-b715  | 2020-07-30 16:19:08 |
| server            | 8.1.0-b5641 | 2020-07-30 16:19:08 |
+-------------------+-------------+---------------------+

How to enable the module of jingle?

How to enable the module of jingle?

the config.tdsl:

'sess-man' () {
     'http://jabber.org/protocol/jingle' () {}
}

It did not work, the client received an unsupported features error about jingle.

How to enable urn:xmpp:mam:1 ?

sess-man {
    'urn:xmpp:mam:1' () {
    }
}

The error:

AbstractBeanConfigurator.registerBeans(): unknown class null for bean urn:xmpp:mam:1, skipping registration of a bean with 8.1.

Tigase Server and Multiple Databases

Hi, below is sample from tigase administration guide,

dataSource {
    default () {
        uri = 'jdbc:mysql://db2.tigase/dbname?user&password'
    }
    'default-auth' () {
        uri = 'jdbc:mysql://db1.tigase/dbname?user&password'
    }
  }
userRepository {
    default () {}
}
authRepository {
    default () {
        cls = 'tigase.db.jdbc.TigaseCustomAuth'
        'data-source' = 'default-auth'
    }
}

what is the difference between default datasource and default-auth datasource? do they have the same tables, functions and procedures? or another saying, are they clonable structure to each other?

Retrieving number of unreaded messages, Inbox

Hi,
in our project we have requirement for showing number of unreaded messages per each contact.
During research we found that to achieve that we could use these extensions:
https://xmpp.org/extensions/xep-0430.html
https://xmpp.org/extensions/xep-0333.html
Base on tigase documentation, xep-0333 is supported by tigase server, but not 0430.
Is there any plan for supporting 0430 ?
If not, then is there anyway to achieve this kind of funcionality ?

Thx.

Documentation for adding transports?

Hi!

I can't for the life of me find any documentation on how to add external transports (like Spectrum 2). Is there any documentation available to cover this?

Thanks!

Could not initialize bean msgoffline

I have a problem with…
Why did this error occur,
“Could not initialize bean msgoffline”

Details (please complete the following information):

  • Tigase version: [e.g. 8.0.0]

BOSH setup on Windows 10 with Chat Clients

I am able to setup Tigase (8.0.0) server, port 5222 on windows 10 and use various chat client (PSI, PIDGIN, SPARK to chat) to communicate with my localhost server. When I am trying to setup BOSH, port 5280 and set it up with PIDGIN chat client its not working. Can any one tell how I can make BOSH work on windows 10 or give me a link based on which I can set it up correctly.

muc.tigase.org certificate expired

openssl s_client -connect muc.tigase.org:5269 -starttls xmpp
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = tigase.org
verify error:num=10:certificate has expired
notAfter=Aug 1 04:11:20 2020 GMT
verify return:1
depth=0 CN = tigase.org
notAfter=Aug 1 04:11:20 2020 GMT

verify return:1

Certificate chain
0 s:CN = tigase.org
i:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
1 s:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
i:O = Digital Signature Trust Co., CN = DST Root CA X3

Server certificate
-----BEGIN CERTIFICATE-----
MIIFkzCCBHugAwIBAgISBD5FOc+0rV6+bi/DLtYJKTYDMA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA1MDMwNDExMjBaFw0y
MDA4MDEwNDExMjBaMBUxEzARBgNVBAMTCnRpZ2FzZS5vcmcwggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQC8pu2Xr8G5XntFh8CddypTornHRF6u7Y7RRvGH
Q6f/SuCdCvpqs4cAE7SFs4F8mtadddZvpSFg5TLEIPW1QZMVdlsFtSOdoih4q7Sx
7P1b+D9fpkX+2JJE48Vwy0+f22Z9FNewNrFeYiC2NJNZSpuiBkbkrQ1U75jeO2FF
bk0M1TsxFYcueyyM5O/KFEY73YzWavQ+F8ftj1q7wIMkOy0fgte/chsG64kSK5M5
AzbPln0x9p1g8Fd/uS1JwhM1H/X4APPyIpCR+VV5QbwoatF0fsb/zVBUXNPBAaF6
LUNQDsvjSb006VSAwMyFoaVd2ndvt80mG7hG1LkQRbRAZ/utAgMBAAGjggKmMIIC
ojAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC
MAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLwipUrXa356k3CcrRq2bSxQhUXpMB8G
A1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAu
BggrBgEFBQcwAYYiaHR0cDovL29jc3AuaW50LXgzLmxldHNlbmNyeXB0Lm9yZzAv
BggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNlbmNyeXB0Lm9yZy8w
WwYDVR0RBFQwUoIOKi50aWdhc2UuY2xvdWSCDCoudGlnYXNlLm5ldIIMKi50aWdh
c2Uub3Jnggx0aWdhc2UuY2xvdWSCCnRpZ2FzZS5uZXSCCnRpZ2FzZS5vcmcwTAYD
VR0gBEUwQzAIBgZngQwBAgEwNwYLKwYBBAGC3xMBAQEwKDAmBggrBgEFBQcCARYa
aHR0cDovL2Nwcy5sZXRzZW5jcnlwdC5vcmcwggEFBgorBgEEAdZ5AgQCBIH2BIHz
APEAdgDnEvKwN34aYvuOyQxhhPHqezfLVh0RJlvz4PNL8kFUbgAAAXHY8iauAAAE
AwBHMEUCIQDHMgzqKnZ5K8DOZ6BJQgLgi8Rnj6aFhPB3lW8NDpI3nAIgLV8mkTbF
t1+2+8Vrhj8QRiFYOU3sMrO9GFyAKcMofosAdwAHt1wb5X1o//Gwxh0jFce65ld8
V5S3au68YToaadOiHAAAAXHY8ibeAAAEAwBIMEYCIQC/Riv7adDDXGuGzOsgQBAI
rn33KoU6mEK4BVCozM1f/QIhAPWsYc5jNhbcHn+nCK46j2et/ZwwjFMr8R8XnWyw
/0fIMA0GCSqGSIb3DQEBCwUAA4IBAQCUMYnzyQWtrkFAK9icKX3tRrhKeShiLuC7
VxAs4VvIxxX3pYO8NlDL/mwmT0L0LXP1qx4SQPh1EJ4Srgl5Szs9404lo1ukeu+V
cvYUijEeY5OtWBfsEVg91zP6Mr7jYDYG2LoGwhClz5MjHHfng51DntfiKc/1l4S4
xeU3+KKB59fiu13eeK4u4QxzwIJeexs7kDM7RwrwH79f7kfnY6Fk1fNcTjp0wjeD
p1Z0MUYBNw9nG6vB1pkyuyw8nShnUTn6gSqV7tU4Pw08Wy4uOf+nlSDBML4+neSo
KZBZa+QO+lpa665ScQj6/NHhTB5rqacuBXilM+McOYuu4MWLY4eh
-----END CERTIFICATE-----
subject=CN = tigase.org

issuer=C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.