From: Misztur, C. <CMi...@ma...> - 2015-05-29 14:16:34
|
I have noticed this in the past, when the RestXQ registry does not load all the way on eXist startup but never knew why. Looks like one of the reasons is because while loading registry if an error is encountered the remaining endpoints/modules are skipped, leaving RestXQ registry incomplete. In the below stack there should be a lot more modules loaded, but they are not... Verified counts using http://server:8080/exist/rest/db?_query=rest:resource-functions() Stack: 2015-05-29 09:01:59,533 [WrapperListener_start_runner] INFO (RestXqServiceRegistryManager.java [getRegistry]:49) - Initialising RESTXQ... 2015-05-29 09:01:59,549 [WrapperListener_start_runner] INFO (RestXqServiceRegistryPersistence.java [loadRegistry]:99) - Loading RESTXQ registry from: c:\eXist-db\webapp\WEB-INF\data\restxq.registry 2015-05-29 09:02:00,969 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/zebra/zombies.api,{http://zebra.com/api/zombies}zombie-by-uid#1 2015-05-29 09:02:00,969 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/zebra/zombies.api,{http://zebra.com/api/zombies}zombie-directory#0 2015-05-29 09:02:01,530 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/appData/appdata.xql,{http://haptixgames.com/appdata}get-config#2 2015-05-29 09:02:01,530 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/appData/appdata.xql,{http://haptixgames.com/appdata}get-devices#0 2015-05-29 09:02:01,530 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/appData/appdata.xql,{http://haptixgames.com/appdata}ping#0 2015-05-29 09:02:01,530 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/appData/appdata.xql,{http://haptixgames.com/appdata}post-checkin#3 2015-05-29 09:02:01,530 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/appData/appdata.xql,{http://haptixgames.com/appdata}post-checkin2#5 2015-05-29 09:02:01,530 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/appData/appdata.xql,{http://haptixgames.com/appdata}update-device-value#3 2015-05-29 09:02:01,530 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/appData/appdata.xql,{http://haptixgames.com/appdata}update-device-value#4 2015-05-29 09:02:01,733 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/demo/examples/contacts/contacts.xql,{http://exist-db.org/apps/demo/restxq/contacts}delete#1 2015-05-29 09:02:01,733 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/demo/examples/contacts/contacts.xql,{http://exist-db.org/apps/demo/restxq/contacts}get#1 2015-05-29 09:02:01,733 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/demo/examples/contacts/contacts.xql,{http://exist-db.org/apps/demo/restxq/contacts}get-image#1 2015-05-29 09:02:01,733 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/demo/examples/contacts/contacts.xql,{http://exist-db.org/apps/demo/restxq/contacts}get-image-by-resource-id#1 2015-05-29 09:02:01,733 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/demo/examples/contacts/contacts.xql,{http://exist-db.org/apps/demo/restxq/contacts}get-image-from-uri-json#1 2015-05-29 09:02:01,733 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/demo/examples/contacts/contacts.xql,{http://exist-db.org/apps/demo/restxq/contacts}get-image-from-uri-xml#1 2015-05-29 09:02:01,733 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/demo/examples/contacts/contacts.xql,{http://exist-db.org/apps/demo/restxq/contacts}get-multiple#2 2015-05-29 09:02:01,733 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/demo/examples/contacts/contacts.xql,{http://exist-db.org/apps/demo/restxq/contacts}post#1 2015-05-29 09:02:01,733 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/demo/examples/contacts/contacts.xql,{http://exist-db.org/apps/demo/restxq/contacts}put#2 2015-05-29 09:02:01,733 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/demo/examples/contacts/contacts.xql,{http://exist-db.org/apps/demo/restxq/contacts}put-image-from-uri#2 2015-05-29 09:02:02,061 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/zebra/printers.api,{http://zebra.com/api/printers}all-printers#0 2015-05-29 09:02:02,061 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/zebra/printers.api,{http://zebra.com/api/printers}printer-by-uid#1 2015-05-29 09:02:02,061 [WrapperListener_start_runner] INFO (RestXqServiceRegistryLogger.java [registered]:43) - Registered RESTXQ Resource Function: /db/apps/zebra/printers.api,{http://zebra.com/api/printers}update-print-touch-id#2 2015-05-29 09:02:02,341 [WrapperListener_start_runner] ERROR (RestXqServiceRegistryPersistence.java [loadRegistry]:125) - Unable to compile XQuery: /db/apps/kepware/iot.api: exerr:ERROR error found while loading module console: Cannot find module class from EXPath repository: org.exist.console.xquery.ConsoleModule org.exist.extensions.exquery.restxq.impl.RestXqServiceCompilationException: Unable to compile XQuery: /db/apps/kepware/iot.api: exerr:ERROR error found while loading module console: Cannot find module class from EXPath repository: org.exist.console.xquery.ConsoleModule at org.exist.extensions.exquery.restxq.impl.XQueryCompiler.compile(XQueryCompiler.java:91) at org.exist.extensions.exquery.restxq.impl.XQueryCompiler.compile(XQueryCompiler.java:59) at org.exist.extensions.exquery.restxq.impl.RestXqServiceRegistryPersistence.loadRegistry(RestXqServiceRegistryPersistence.java:118) at org.exist.extensions.exquery.restxq.impl.RestXqServiceRegistryPersistence.loadRegistry(RestXqServiceRegistryPersistence.java:93) at org.exist.extensions.exquery.restxq.impl.RestXqServiceRegistryManager.getRegistry(RestXqServiceRegistryManager.java:62) at org.exist.extensions.exquery.restxq.impl.RestXqStartupTrigger.execute(RestXqStartupTrigger.java:45) at org.exist.storage.BrokerPool.callStartupTriggers(BrokerPool.java:1098) at org.exist.storage.BrokerPool.initialize(BrokerPool.java:1004) at org.exist.storage.BrokerPool.<init>(BrokerPool.java:715) at org.exist.storage.BrokerPool.configure(BrokerPool.java:249) at org.exist.storage.BrokerPool.configure(BrokerPool.java:223) at org.exist.jetty.JettyStart.run(JettyStart.java:166) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.exist.wrapper.Main.start(Main.java:95) at org.tanukisoftware.wrapper.WrapperManager$11.run(WrapperManager.java:4146) Caused by: org.exist.xquery.XPathException: exerr:ERROR error found while loading module console: Cannot find module class from EXPath repository: org.exist.console.xquery.ConsoleModule at org.exist.repo.ExistRepository.getModule(ExistRepository.java:101) at org.exist.repo.ExistRepository.resolveJavaModule(ExistRepository.java:78) at org.exist.xquery.XQueryContext.resolveInEXPathRepository(XQueryContext.java:338) at org.exist.xquery.XQueryContext.importModule(XQueryContext.java:2687) at org.exist.xquery.parser.XQueryTreeParser.importDecl(XQueryTreeParser.java:5837) at org.exist.xquery.parser.XQueryTreeParser.prolog(XQueryTreeParser.java:4868) at org.exist.xquery.parser.XQueryTreeParser.libraryModule(XQueryTreeParser.java:4130) at org.exist.xquery.parser.XQueryTreeParser.module(XQueryTreeParser.java:3964) at org.exist.xquery.parser.XQueryTreeParser.xpath(XQueryTreeParser.java:3751) at org.exist.xquery.XQuery.compile(XQuery.java:160) at org.exist.xquery.XQuery.compile(XQuery.java:109) at org.exist.xquery.XQuery.compile(XQuery.java:93) at org.exist.extensions.exquery.restxq.impl.XQueryCompiler.compile(XQueryCompiler.java:83) ... 17 more Caused by: java.lang.ClassNotFoundException: org.exist.console.xquery.ConsoleModule at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.exist.repo.ExistRepository.getModule(ExistRepository.java:91) ... 29 more 2015-05-29 09:02:02,373 [WrapperListener_start_runner] INFO (RestXqServiceRegistryPersistence.java [loadRegistry]:139) - RESTXQ registry loaded. 2015-05-29 09:02:02,373 [WrapperListener_start_runner] INFO (RestXqServiceRegistryManager.java [getRegistry]:67) - RESTXQ is ready. ________________________________ The contents of this message may be privileged and confidential. Therefore, if this message has been received in error, please delete it without reading it. Your receipt of this message is not intended to waive any applicable privilege. Please do not disseminate this message without the permission of the author. Please consider the environment before printing this e-mail |