karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: Thoughts about Karaf profiles / releases / growing number of dependencies (Re: AW: AW: Problem when starting camel-cxf in karaf)
Date Thu, 03 Feb 2011 23:47:36 GMT
I don't know how to deal with needing to change stuff in what I've put in the "framework" kar.
 Maybe we can do something fancier with branding to overwrite or merge more standard files.
 I don't think system properties solutions are reasonable.

I've been assuming that our goal is to make it really easy for everyone to make features,
kars, and assemblies for their project so that in a few trivial maven projects that take 15
minutes to set up they can construct a feature or kar to install their project on an existing
karaf server and also a customized stand alone karaf server with  their project pre installed.
 The worst-case alternative is all of geronimo getting pushed back into karaf which I'm sure
no one wants :-D

For stuff we can't manage to push back to the originating project that we still want to support
perhaps we can have less monolithic releases like felix has?

thanks
david jencks


On Feb 3, 2011, at 3:07 PM, Guillaume Nodet wrote:

> Yeah, the problem is that Karaf itself isn't a container for Camel or
> CXF and we have some users that just want to plain JRE without any
> tweaks for running SAAJ because they don't care.
> ServiceMix on the other hand is dedicated to host such applications,
> so that's why the default config works better.
> I'm ok with the idea of profiles in karaf, but we need to make sure we
> don't end up with having to include and depend on all apache projects,
> as Karaf itself has imho no purpose of becoming a default distribution
> of CXF, Camel, ActiveMQ, Directory, etc...
> I think each project could easily provide a karaf features so that
> they would easily be deployed in a bare Karaf, but at some point, it
> does not really scale nor make sense to put everything back into
> Karaf.
> 
> Tweaking the system properties is sometimes needed depending on what
> you need to deploy, because OSGi is lacking on certain areas (or
> because the JVM isn't really modular, depending on how you see
> things).  Some people are happy with using the JAXB implementation
> from the JVM without being able to change it easily, some people may
> want to be able to deploy those as OSGi bundles.  Karaf can't do both
> at the same time.
> 
> Another point, is that the amount of third party dependencies is
> becoming increasingly important in Karaf, and that's really becoming a
> problem for simply releasing Karaf in an efficient manner.
> So I'm tempted to say that we should push back on those projects and
> have them provide karaf features, rather than having karaf providing
> features for those.  I'm mostly thinking here about pax-web and the
> war support (which is really cool, no doubt on that) and aries and
> support for things we don't embed by default (jpa, etc..).
> 
> I certainly don't have a good answer yet, but I just want to make sure
> everyone is aware of the potential problem.
> 
> If we keep adding dependencies, our release cycles will necessarily be
> longer and longer ....  For example camel has a release cycle of one
> minor version every few months, ServiceMix even less, while CXF has
> much less external dependencies and manage to keep a high frequency of
> releases.  2.2 could have been shipped early december, but we were
> waiting for aries.  Now aries has been released, but we still have
> some snapshots dependencies on some felix or ops4j components.  And
> we've added stuff that's not completely stabilized.
> 
> Once again, I'm just trying to state facts so that everybody
> understand the situation.  I'm personnaly not really happy that the
> 2.2 release is planned since 2 months but still can't get out and I
> think it clearly means that we're going in a wrong direction somehow
> ....
> 
> Sorry for the rant.  There are a bunch of unrelated things here, ...
> 
> On Wed, Feb 2, 2011 at 11:29, Jean-Baptiste Onofré <jb@nanthrax.net> wrote:
>> Claus already raised a Jira about that.
>> 
>> Guillaume wasn't very ok to set the jre.properties by default.
>> 
>> On the other hand, I launched a discussion thread about Karaf profiles. It's
>> typically the kind of tuning which is part of a profiles.
>> 
>> Waiting for the profiles design, we can provide a Karaf Enterprise
>> distribution including this kind of tuning related to Camel/CXF/SMX.
>> 
>> I add Karaf dev mailing list to see what the team says :)
>> 
>> Regards
>> JB
>> 
>> On 02/02/2011 11:21 AM, Christian Schneider wrote:
>>> 
>>> Are these adapted jre.properties only usefull for Servicemix and the
>>> Talend Service Factory or do you think it would make sense to change them in
>>> the karaf distribution.
>>> 
>>> Best regards
>>> 
>>> Christian
>>> 
>>> 
>>> -----Ursprüngliche Nachricht-----
>>> Von: Jean-Baptiste Onofré [mailto:jb@nanthrax.net]
>>> Gesendet: Mittwoch, 2. Februar 2011 11:02
>>> An: users@camel.apache.org
>>> Betreff: Re: AW: Problem when starting camel-cxf in karaf
>>> 
>>> Yeah, you can take a look on the ServiceMix one too :)
>>> 
>>> Regards
>>> JB
>>> 
>>> On 02/02/2011 10:26 AM, Christian Schneider wrote:
>>>> 
>>>> I think I was able to solve the problem. I had to change the
>>>> jre.properties to exclude some packages from the system bundle export.
>>>> The jre.properties from the Talend Service Factory seem to work:
>>>> 
>>>> http://de.talend.com/products-application-integration/talend-service-factory-community-edition.php
>>>> 
>>>> Christian
>>>> 
>>>> 
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Christian Schneider [mailto:cschneider@talend.com]
>>>> Gesendet: Mittwoch, 2. Februar 2011 09:52
>>>> An: users@camel.apache.org
>>>> Betreff: Problem when starting camel-cxf in karaf
>>>> 
>>>> Hi all,
>>>> 
>>>> I am trying to run Apache Camel (feature camel-cxf) in Apache Karaf.
>>>> 
>>>> I am using a fresh Karaf 2.1.3 download.
>>>> I start karaf and enter:
>>>> 
>>>>> features:addurl
>>>>> mvn:org.apache.camel.karaf/apache-camel/2.6.0/xml/features
>>>>> features:install camel-cxf
>>>> 
>>>> I get an exception while starting
>>>> org.apache.servicemix.bundles.saaj-impl:
>>>> Unable to resolve 97.0: missing requirement [97.0] package;
>>>> (package=com.sun.org.apache.xerces.internal.dom)
>>>> 
>>>> Any idea what I am doing wrong?
>>>> 
>>>> Christian
>>>> 
>>>> ----------------------
>>>> 
>>>> 02.02.2011 09:46:08 org.apache.karaf.main.SimpleFileLock lock
>>>> INFO: locking
>>>> 09:46:09,765 | INFO  | FelixStartLevel  | jmx
>>>>  | ?                                   ? | 20 - org.apache.aries.jmx -
>>>> 0.2.0.incubating | Starting JMX OSGi agent
>>>> 09:46:09,781 | INFO  | FelixStartLevel  | jmx
>>>>  | ?                                   ? | 20 - org.apache.aries.jmx -
>>>> 0.2.0.incubating | Registering MBean with ObjectName
>>>> [osgi.compendium:service=cm,version=1.3] for service with service.id [10]
>>>> 09:46:09,796 | WARN  | rint Extender: 3 | BlueprintContainerImpl
>>>>   | container.BlueprintContainerImpl  252 | 7 - org.apache.aries.blueprint
-
>>>> 0.2.0.incubating | Bundle org.apache.karaf.features.command is waiting for
>>>> namespace handlers
>>>> [(&(objectClass=org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace=http://karaf.apache.org/xmlns/shell/v1.0.0))]
>>>> 09:46:09,796 | WARN  | rint Extender: 2 | BlueprintContainerImpl
>>>>   | container.BlueprintContainerImpl  252 | 7 - org.apache.aries.blueprint
-
>>>> 0.2.0.incubating | Bundle org.apache.karaf.shell.osgi is waiting for
>>>> namespace handlers
>>>> [(&(objectClass=org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace=http://karaf.apache.org/xmlns/shell/v1.0.0))]
>>>> 09:46:09,796 | WARN  | JMX OSGi Agent   | jmx
>>>>  | ?                                   ? | 20 - org.apache.aries.jmx -
>>>> 0.2.0.incubating | There are no MBean servers registred, can't register
>>>> MBeans
>>>> 09:46:09,890 | WARN  | rint Extender: 2 | BlueprintContainerImpl
>>>>   | container.BlueprintContainerImpl  252 | 7 - org.apache.aries.blueprint
-
>>>> 0.2.0.incubating | Bundle org.apache.karaf.shell.console is waiting for
>>>> namespace handlers
>>>> [(&(objectClass=org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace=http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0))]
>>>> 09:46:09,968 | WARN  | rint Extender: 2 | BlueprintContainerImpl
>>>>   | container.BlueprintContainerImpl  252 | 7 - org.apache.aries.blueprint
-
>>>> 0.2.0.incubating | Bundle org.apache.karaf.shell.dev is waiting for
>>>> namespace handlers
>>>> [(&(objectClass=org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace=http://karaf.apache.org/xmlns/shell/v1.0.0))]
>>>> 09:46:10,218 | WARN  | rint Extender: 3 | BlueprintContainerImpl
>>>>   | container.BlueprintContainerImpl  252 | 7 - org.apache.aries.blueprint
-
>>>> 0.2.0.incubating | Bundle org.apache.karaf.shell.ssh is waiting for
>>>> namespace handlers
>>>> [(&(objectClass=org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace=http://karaf.apache.org/xmlns/shell/v1.0.0))]
>>>> 09:46:10,234 | WARN  | rint Extender: 3 | BlueprintContainerImpl
>>>>   | container.BlueprintContainerImpl  252 | 7 - org.apache.aries.blueprint
-
>>>> 0.2.0.incubating | Bundle org.apache.karaf.admin.command is waiting for
>>>> namespace handlers
>>>> [(&(objectClass=org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace=http://karaf.apache.org/xmlns/shell/v1.0.0))]
>>>> 09:46:10,250 | WARN  | rint Extender: 3 | BlueprintContainerImpl
>>>>   | container.BlueprintContainerImpl  252 | 7 - org.apache.aries.blueprint
-
>>>> 0.2.0.incubating | Bundle org.apache.karaf.shell.commands is waiting for
>>>> namespace handlers
>>>> [(&(objectClass=org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace=http://karaf.apache.org/xmlns/shell/v1.0.0))]
>>>> 09:46:10,375 | WARN  | rint Extender: 2 | BlueprintContainerImpl
>>>>   | container.BlueprintContainerImpl  252 | 7 - org.apache.aries.blueprint
-
>>>> 0.2.0.incubating | Bundle org.apache.karaf.shell.packages is waiting for
>>>> namespace handlers
>>>> [(&(objectClass=org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace=http://karaf.apache.org/xmlns/shell/v1.0.0))]
>>>> 09:46:11,609 | INFO  | Thread-5         | FeaturesServiceImpl
>>>>  | res.internal.FeaturesServiceImpl  293 | 19 -
>>>> org.apache.karaf.features.core - 2.1.3 | Bundles to refresh:
>>>> 09:46:11,640 | INFO  | rint Extender: 3 | SecurityUtils
>>>>  | e.sshd.common.util.SecurityUtils   80 | 25 - sshd-core - 0.4.0 |
>>>> BouncyCastle not registered, using the default JCE provider
>>>> 09:46:11,968 | INFO  | JMX OSGi Agent   | jmx
>>>>  | ?                                   ? | 20 - org.apache.aries.jmx -
>>>> 0.2.0.incubating | Registering org.osgi.jmx.framework.BundleStateMBean to
>>>> MBeanServer com.sun.jmx.mbeanserver.JmxMBeanServer@6e3d60 with name
>>>> osgi.core:type=bundleState,version=1.5
>>>> 09:46:12,000 | INFO  | JMX OSGi Agent   | jmx
>>>>  | ?                                   ? | 20 - org.apache.aries.jmx -
>>>> 0.2.0.incubating | Registering org.osgi.jmx.framework.ServiceStateMBean to
>>>> MBeanServer com.sun.jmx.mbeanserver.JmxMBeanServer@6e3d60 with name
>>>> osgi.core:type=serviceState,version=1.5
>>>> 09:46:12,000 | INFO  | JMX OSGi Agent   | jmx
>>>>  | ?                                   ? | 20 - org.apache.aries.jmx -
>>>> 0.2.0.incubating | Registering org.osgi.jmx.framework.FrameworkMBean to
>>>> MBeanServer com.sun.jmx.mbeanserver.JmxMBeanServer@6e3d60 with name
>>>> osgi.core:type=framework,version=1.5
>>>> 09:46:12,031 | INFO  | JMX OSGi Agent   | jmx
>>>>  | ?                                   ? | 20 - org.apache.aries.jmx -
>>>> 0.2.0.incubating | Registering
>>>> org.osgi.jmx.service.cm.ConfigurationAdminMBean to MBeanServer
>>>> com.sun.jmx.mbeanserver.JmxMBeanServer@6e3d60 with name
>>>> osgi.compendium:service=cm,version=1.3
>>>> 09:46:12,031 | INFO  | JMX OSGi Agent   | jmx
>>>>  | ?                                   ? | 20 - org.apache.aries.jmx -
>>>> 0.2.0.incubating | Registering org.osgi.jmx.framework.PackageStateMBean to
>>>> MBeanServer com.sun.jmx.mbeanserver.JmxMBeanServer@6e3d60 with name
>>>> osgi.core:type=packageState,version=1.5
>>>> 09:48:08,234 | INFO  | l Console Thread | FeaturesServiceImpl
>>>>  | res.internal.FeaturesServiceImpl  293 | 19 -
>>>> org.apache.karaf.features.core - 2.1.3 | Bundles to refresh:
>>>> 09:48:08,656 | INFO  | l Console Thread | ContextLoaderListener
>>>>  | .activator.ContextLoaderListener  356 | 44 -
>>>> org.springframework.osgi.extender - 1.2.0 | Starting
>>>> [org.springframework.osgi.extender] bundle v.[1.2.0]
>>>> 09:48:08,781 | INFO  | l Console Thread | ExtenderConfiguration
>>>>  | al.support.ExtenderConfiguration  150 | 44 -
>>>> org.springframework.osgi.extender - 1.2.0 | No custom extender configuration
>>>> detected; using defaults...
>>>> 09:48:08,781 | INFO  | l Console Thread | TimerTaskExecutor
>>>>  | heduling.timer.TimerTaskExecutor  106 | 38 - org.springframework.context
>>>> - 3.0.5.RELEASE | Initializing Timer
>>>> 09:48:09,281 | INFO  | l Console Thread | Activator
>>>>  | apache.camel.impl.osgi.Activator   83 | 51 - org.apache.camel.camel-core
>>>> - 2.6.0 | Camel activator starting
>>>> 09:48:09,312 | INFO  | l Console Thread | Activator
>>>>  | apache.camel.impl.osgi.Activator   86 | 51 - org.apache.camel.camel-core
>>>> - 2.6.0 | Camel activator started
>>>> 09:48:10,968 | INFO  | l Console Thread | Activator
>>>>  | apache.camel.impl.osgi.Activator   90 | 51 - org.apache.camel.camel-core
>>>> - 2.6.0 | Camel activator stopping
>>>> 09:48:10,968 | INFO  | l Console Thread | Activator
>>>>  | apache.camel.impl.osgi.Activator   92 | 51 - org.apache.camel.camel-core
>>>> - 2.6.0 | Camel activator stopped
>>>> 09:48:11,984 | INFO  | l Console Thread | ContextLoaderListener
>>>>  | .activator.ContextLoaderListener  449 | 44 -
>>>> org.springframework.osgi.extender - 1.2.0 | Stopping
>>>> [org.springframework.osgi.extender] bundle v.[1.2.0]
>>>> 09:48:11,984 | INFO  | l Console Thread | TimerTaskExecutor
>>>>  | heduling.timer.TimerTaskExecutor  179 | 38 - org.springframework.context
>>>> - 3.0.5.RELEASE | Cancelling Timer
>>>> 09:48:12,281 | INFO  | l Console Thread | Console
>>>>  | araf.shell.console.jline.Console  188 | 11 -
>>>> org.apache.karaf.shell.console - 2.1.3 | Exception caught while executing
>>>> command
>>>> java.lang.Exception: Could not start bundle
>>>> mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.saaj-impl/1.3.2_1
>>>> in feature(s) camel-cxf-2.6.0: Unresolved constraint in bundle
>>>> org.apache.servicemix.bundles.saaj-impl [97]: Unable to resolve 97.0:
>>>> missing requirement [97.0] package;
>>>> (package=com.sun.org.apache.xerces.internal.dom)
>>>>                  at
>>>> org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:326)[19:org.apache.karaf.features.core:2.1.3]
>>>>                  at
>>>> org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:254)[19:org.apache.karaf.features.core:2.1.3]
>>>>                  at
>>>> org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:250)[19:org.apache.karaf.features.core:2.1.3]
>>>>                  at
>>>> org.apache.karaf.features.command.InstallFeatureCommand.doExecute(InstallFeatureCommand.java:51)[9:org.apache.karaf.features.command:2.1.3]
>>>>                  at
>>>> org.apache.karaf.features.command.FeaturesCommandSupport.doExecute(FeaturesCommandSupport.java:39)[9:org.apache.karaf.features.command:2.1.3]
>>>>                  at
>>>> org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:38)[11:org.apache.karaf.shell.console:2.1.3]
>>>>                  at
>>>> org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)[11:org.apache.karaf.shell.console:2.1.3]
>>>>                  at
>>>> org.apache.felix.gogo.runtime.shell.CommandProxy.execute(CommandProxy.java:50)[11:org.apache.karaf.shell.console:2.1.3]
>>>>                  at
>>>> org.apache.felix.gogo.runtime.shell.Closure.execute(Closure.java:229)[11:org.apache.karaf.shell.console:2.1.3]
>>>>                  at
>>>> org.apache.felix.gogo.runtime.shell.Closure.executeStatement(Closure.java:162)[11:org.apache.karaf.shell.console:2.1.3]
>>>>                  at
>>>> org.apache.felix.gogo.runtime.shell.Pipe.run(Pipe.java:101)[11:org.apache.karaf.shell.console:2.1.3]
>>>>                  at
>>>> org.apache.felix.gogo.runtime.shell.Closure.execute(Closure.java:79)[11:org.apache.karaf.shell.console:2.1.3]
>>>>                  at
>>>> org.apache.felix.gogo.runtime.shell.CommandSessionImpl.execute(CommandSessionImpl.java:71)[11:org.apache.karaf.shell.console:2.1.3]
>>>>                  at
>>>> org.apache.karaf.shell.console.jline.Console.run(Console.java:170)[11:org.apache.karaf.shell.console:2.1.3]
>>>>                  at java.lang.Thread.run(Thread.java:662)[:1.6.0_23]
>>>> Caused by: org.osgi.framework.BundleException: Unresolved constraint in
>>>> bundle org.apache.servicemix.bundles.saaj-impl [97]: Unable to resolve 97.0:
>>>> missing requirement [97.0] package;
>>>> (package=com.sun.org.apache.xerces.internal.dom)
>>>>                  at
>>>> org.apache.felix.framework.Felix.resolveBundle(Felix.java:3409)[org.apache.felix.framework-3.0.2.jar:]
>>>>                  at
>>>> org.apache.felix.framework.Felix.startBundle(Felix.java:1709)[org.apache.felix.framework-3.0.2.jar:]
>>>>                  at
>>>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:905)[org.apache.felix.framework-3.0.2.jar:]
>>>>                  at
>>>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:892)[org.apache.felix.framework-3.0.2.jar:]
>>>>                  at
>>>> org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:323)[19:org.apache.karaf.features.core:2.1.3]
>>>>                  ... 14 more
>>>> 
>> 
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com


Mime
View raw message