Error (java.lang.ClassNotFoundException: com.tibco.ftl.SubscriberListener) when running FTLChannel sample in docker

Error (java.lang.ClassNotFoundException: com.tibco.ftl.SubscriberListener) when running FTLChannel sample in docker

book

Article ID: KB0077702

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition 5.5.0

Description

Following error was reported when running FTLChannel sample in docker.
===========
 be-engine Fatal [main] - [container.standalone] com/tibco/ftl/SubscriberListener
java.lang.NoClassDefFoundError: com/tibco/ftl/SubscriberListener
        at com.tibco.cep.driver.ftl.FTLChannel.<init>(FTLChannel.java:34)
        at com.tibco.cep.driver.ftl.FTLDriver.createChannel(FTLDriver.java:17)
        at com.tibco.cep.runtime.channel.impl.ChannelManagerImpl.registerChannel(ChannelManagerImpl.java:121)
        at com.tibco.cep.runtime.channel.impl.ChannelManagerImpl.init(ChannelManagerImpl.java:108)
        at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.initChannels(RuleServiceProviderImpl.java:1207)
        at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.initAll(RuleServiceProviderImpl.java:620)
        at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.configure(RuleServiceProviderImpl.java:265)
        at com.tibco.cep.container.standalone.BEMain.jumpStart(SourceFile:172)
        at com.tibco.cep.container.standalone.BEMain.main(SourceFile:71)
Caused by: java.lang.ClassNotFoundException: com.tibco.ftl.SubscriberListener
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 9 more
===========

Environment

All

Resolution

As the error indicates the FTL related libraries were missing in CLASSPATH. To resolve the issue copy all .so.* files & *.jar files from Linux distribution FTL_HOME/lib directory to target directory & re-generate Dockerfile (be-docker-gen). The newly generated Dockerfile should have #External Jars containing all FTL client jars & #External Libraries containing .so files. The  jar files will help resolve any ClassNotFoundExceptions and adding *.so files will help resolve java.lang.UnsatisfiedLinkErrors.

Please find attached sample Dockerfile for reference.
 

Issue/Introduction

Error (java.lang.ClassNotFoundException: com.tibco.ftl.SubscriberListener) when running FTLChannel sample in docker

Attachments

Error (java.lang.ClassNotFoundException: com.tibco.ftl.SubscriberListener) when running FTLChannel sample in docker get_app