Hi,

I fear, the problem is

   public final class JettyService
    implements ManagedService, Runnable

Thus, if the Configuration Admin package cannot be imported, the
JettyService cannot be instantiated and thus not be started.

The fix is probably to created a small (anonymous or inner) class which
implements the ManagedService interface to be instantiated in the
JettyService start  (but catching any Errors) method.

The ManagedService itself would just forward the updated call to the
JettyServide instance.

Thus instead of :

   this.configServiceReg = this.context.registerService(
             ManagedService.class.getName(), this, props);

It would be

   try {
      Object srv = new ManagedService() {
            updated(Dictionary props) {
                JettyService.this.updated(props);
            }
      };
      this.configServiceReg = this.context.registerService(
             ManagedService.class.getName(), this, props);
    } catch (Throwable t) {
      ...
    }


Regards
Felix

On 11.01.2010 01:41, Sten Roger Sandvik wrote:
> Hi.
> 
> It's only the packages that is required. You can either install the
> configadmin bundle or let the startup environment export the cm.*
> compendium packages. I do not think the package dependency can easily
> be removed.
> 
> /srs
> 
> On Sun, Jan 10, 2010 at 11:46 PM, Hlusi, Jiri (NSN - FI/Tampere)
> <[email protected]> wrote:
>> Hello,
>>
>>
>> If I try to run the Felix framework, release 2.0.1, with default content
>> (framework, obr, shell, shell-tui),
>> and install additionally "org.apache.felix.http.bundle-2.0.4.jar" on top
>> of that, the HTTP bundle won't
>> start (will not be resolved) due to missing dependency on CM packages
>> (Configuration Admin):
>>
>> ************
>> java.lang.ClassNotFoundException: *** Class
>> 'org.osgi.service.cm.ManagedService' was
>> not found. Bundle 4 does not import package 'org.osgi.service.cm', nor
>> is the package
>> exported by any other bundle or available from the system class loader.
>> ***
>> ************
>>
>> [ same behavior observed for both, "http.bundle" and "http.jetty"
>> bundles ]
>>
>>
>> The manual page
>> (http://felix.apache.org/site/apache-felix-http-service.html) says
>> configuration
>> via OSGi properties and Configuration Admin is possible, but it does not
>> imply that usage of
>> the latter one would be mandatory....
>>
>>
>> So far, I found two work-arounds to get the HTTP service running:
>>
>>  1) install confadmin-1.2.4
>>  2) install osgi.cmpn.jar (update 4.2.0)
>>
>> Problem with 1) is that overall I'm not intending to utilize
>> Configuration Admin for anything
>> useful, so I'd rather prefer not to have it loaded just because missing
>> interface (package
>> export).
>>
>> Then, looking at 2), the osgi Alliance packages are tagged as "for
>> development
>> purpose" .... so I'm not sure is it a good idea to use thos in
>> production, and what
>> eventual side effects there might be.
>>
>>
>> Can anyone advise what would be the best way to move on?
>>
>> Could the hard dependency on Configration Admin be removed
>> somehow in next update of the service?
>>
>>
>>
>> Many thanks in advance!
>>
>> br, Jiri
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to