Note that there are some explanatory texts on larger screens.

plurals
  1. PODeclarative Service bind-Method not found
    primarykey
    data
    text
    <p>I want to use a declarative service, but an error is thrown that the bind method ist not accesible or not found:</p> <p>!MESSAGE [SCR] ComponentReference.bind(): bind method 'setAreaManagment' is not found or it is not accessible!</p> <p>I can't find my mistake. Here is my service interface:</p> <p>IManagmentService</p> <pre><code>public interface IAreaManagmentService { SurfacePolygon getAreaByDatabaseID(int id); void setAreaVisibility(int databaseId, boolean visible); public void addArea(Integer objectId, Integer databaseId, double biggestLat, double biggestLon, double smallestLat, double smallestLon, String name, Date date); void removeAllAreas(); public LinkedList&lt;DisplayedArea&gt; getAreas(); } </code></pre> <p>A class called GlobeView (extends ViewPart) implements this interface.</p> <p>Here is the XML-File where the service is 'published'</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="visualization-servcieprovider"&gt; &lt;implementation class="GlobeView"/&gt; &lt;service&gt; &lt;provide interface="IAreaManagmentService"/&gt; &lt;/service&gt; &lt;/scr:component&gt; </code></pre> <p>And this is the XML-File where the service should be bound:</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" enabled="true" name="visualization-detailsview"&gt; &lt;implementation class="DetailsView"/&gt; &lt;reference bind="setAreaManagment" cardinality="1..1" interface="IAreaManagmentService" name="IAreaManagmentService" policy="dynamic" unbind="unsetAreaManagment"/&gt; &lt;/scr:component&gt; </code></pre> <p>These two methods are in the DetailsView.java</p> <pre><code> public void setAreaManagment(IAreaManagmentService areaManagment) { System.out.println("AreaManagmentSet"); this.areaManagment = areaManagment; System.out.println("WAS SET " + this.areaManagment); } public void unsetAreaManagment(IAreaManagmentService areaManagmentIn) { System.out.println("AreaManagmentUnSet"); this.areaManagment = null; } </code></pre> <p>(and there is a private IAreaManagmentService areaMangment of course ;-) )</p> <p>Where is my mistake? I read the fab tutorial from Lars Vogella, but I can't find my mistake</p> <p>Edit: I added Service-Component: OSGI-INF/serviceprovider.xml, OSGI-INF/managmentConsumer.xml to my Manifest as well</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload