karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Carman <ja...@carmanconsulting.com>
Subject Generating custom bundle including "disruptor" in startup.properties...
Date Thu, 18 May 2017 16:24:16 GMT
I'm trying to automatically enable asynchronous logging by default and the
config file says:

# uncomment to use asynchronous loggers, which require
mvn:com.lmax/disruptor/3.3.2 library
log4j2.rootLogger.type = asyncRoot


So, I uncommented it (as you can see), but "disruptor" isn't visible at
boot time, because it's not in the startup.properties. So, I figured I'd
try to add it:

<startupBundles>
  <startupBundle>mvn:com.lmax/disruptor/3.3.2</startupBundle>
</startupBundles>

Now, I get a funky features.cfg file:

#
# Comma separated list of features repositories to register by default
#
featuresRepositories =
file:${karaf.home}/etc/8dbd154a-fce6-435a-a7cd-67dc546b2ddf.xml

#
# Comma separated list of features to install at startup
#
featuresBoot = 9088a7fb-b327-44eb-ba3f-24382526981b

With a new feature repository file in etc:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0"
name="8dbd154a-fce6-435a-a7cd-67dc546b2ddf">

<repository>mvn:org.apache.karaf.features/framework/4.1.1/xml/features</repository>

<repository>mvn:org.apache.karaf.features/spring/4.1.1/xml/features</repository>

<repository>mvn:org.apache.karaf.features/standard/4.1.1/xml/features</repository>

<repository>mvn:org.apache.karaf.features/enterprise/4.1.1/xml/features</repository>

<repository>mvn:org.apache.cxf.karaf/apache-cxf/3.1.11/xml/features</repository>

<repository>mvn:org.apache.camel.karaf/apache-camel/2.19.0/xml/features</repository>

<repository>mvn:org.apache.activemq/activemq-karaf/5.14.5/xml/features</repository>

<repository>mvn:com.savoirtech.aetos/features/4.1.1.0-SNAPSHOT/xml/features</repository>
    <feature name="9088a7fb-b327-44eb-ba3f-24382526981b" version="0.0.0">
        <feature prerequisite="false" dependency="false">framework</feature>
        <feature prerequisite="false"
dependency="false">aries-blueprint</feature>
        <feature prerequisite="false" dependency="false">bundle</feature>
        <feature prerequisite="false" dependency="false">config</feature>
        <feature prerequisite="false" dependency="false">deployer</feature>
        <feature prerequisite="false"
dependency="false">diagnostic</feature>
        <feature prerequisite="false" dependency="false">feature</feature>
        <feature prerequisite="false" dependency="false">instance</feature>
        <feature prerequisite="false" dependency="false">jaas</feature>
        <feature prerequisite="false" dependency="false">kar</feature>
        <feature prerequisite="false" dependency="false">log</feature>
        <feature prerequisite="false"
dependency="false">management</feature>
        <feature prerequisite="false" dependency="false">package</feature>
        <feature prerequisite="false" dependency="false">service</feature>
        <feature prerequisite="false" dependency="false">shell</feature>
        <feature prerequisite="false"
dependency="false">shell-compat</feature>
        <feature prerequisite="false" dependency="false">ssh</feature>
        <feature prerequisite="false" dependency="false">system</feature>
        <feature prerequisite="false" dependency="false">wrap</feature>
        <feature prerequisite="false"
dependency="false">aetos-core</feature>
        <bundle>mvn:com.lmax/disruptor/3.3.2</bundle>
    </feature>
</features>

Notice it added "disruptor" to the bottom of that feature.  However, I
didn't want it in a boot feature.  I wanted it in the startup.properties,
so let's take a look there:

# Bundles to be started on startup, with startlevel
mvn\:org.apache.karaf.features/org.apache.karaf.features.extension/4.1.1 = 1
mvn\:org.ops4j.pax.url/pax-url-aether/2.5.2 = 5
mvn\:org.ops4j.pax.logging/pax-logging-api/1.9.1 = 8
mvn\:org.ops4j.pax.logging/pax-logging-log4j2/1.9.1 = 8
mvn\:org.apache.felix/org.apache.felix.configadmin/1.8.14 = 10
mvn\:org.apache.felix/org.apache.felix.fileinstall/3.5.8 = 11
mvn\:org.apache.karaf.features/org.apache.karaf.features.core/4.1.1 = 15
mvn\:com.lmax/disruptor/3.3.2 = 50

It added it!  So, why is it adding it in both places?  Everything seems to
start up just fine in this case, but I really don't like this crazy
auto-generated features file.  Is there a way to avoid it and just add that
bundle to startup.properties?

Thanks,

James

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message