java.lang.NullPointerException: reference and pid must not be null
------------------------------------------------------------------

                 Key: FELIX-2925
                 URL: https://issues.apache.org/jira/browse/FELIX-2925
             Project: Felix
          Issue Type: Bug
          Components: Declarative Services (SCR)
    Affects Versions:  scr-1.6.0
            Reporter: Andrei Pozolotin


#################

getting this:

*ERROR* Unexpected problem executing task
java.lang.NullPointerException: reference and pid must not be null
        at 
org.osgi.service.cm.ConfigurationEvent.<init>(ConfigurationEvent.java:120)
        at 
org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1818)
        at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:104)
        at java.lang.Thread.run(Thread.java:662)

#################

at this line:

                        conf.update(props);

#################

for this snippet:


package com.barchart.mgr;

import java.util.Date;
import java.util.Dictionary;
import java.util.Properties;

import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Deactivate;
import org.apache.felix.scr.annotations.Reference;
import org.osgi.service.cm.Configuration;
import org.osgi.service.cm.ConfigurationAdmin;
import org.osgi.service.component.ComponentContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@Component
public class HelloManager {

        private static Logger log = LoggerFactory.getLogger(HelloManager.class);

        @Reference
        private ConfigurationAdmin admin;

        @Activate
        protected synchronized void activate(ComponentContext context) {
                log.debug("ACTIVATE");

                log.debug("admin: {}", admin);

                try {

                        Configuration[] confArray = 
admin.listConfigurations(null);
                        if (confArray == null) {
                                log.debug("confArray == null");
                        } else {
                                for (Configuration conf : confArray) {
                                        log.debug("conf: {}", conf);
                                }
                        }

                        String pid = "com.barchart.hello.impl.CompSingle";

                        Configuration conf = admin.getConfiguration(pid, null);

                        conf.update();

                        log.debug("conf: {}", conf);

                        Dictionary props = conf.getProperties();
                        if (props == null) {
                                log.debug("props == null");
                                props = new Properties();
                                props.put("created", new Date().toString());
                        }

                        conf.update(props);

                } catch (Exception e) {
                        log.error("", e);
                }

        }

        @Deactivate
        protected synchronized void deactivate(ComponentContext context) {
                log.debug("DEACTIVATE");
        }

}


#################



--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to