2015-05-07 3 views
2

Цель: Запуск Apache Sling с дубом Apache как поставщик JCR с MongoDB в качестве хранилища данных.Как управлять Sling с дубом Apache при поддержке MongoDB

Шагов До сих пор: установлен MongoDB (3.0.2) и проверить и работает клонированные: https://github.com/apache/sling.git , построенная с использованием Maven: MVN чистой установки запустить локально с помощью:

java -jar target/org.apache.sling.launchpad-*.jar -c test -f - 

это работает ну, но теперь я хотел бы переключиться на использование дуба Apache с MongoDB. Документация Launchpad App кажется, описывает возможность просто делать что-то вроде:

java -jar target/org.apache.sling.launchpad-*.jar -Dsling.run.modes=oak,oak_mongo 

Однако, когда я делаю это, я не вижу каких-либо соединений к запущенному экземпляру Монго.

Пересмотрены Документация До сих пор:

Введите панели запуска/каталога строителем и запуска слинг впервые

$ cd launchpad/builder 
$ java -jar target/org.apache.sling.launchpad-*.jar -c test -f - 

Update: 05/19/2015

Как предложил Роберт, я начал 2.6.8 экземпляр Монго и пытался начиная слинг, чтобы увидеть, если есть какие-либо соединения, предпринимаемые: (соединения, которые появляются Насколько я могу судить, в монгольских журналах нет связи с RoboMongo, а не Sling. Просмотр в http://localhost:8080/.explorer.html#, не вызывает никаких выходных данных в журналах Mongo)

Монго терминалов Logs

/usr/local/Cellar/mongodb/2.6.8/bin [master] 
± % ./mongod                     !1778 
./mongod --help for help and startup options 
2015-05-19T13:51:27.831-0500 [initandlisten] MongoDB starting : pid=42458 port=27017 dbpath=/data/db 64-bit host=Davids-MacBook-Pro-3.local 
2015-05-19T13:51:27.831-0500 [initandlisten] 
2015-05-19T13:51:27.831-0500 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 
2015-05-19T13:51:27.831-0500 [initandlisten] db version v2.6.8 
2015-05-19T13:51:27.831-0500 [initandlisten] git version: nogitversion 
2015-05-19T13:51:27.831-0500 [initandlisten] build info: Darwin miniyosemite.local 14.1.0 Darwin Kernel Version 14.1.0: Mon Dec 22 23:10:38 PST 2014; root:xnu-2782.10.72~2/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_49 
2015-05-19T13:51:27.831-0500 [initandlisten] allocator: tcmalloc 
2015-05-19T13:51:27.831-0500 [initandlisten] options: {} 
2015-05-19T13:51:27.836-0500 [initandlisten] journal dir=/data/db/journal 
2015-05-19T13:51:27.836-0500 [initandlisten] recover : no journal files present, no recovery needed 
2015-05-19T13:51:28.294-0500 [initandlisten] waiting for connections on port 27017 
2015-05-19T13:52:28.338-0500 [clientcursormon] mem (MB) res:97 virt:3295 
2015-05-19T13:52:28.338-0500 [clientcursormon] mapped (incl journal view):800 
2015-05-19T13:52:28.338-0500 [clientcursormon] connections:0 
2015-05-19T13:57:28.529-0500 [clientcursormon] mem (MB) res:97 virt:3295 
2015-05-19T13:57:28.529-0500 [clientcursormon] mapped (incl journal view):800 
2015-05-19T13:57:28.529-0500 [clientcursormon] connections:0 
2015-05-19T14:02:28.710-0500 [clientcursormon] mem (MB) res:97 virt:3295 
2015-05-19T14:02:28.710-0500 [clientcursormon] mapped (incl journal view):800 
2015-05-19T14:02:28.710-0500 [clientcursormon] connections:0 
2015-05-19T14:07:28.899-0500 [clientcursormon] mem (MB) res:97 virt:3295 
2015-05-19T14:07:28.899-0500 [clientcursormon] mapped (incl journal view):800 
2015-05-19T14:07:28.899-0500 [clientcursormon] connections:0 
2015-05-19T14:12:29.096-0500 [clientcursormon] mem (MB) res:97 virt:3295 
2015-05-19T14:12:29.096-0500 [clientcursormon] mapped (incl journal view):800 
2015-05-19T14:12:29.096-0500 [clientcursormon] connections:0 
2015-05-19T14:17:29.289-0500 [clientcursormon] mem (MB) res:97 virt:3295 
2015-05-19T14:17:29.289-0500 [clientcursormon] mapped (incl journal view):800 
2015-05-19T14:17:29.289-0500 [clientcursormon] connections:0 
2015-05-19T14:22:29.522-0500 [clientcursormon] mem (MB) res:97 virt:3295 
2015-05-19T14:22:29.522-0500 [clientcursormon] mapped (incl journal view):800 
2015-05-19T14:22:29.522-0500 [clientcursormon] connections:0 
2015-05-19T15:00:05.966-0500 [clientcursormon] mem (MB) res:97 virt:3295 
2015-05-19T15:00:05.966-0500 [clientcursormon] mapped (incl journal view):800 
2015-05-19T15:00:05.966-0500 [clientcursormon] connections:0 
2015-05-19T15:03:52.664-0500 [initandlisten] connection accepted from 127.0.0.1:64394 #1 (1 connection now open) 
2015-05-19T15:03:52.674-0500 [initandlisten] connection accepted from 127.0.0.1:64395 #2 (2 connections now open) 
2015-05-19T15:04:11.610-0500 [initandlisten] connection accepted from 127.0.0.1:64453 #3 (3 connections now open) 
2015-05-19T15:04:11.620-0500 [initandlisten] connection accepted from 127.0.0.1:64454 #4 (4 connections now open) 
2015-05-19T15:04:27.788-0500 [conn3] end connection 127.0.0.1:64453 (3 connections now open) 
2015-05-19T15:04:27.788-0500 [conn4] end connection 127.0.0.1:64454 (3 connections now open) 
2015-05-19T15:04:27.795-0500 [conn2] end connection 127.0.0.1:64395 (1 connection now open) 
2015-05-19T15:04:27.796-0500 [conn1] end connection 127.0.0.1:64394 (0 connections now open) 

Строп терминалов Журналы

java -jar org.apache.sling.launchpad-8-SNAPSHOT.jar -Dsling.run.modes=oak_mongo  !1804 
19.05.2015 15:14:24.777 *INFO * [main] Setting sling.home=sling (default) 
19.05.2015 15:14:24.778 *INFO * [main] Starting Apache Sling in /Users/dholtz/projects/git/sling/launchpad/builder/target/sling 
19.05.2015 15:14:24.780 *INFO * [main] Sling Extension Lib Home : /Users/dholtz/projects/git/sling/launchpad/builder/target/sling/ext 
19.05.2015 15:14:24.781 *INFO * [main] Checking launcher JAR in folder /Users/dholtz/projects/git/sling/launchpad/builder/target/sling 
19.05.2015 15:14:24.804 *INFO * [main] Installing new launcher: jar:file:/Users/dholtz/projects/git/sling/launchpad/builder/target/org.apache.sling.launchpad-8-SNAPSHOT.jar!/resources/org.apache.sling.launchpad.base.jar, 5.0.0.2_6_0 (org.apache.sling.launchpad.base.jar.1432066464804) 
19.05.2015 15:14:24.817 *INFO * [main] Loading launcher class org.apache.sling.launchpad.base.app.MainDelegate from org.apache.sling.launchpad.base.jar.1432066464804 
19.05.2015 15:14:24.817 *INFO * [main] External Libs Home (ext) is null or does not exists. 
19.05.2015 15:14:24.840 *INFO * [main] Setting sling.run.modes=oak_mongo 
19.05.2015 15:14:24.840 *INFO * [main] Setting sling.launchpad=/Users/dholtz/projects/git/sling/launchpad/builder/target/sling 
19.05.2015 15:14:24.840 *INFO * [main] Starting launcher ... 
19.05.2015 15:14:24.840 *INFO * [main] HTTP server port: 8080 
19.05.2015 15:14:25.561 *INFO* [FelixStartLevel] org.apache.sling.commons.logservice Service [org.apache.sling.commons.logservice.internal.LogServiceFactory,18, [org.osgi.service.log.LogService]] ServiceEvent REGISTERED 
19.05.2015 15:14:25.564 *INFO* [FelixStartLevel] org.apache.sling.commons.logservice Service [org.apache.sling.commons.logservice.internal.LogReaderServiceFactory,19, [org.osgi.service.log.LogReaderService]] ServiceEvent REGISTERED 
19.05.2015 15:14:25.566 *INFO* [FelixStartLevel] org.apache.sling.commons.logservice BundleEvent STARTED 
19.05.2015 15:14:25.569 *INFO* [FelixStartLevel] org.apache.sling.installer.core BundleEvent RESOLVED 
19.05.2015 15:14:25.570 *INFO* [FelixStartLevel] org.apache.sling.installer.core BundleEvent STARTING 
19.05.2015 15:14:25.793 *INFO * [main] Startup completed 

Обновление: 05/20/2015

Per R Oberts предложение:

в runmodes неверны в журнале, вы должны использовать -Dsling.run.modes = дуб, oak_mongo -

изменившие runmodes и перезапустил слинг.

погрешность.войти

20.05.2015 12:59:27.745 *ERROR* [CM Event Dispatcher (Fire ConfigurationEvent: pid=org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService)] org.apache.jackrabbit.oak-core [org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService(17)] The activate method has thrown an exception (java.lang.NoClassDefFoundError: com/mongodb/MongoClientOptions$Builder) 
java.lang.NoClassDefFoundError: com/mongodb/MongoClientOptions$Builder 
    at org.apache.jackrabbit.oak.plugins.document.util.MongoConnection.getDefaultBuilder(MongoConnection.java:85) 
    at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.registerNodeStore(DocumentNodeStoreService.java:375) 
    at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.registerNodeStoreIfPossible(DocumentNodeStoreService.java:324) 
    at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.activate(DocumentNodeStoreService.java:310) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:231) 
    at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:39) 
    at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:624) 
    at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:508) 
    at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:149) 
    at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:315) 
    at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:127) 
    at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:871) 
    at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:838) 
    at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:850) 
    at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:623) 
    at org.apache.felix.scr.impl.config.ConfigurableComponentHolder.configurationUpdated(ConfigurableComponentHolder.java:328) 
    at org.apache.felix.scr.impl.config.ConfigurationSupport.configurationEvent(ConfigurationSupport.java:290) 
    at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:2036) 
    at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:2005) 
    at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassNotFoundException: com.mongodb.MongoClientOptions$Builder not found by org.apache.jackrabbit.oak-core [48] 
    at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1558) 
    at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79) 
    at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1998) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 25 common frames omitted 

Обновления: 06/04/2015

На основе последних предложений Роберта он появляется успешные подключения, возможно, делается для MongoDB. Однако, как указано, есть исключения.

Robomongo oak-repo

ответ

0

Насколько я знаю, Дуб 1.2, версия в настоящее время мы используем в слинг, был протестирован на MongoDB 2.6.x. Можете ли вы попробовать с последней версией версии 2.6.x MongoDB вместо 3.0.x?

Если это работает и вы хотите использовать последнюю версию MongoDB, вы должны использовать последний драйвер, например. примените патч к репозитуру Sling git, например

diff --git a/launchpad/builder/src/main/provisioning/oak.txt b/launchpad/builder/src/main/provisioning/oak.txt 
index 64decb2..8f5edb6 100644 
--- a/launchpad/builder/src/main/provisioning/oak.txt 
+++ b/launchpad/builder/src/main/provisioning/oak.txt 
@@ -36,7 +36,7 @@ 
    org.apache.jackrabbit/oak-blob/${oak.version} 

[artifacts startLevel=15 runModes=oak_mongo] 
- org.mongodb/mongo-java-driver/2.12.2 
+ org.mongodb/mongo-java-driver/3.0.1 

[configurations runModes=oak] 
    org.apache.felix.jaas.Configuration.factory-GuestLoginModule 
+0

Robert, благодарю вас за ваши комментарии. Я обновил сообщение, чтобы включить результаты перехода на Mongo 2.6.8. Правильно ли это запустить Sling после выполнения mvn clean install? java -jar org.apache.sling.launchpad-8-SNAPSHOT.jar -Dsling.run.modes = oak_mongo – dholtz

+0

Вы можете разместить вывод $ {sling.home} /logs/error.log где-нибудь? –

+0

Я поместил весь файл журнала на Google Drive. https://drive.google.com/file/d/0B-eU5bPCi24Cb1Z3SUlwS29DWWs/view?usp=sharing – dholtz

Смежные вопросы