Hi,

When starting our custom Karaf distribution, we regularly see the error
below. I'm not sure I understand it OK, but it looks like the Felix
ConfigurationManager tries to log something, but an exception is thrown,
stopping the update-Thread. Maybe the eventAdmin bundle is restarted
somehow during boot, which makes it unavailable for a short period, but I
feel that a logLine should never have this kind of impact. At the bottom
you can find the configuration of our karaf-maven-plugin.

Can I prevent the eventAdmin bundle from being restarted, or should the
exception be handled differently somewhere ?



RejectedExecutionException: Task java.util.concurrent.FutureTask@616ff6e9[Not
completed, task =
java.util.concurrent.Executors$RunnableAdapter@35bad341[Wrapped
task =
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter@6de671aa]]
rejected from java.util.concurrent.ThreadPoolExecutor@20fbc2ac[Shutting
down, pool size = 4, active threads = 0, queued tasks = 0, completed tasks
= 176]
 java.util.concurrent.RejectedExecutionException: Task
java.util.concurrent.FutureTask@616ff6e9[Not completed, task =
java.util.concurrent.Executors$RunnableAdapter@35bad341[Wrapped task =
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter@6de671aa]]
rejected from java.util.concurrent.ThreadPoolExecutor@20fbc2ac[Shutting
down, pool size = 4, active threads = 0, queued tasks = 0, completed tasks
= 176]
at
java.base/java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2055)
at
java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:825)
at
java.base/java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1350)
at
java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
at
org.apache.felix.eventadmin.impl.tasks.DefaultThreadPool.executeTask(DefaultThreadPool.java:134)
at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks.execute(AsyncDeliverTasks.java:102)
at
org.apache.felix.eventadmin.impl.handler.EventAdminImpl.postEvent(EventAdminImpl.java:180)
at
org.apache.felix.eventadmin.impl.security.EventAdminSecurityDecorator.postEvent(EventAdminSecurityDecorator.java:79)
at
org.ops4j.pax.logging.spi.support.EventAdminTracker.deliver(EventAdminTracker.java:103)
at
org.ops4j.pax.logging.spi.support.EventAdminTracker.postEvent(EventAdminTracker.java:65)
at
org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl.handleEvents(PaxLoggingServiceImpl.java:417)
at
org.ops4j.pax.logging.log4j2.internal.PaxLoggerImpl.doLog0(PaxLoggerImpl.java:1127)
at
org.ops4j.pax.logging.log4j2.internal.PaxLoggerImpl.doLog(PaxLoggerImpl.java:1098)
at
org.ops4j.pax.logging.log4j2.internal.PaxLoggerImpl.debug(PaxLoggerImpl.java:252)
at
org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl.logImpl(PaxLoggingServiceImpl.java:402)
at
org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl.access$000(PaxLoggingServiceImpl.java:70)
at
org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.log(PaxLoggingServiceImpl.java:678)
at org.apache.felix.cm.impl.Log.log(Log.java:186)
at org.apache.felix.cm.impl.Log.log(Log.java:168)
at
org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1383)
at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:122)
at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:84)
at java.base/java.lang.Thread.run(Thread.java:829)

                <plugin>
                    <groupId>org.apache.karaf.tooling</groupId>
                    <artifactId>karaf-maven-plugin</artifactId>
                    <version>${karaf.plugin.version}</version>
                    <configuration>

<includeBuildOutputDirectory>false</includeBuildOutputDirectory>
                        <blacklistedFeatures>
                            <!-- will be replaced by felix-http (
http://blog.nanthrax.net/?p=1038) -->
                            <feature>http</feature>
                            <feature>pax-web-*</feature>

                            <!-- diagnostic-feature results in HealthCheck
: WARN Inactive bundle 308 org.apache.karaf.diagnostic.boot: RESOLVED -->
                            <feature>diagnostic</feature>

                            <!-- Blacklisting the Apache Aries
transaction-blueprint bundles to prevent a -->
                            <!-- "Ignored XML validation warning
org.xml.sax.SAXParseException". Included by Cellar -->

<blacklistedFeature>transaction</blacklistedFeature>
                        </blacklistedFeatures>

                        <blacklistedBundles>
                            <!-- Excluding this bundle from the
framework-feature, because of the
mvn:jakarta.xml.bind/jakarta.xml.bind-api/2.3.2 bundle from the cxf-feature
-->

<bundle>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.2/2.9.0</bundle>
                        </blacklistedBundles>
                        <bootRepositories>

<bootRepository>mvn:org.apache.karaf.features/spring/${karaf.runtime.version}/xml/features</bootRepository>
                        </bootRepositories>
                        <startupFeatures>
                            <startupFeature>eventadmin</startupFeature>
                        </startupFeatures>
                        <bootFeatures>
                            <bootFeature>scr</bootFeature>
                            <bootFeature>standard</bootFeature>
                            <bootFeature>webconsole</bootFeature>
                            <bootFeature>felix-http</bootFeature>


<bootFeature>decanter-collector-jmx</bootFeature>

<bootFeature>decanter-appender-prometheus</bootFeature>
                        </bootFeatures>
                        <javase>11</javase>
                        <archiveTarGz>false</archiveTarGz>
                        <propertyFileEdits>

${project.build.directory}/maven-shared-archive-resources/propertyFileEdits/assembly-property-edits.xml
                        </propertyFileEdits>
                        <classifier>distribution</classifier>
                        <useReferenceUrls>true</useReferenceUrls>
                    </configuration>
                </plugin>

Kind regards,
Steven Huypens

Reply via email to