#java #mongodb #wso2 #siddhi #wso2si
Вопрос:
Я работаю в WSO2-SI (потоковый интегратор) и создаю несколько приложений siddhi. Мне понадобилось использовать расширение mongodb-store, которое доступно в магазине siddhi. Я установил расширения и настроил @store с типом mongodb. Но, похоже, я не могу запустить приложение, потому что столкнулся с ошибкой com/mongodb/MongoException
. Когда-нибудь, когда я перезапущу СИ, я увижу com/mongodb/MongoSocketOpenException
. Я не знаю, почему это происходит и как отладить эту ошибку. Я вижу, что файлы mongodb jar находятся в {WSO2-SI-HOME}/lib/
каталоге under, поэтому расширение установлено, но не работает должным образом.
Вот полный код моего приложения siddhi:
@App:name("MongoDB search")
@App:description("desc is here")
define stream SearchID (id string)
-- Exceptions appears here: com/mongodb/MongoException or com/mongodb/MongoSocketOpenException
@store(type="mongodb", mongodb.uri="mongodb://user:password@127.0.0.1:27017/database_name?replicaSet=rs0", collection.name="users")
define table UsersTable (id string, date_of_birth string, gender string, height_cm double, weight_kg double);
@sink(type='log', prefix='Logging')
define stream ListeningLogs(id string, Date_of_Birth string, Gender string, Height double, Original_Weight double)
@info(name='logging')
from SearchID as s join UsersTable as u
on s.id == u.id
select u.id, u.date_of_birth as Date_of_Birth, u.gender as Gender, u.height_cm as Height, u.weight_kg as Original_Weight
insert into ListeningLogs;
Добавлены Новые Строки
Я протестировал приложение на сервере и обнаружил следующую причину:
Caused by: java.lang.NoClassDefFoundError: com/mongodb/MongoSocketOpenException
...
Caused by: java.lang.ClassNotFoundException: com.mongodb.MongoSocketOpenException cannot be found by siddhi-store-mongodb_2.1.1
Но я не знаю, как это исправить.