Search code examples
wso2osgibundlewso2-cep

How to custom event adaptor in wso2 cep 4.1.0


I make plug-in to jarfile. and I copy to jarfile in dropin folder. (reference https://docs.wso2.com/display/CEP410/Building+Custom+Event+Receivers)

I execute wso2 cep. command is './wso2server.sh -DosgiConsole'. and 'osgi > ss event-adaptor-name' checked ACITVE!

but WSO2 Management web page is not exist. 'Input Event Adapter Type' of my event is not exist.

I check to 'osgi > bundle event-adaptor-id' The result is

No registered services.

How to registerd service in WSO2 CEP?

I use eclipse, not using maven. I use plug-in project.


Solution

  • Exposing Custom Event Receiver as an OSGI Service section in WSO2 CEP 4.1.0 documentation gives an example as how to register the custom adapter as an OSGI service.

    With reference to the same document pointed above, following is the point where the custom adapter register itself under the OutputEventAdapterFactory service.

    context.getBundleContext().registerService(OutputEventAdapterFactory.class.getName(),
                        emailEventAdaptorFactory, null);
    

    If it is successfully registered, you will see "osgi > bundle event-adaptor-id" result as something similar to:

    osgi> bundle org.wso2.carbon.event.output.adapter.email
    org.wso2.carbon.event.output.adapter.email_5.0.10 [215]
      Id=215, Status=ACTIVE      Data Root=/home/userx/wso2cep-4.1.0/repository/components/default/configuration/org.eclipse.osgi/bundles/215/data
      "Registered Services"
        {org.wso2.carbon.event.output.adapter.core.OutputEventAdapterFactory}={service.id=117}
    

    (please note that I have not posted the complete output above, for the sake of clarity of the answer)