Ooops sorry, I posted this in the wrong mailing list (I posted again in the user@karaf), you can ignore my question here!
Thanks Nicolas On Tue, Apr 25, 2017 at 10:59 AM, Nicolas Brasey <[email protected]> wrote: > Hi guys, > > I would need your help regarding the best practices to modularize the code > into "building blocks". I'm working on breaking a monolith into smaller > chunck but I'm faceing some issues having apparently cyclic dependencies in > my different features definitions. The problem is that I can't figure out > where is the cycle. Do you guys have a tool to analyse feature dependencies > ? Or how do you manage the feature files when the project becomes of a > bigger size ? > > > I believe I have a cycle because the maven build hangs when I build the > karaf distribution. A jstack analysis of the build process shows me this > stack trace: > > > ... > ... > - locked <0x00000005f5a017e8> (a java.util.HashMap) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:133) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:127) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.notifyListener(DefaultFuture.java:344) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.addListener(DefaultFuture.java:293) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader.download(MavenDownloadManager.java:127) > at org.apache.karaf.profile.assembly.Builder$4.downloaded( > Builder.java:1154) > - locked <0x00000005f5a017e8> (a java.util.HashMap) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:133) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:127) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.notifyListener(DefaultFuture.java:344) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.addListener(DefaultFuture.java:293) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader.download(MavenDownloadManager.java:127) > at org.apache.karaf.profile.assembly.Builder$4.downloaded( > Builder.java:1154) > - locked <0x00000005f5a017e8> (a java.util.HashMap) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:133) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:127) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.notifyListener(DefaultFuture.java:344) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.addListener(DefaultFuture.java:293) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader.download(MavenDownloadManager.java:127) > at org.apache.karaf.profile.assembly.Builder$4.downloaded( > Builder.java:1154) > - locked <0x00000005f5a017e8> (a java.util.HashMap) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:133) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:127) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.notifyListener(DefaultFuture.java:344) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.addListener(DefaultFuture.java:293) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader.download(MavenDownloadManager.java:127) > at org.apache.karaf.profile.assembly.Builder$4.downloaded( > Builder.java:1154) > - locked <0x00000005f5a017e8> (a java.util.HashMap) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:133) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:127) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.notifyListener(DefaultFuture.java:344) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.addListener(DefaultFuture.java:293) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader.download(MavenDownloadManager.java:127) > at org.apache.karaf.profile.assembly.Builder$4.downloaded( > Builder.java:1154) > - locked <0x00000005f5a017e8> (a java.util.HashMap) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:133) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:127) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.notifyListener(DefaultFuture.java:344) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.addListener(DefaultFuture.java:293) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader.download(MavenDownloadManager.java:127) > at org.apache.karaf.profile.assembly.Builder$4.downloaded( > Builder.java:1154) > - locked <0x00000005f5a017e8> (a java.util.HashMap) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:133) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:127) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.notifyListener(DefaultFuture.java:344) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.addListener(DefaultFuture.java:293) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader.download(MavenDownloadManager.java:127) > at org.apache.karaf.profile.assembly.Builder$4.downloaded( > Builder.java:1154) > - locked <0x00000005f5a017e8> (a java.util.HashMap) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:133) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:127) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.notifyListener(DefaultFuture.java:344) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.addListener(DefaultFuture.java:293) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader.download(MavenDownloadManager.java:127) > at org.apache.karaf.profile.assembly.Builder$4.downloaded( > Builder.java:1154) > - locked <0x00000005f5a017e8> (a java.util.HashMap) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:133) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader$1.operationComplete(MavenDownloadManager.java:127) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.notifyListener(DefaultFuture.java:344) > at org.apache.karaf.features.internal.download.impl. > DefaultFuture.addListener(DefaultFuture.java:293) > at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$ > MavenDownloader.download(MavenDownloadManager.java:127) > at org.apache.karaf.profile.assembly.Builder$4.downloaded( > Builder.java:1154) > ... > ... > many more repetitions of the same stack... > ... > ... > > > Thanks again for your help! > Nicolas > > > > >
