Я пытаюсь использовать очередь из Tibco EMS в качестве источника приложения Siddhi.
Для этого я использовал документацию об ActiveMQ как ссылка и успешно сгенерированный OSGi-конвертированный jar-файл для tibjms.jar.
На этом этапе я смог зарегистрировать InitialContextFactory:
C:\PROGRA~1\WSO2\STREAM~1\446521~1.0\bin>icf-provider.bat com.tibco.tibjms.naming.TibjmsInitialContextFactory C:/DevTools/tibjms.jar C:/DevTools/
JAVA_HOME environment variable is set to C:\Program Files\Java\jdk1.8.0_151
CARBON_HOME environment variable is set to C:\PROGRA~1\WSO2\STREAM~1\446521~1.0\bin\..
Feb 18, 2020 10:46:05 PM org.wso2.carbon.tools.spi.ICFProviderTool execute
INFO: Executing 'jar uf C:\DevTools\tibjms\tibjms.jar -C C:\DevTools\tibjms \internal\CustomBundleActivator.class'
Feb 18, 2020 10:46:05 PM org.wso2.carbon.tools.spi.ICFProviderTool addBundleActivatorHeader
INFO: Running jar to bundle conversion
Feb 18, 2020 10:46:06 PM org.wso2.carbon.tools.converter.utils.BundleGeneratorUtils convertFromJarToBundle
INFO: Created the OSGi bundle tibjms_1.0.0.jar for JAR file C:\DevTools\tibjms\tibjms.jar
Затем я создал OSGI-конвертированный баночки для оставшихся банок tibco ems:
- jms-2.0.jar
- tibemsd_se c .jar
- tibjmsadmin.jar
- tibjmsapps .jar
- tibjmsufo.jar
- tibrvjms.jar
На данный момент я скопировал все файлы OSGI в каталог / lib и в исходные файлы jar. в каталог "/ samples / sample-clients / lib".
Затем я отправил пару сообщений в очередь "queue.sample" с текстом body "hello queue".
Затем Я создал следующее приложение Siddhi для использования очереди EMS в качестве источника:
@App:name('TIBCOQueueSource')
@App:description('Use EMS que as SP source')
@source(type = 'jms', destination = "queue.sample", factory.initial = "com.tibco.tibjms.naming.TibjmsInitialContextFactory", provider.url = "tibjmsnaming://localhost:7222", transport.jms.ConnectionFactoryJNDIName= "QueueConnectionFactory", transport.jms.UserName= "admin", transport.jms.Password = "admin",@map(type = 'text'))
define stream inputStream (name string);
@info(name='query_name')
from inputStream
select name
insert into outputStream;
from outputStream#log("logger")
select *
insert into tmp;
Наконец, когда я запустил четное t simulator Я получил следующую ошибку в логах:
[2020-02-18 22:59:31,006] ERROR {org.wso2.siddhi.core.SiddhiAppRuntime} - Error starting Siddhi App 'TIBCOQueueSource', triggering shutdown process. javax/jms/JMSContext
Итак, на основании этого описания я что-то не так делаю? Я пропускаю какой-либо шаг процесса?
Заранее Tks для всей помощи