Hey guys!
I'm having some problems changing the port of the HttpService using the
Configuration Admin.
In my activator, I get the ExtHttpService through a service tracker. Once
I've got the service, I add some Servlets and a Servlet Filter to it. Once
that's done, go hit the ConfigurationAdmin to try to change the port.
Every time I get the properties, it's null. I change it and do the Update,
but it has no effect.
Can someone tell me what I'm doing wrong? Here's my method:
private void setHttpConnectorInfo ()
{
try
{
ServiceReference configurationAdminReference =
bundleContext.getServiceReference( ConfigurationAdmin.class.getName() );
if ( configurationAdminReference != null )
{
ConfigurationAdmin confAdmin = ( ConfigurationAdmin )
bundleContext.getService( configurationAdminReference );
Configuration configuration = confAdmin.getConfiguration(
"org.apache.felix.http", CORE_SERVICE_LOCATION );
Dictionary properties = configuration.getProperties();
if ( properties == null )
{
properties = new Hashtable();
}
properties.put( "service.pid", "org.apache.felix.http" );
properties.put( "org.osgi.service.http.port", "80" );
properties.put( "org.apache.felix.http.jettyEnabled", "true" );
configuration.update();
}
}
catch ( Exception ioEx )
{
ioEx.printStackTrace();
}
}
I've been porting my application over to OSGi/Felix and, I have to say,
it's quite a bear. This is my last outstanding thing!! ALMOST THERE!
Appreciate all your help guys!
Thanks,
E