...
Code Block |
---|
... <property name="incidentDAO"> <osgi:reference interface="org.apache.camel.example.reportincident.dao.IncidentDAO"/> </property> ... |
This reference will be used to call the osgi service to find the service corresponding to the interface name declared. If a match occurs, then a spring bean reference is created in the bundle reportincident.service.
To expose our service as an OSGI service, we will create the file service-osgi.xml
in the directory src/main/resources/META-INF/spring
and add the code.
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:osgi="http://www.springframework.org/schema/osgi" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd"> <osgi:service ref="incidentService" interface="org.apache.camel.example.reportincident.service.IncidentService"/> </beans> |
Routing/Mediation service
Remark :
- Transaction Management has been defined in the corresponding files of reportincident.persistence and reportincident.service but we will not discuss them in detail in this tutorial.
4) reportincident.webservice
This bundle will not be exported as an OSGI service. So, we only need to modify the content of <Export-Package> to export the classes generated by the wsl2java maven plugin and the wsdl file :
Code Block |
---|
<Export-Package>
org.apache.camel.example.reportincident,
'=META-INF.wsdl'
</Export-Package>
|
Routing/Mediation service
The routing/mediation between services/bundles will be created The routing/mediation between services/components will be created using Spring DSL language.