Hey all,

I am trying to use the osgi mocks in the following setup:
@Component
@Designate(ocd = ServiceImpl.Config.class)
public class ServiceImpl implements Service {

    @ObjectClassDefinition
    @interface Config {

        String property() default "value";
    }
    
    private Config config;

    @Activate
    public void activate(Config config) {
        this.config = config;
    }
}
Test class:
service = context.registerInjectActivateService(new ServiceImpl(), "property", 
"some-value");
But I am getting the following exception:

java.lang.RuntimeException: No matching activation method with name 'activate'  
found in class some.packagename.ServiceImpl

        at 
org.apache.sling.testing.mock.osgi.OsgiServiceUtil.activateDeactivate(OsgiServiceUtil.java:157)
        at 
org.apache.sling.testing.mock.osgi.MockOsgi.activate(MockOsgi.java:209)
        at 
org.apache.sling.testing.mock.osgi.MockOsgi.activate(MockOsgi.java:220)
        at 
org.apache.sling.testing.mock.osgi.context.OsgiContextImpl.registerInjectActivateService(OsgiContextImpl.java:160)
        at 
org.apache.sling.testing.mock.osgi.context.OsgiContextImpl.registerInjectActivateService(OsgiContextImpl.java:174)

Is this a known issue or am I using it wrong?

Greets,
Roy

Reply via email to