TIBCOSoftware / TIBCOSoftware/be-contribution

KinesisExample - Cannot invoke com.tibco.cep.runtime.channel.EventSerializer.getClass because the return value of com.tibco.cep.runtime.channel.DestinationConfig.getEventSerializer is null.

Open
#144 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
0
Forks
10
PR merge metrics
No merged PRs in 30d

Description

Version Information
Software Version(s)
BusinessEvents 6.4.0
OS Type? Windows
OS Version? Win 11 Pro
What is the expected behavior?

The BE engine should get started successfully.

What is the actual behavior?

The BE engine failed to start with NPE as described below:
2025 Sep 26 19:08:32:860 GMT +05 kcon DEBUG [main] - [runtime.session] Error performing initAll() java.lang.NullPointerException: Cannot invoke "com.tibco.cep.runtime.channel.EventSerializer.getClass()" because the return value of "com.tibco.cep.runtime.channel.DestinationConfig.getEventSerializer()" is null at com.tibco.be.custom.channel.framework.CustomChannel.initializeDestinations(CustomChannel.java:72) at com.tibco.be.custom.channel.framework.CustomChannel.<init>(CustomChannel.java:42) at com.tibco.be.custom.channel.BaseDriver.createChannel(BaseDriver.java:60) at com.tibco.cep.runtime.channel.impl.ChannelManagerImpl.registerChannel(SourceFile:121) at com.tibco.cep.runtime.channel.impl.ChannelManagerImpl.init(SourceFile:108) at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.initChannels(SourceFile:1225) at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.initAll(SourceFile:642) at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.configure(SourceFile:285) at com.tibco.cep.container.standalone.BEMain.jumpStart(SourceFile:178) at com.tibco.cep.container.standalone.BEMain.main(SourceFile:73) 2025 Sep 26 19:08:32:869 GMT +05 kcon FATAL [main] - [container.standalone] Cannot invoke "com.tibco.cep.runtime.channel.EventSerializer.getClass()" because the return value of "com.tibco.cep.runtime.channel.DestinationConfig.getEventSerializer()" is null java.lang.NullPointerException: Cannot invoke "com.tibco.cep.runtime.channel.EventSerializer.getClass()" because the return value of "com.tibco.cep.runtime.channel.DestinationConfig.getEventSerializer()" is null at com.tibco.be.custom.channel.framework.CustomChannel.initializeDestinations(CustomChannel.java:72) at com.tibco.be.custom.channel.framework.CustomChannel.<init>(CustomChannel.java:42) at com.tibco.be.custom.channel.BaseDriver.createChannel(BaseDriver.java:60) at com.tibco.cep.runtime.channel.impl.ChannelManagerImpl.registerChannel(SourceFile:121) at com.tibco.cep.runtime.channel.impl.ChannelManagerImpl.init(SourceFile:108) at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.initChannels(SourceFile:1225) at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.initAll(SourceFile:642) at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.configure(SourceFile:285) at com.tibco.cep.container.standalone.BEMain.jumpStart(SourceFile:178) at com.tibco.cep.container.standalone.BEMain.main(SourceFile:73)

Please provide a unit test that demonstrates the bug.
  1. Create kinesis jar as described in https://github.com/TIBCOSoftware/be-contribution
  2. Import the example project Kinesis from the given location : https://github.com/TIBCOSoftware/be-samples/tree/main/KinesisChannel
  3. Configure the project with AWS account details.
  4. Build EAR file and start consumer engine as mentioned in readme of example.
    The BE engine failed to start with NPE as described above.
Other notes on how to reproduce the issue?
Please provide log files.

Attached project and log for the reference.
KinesisChannel.zip
Kinesis-consumer.log
kinesis.zip

Any possible solutions?
Can you identify the location in the source code where the problem exists?
If the bug is confirmed, would you be willing to submit a PR?

Yes / No (Help can be provided if you need assistance submitting a PR)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with CustomChannel.initializeDestinations at CustomChannel.java:72 and reproduce the failure using the KinesisChannel sample, the generated Kinesis JAR, and the attached logs. Check how the destination configuration is built and why its event serializer is null. Done means the consumer engine starts successfully without this NPE and a unit test demonstrates the failure and fix.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, java
Domain
backend, stream-processing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.