Thanks a lot JB, /Bengt
2012/11/5 Jean-Baptiste Onofré <[email protected]> > Hi Bengt, > > thanks for the detailed explanation. > > I will try to create a use case (without iPojo) to reproduce the issue (in > combination with jpa feature). > > Regards > JB > > > On 11/05/2012 04:59 PM, Bengt Rodehav wrote: > >> Some more findings... >> >> It seems like the Karaf Shell (org.apache.karaf.shell.**console) bundle >> uses packages from aries (e g org.apache.aries.blueprint) which in turn >> uses packages from org.apache.aries.util. Could it be that when >> the org.apache.aries.util bundle is installed as part of the jpa >> feature, it somehow causes a refresh which causes dependent bundles >> (such as the org.apache.karaf.shell.console bundle) to be rewired. This >> in turn would probably reinitialize the console (I'm probably using the >> wrong terminology here but you know what I mean...). >> >> If that is the case, then it seems highly undesirable to include >> the org.apache.aries.util bundle in the jpa feature. >> >> I don't have an explanation as to why this problem only occurs together >> with iPojo but I assume that it somehow triggers the refresh. >> >> /Bengt >> >> >> 2012/11/5 Bengt Rodehav <[email protected] <mailto:[email protected]>> >> >> >> BTW, I tried using iPojo 1.6.8 instead to see if this is a problem >> introduced in later iPojo versions. I do, however, get the same >> problems using iPojo 1.6.8 which implies that it's not a newly >> introduced iPojo problem. >> >> /Bengt >> >> >> 2012/11/5 Bengt Rodehav <[email protected] <mailto:[email protected] >> >> >> >> >> I'm trying to upgrade my custom Karaf distribution to Karaf >> 2.3.0 but have ran into some problems. It seems there is some >> kind of conflict between ipojo 1.8.2 and the jpa feature - >> specifically the org.apache.aries.util bundle in the jpa feature. >> >> I install ipojo as a feature (not listed in startup.properties). >> But when I do this I get the following exception: >> >> /2012-11-05 15:51:20,251 | INFO | l Console Thread | Console >> >> | araf.shell.console.jline.**Console 199 >> | 14 - org.apache.karaf.shell.console - 2.3.0 | Exception caught >> while executing command/ >> /java.lang.**UnsupportedOperationException: read() with timeout >> cannot be called as non-blocking operation is disabled/ >> /at >> jline.internal.**NonBlockingInputStream.read(** >> NonBlockingInputStream.java:**134)[14:org.apache.karaf.** >> shell.console:2.3.0]/ >> /at >> jline.internal.**NonBlockingInputStream.read(** >> NonBlockingInputStream.java:**246)[14:org.apache.karaf.** >> shell.console:2.3.0]/ >> /at >> jline.internal.**InputStreamReader.read(** >> InputStreamReader.java:259)[**14:org.apache.karaf.shell.**console:2.3.0]/ >> /at >> jline.internal.**InputStreamReader.read(** >> InputStreamReader.java:196)[**14:org.apache.karaf.shell.**console:2.3.0]/ >> /at >> jline.console.ConsoleReader.**readCharacter(ConsoleReader.** >> java:1974)[14:org.apache.**karaf.shell.console:2.3.0]/ >> /at >> jline.console.ConsoleReader.**readLine(ConsoleReader.java:** >> 2174)[14:org.apache.karaf.**shell.console:2.3.0]/ >> /at >> jline.console.ConsoleReader.**readLine(ConsoleReader.java:** >> 2098)[14:org.apache.karaf.**shell.console:2.3.0]/ >> /at >> org.apache.karaf.shell.**console.jline.Console.** >> readAndParseCommand(Console.**java:235)[14:org.apache.karaf.** >> shell.console:2.3.0]/ >> /at >> org.apache.karaf.shell.**console.jline.Console.run(** >> Console.java:171)[14:org.**apache.karaf.shell.console:2.**3.0]/ >> /at java.lang.Thread.run(Thread.**java:662)[:1.6.0_32]/ >> >> >> Then it seems like Karaf (or Felix) restarts somehow since I get >> another "Karaf" logo in the console. The issue can be reproduced >> quite easily: >> >> 1. Download a fresh Karaf 2.3.0 >> >> 2. Create a new feature containing the ipojo bundle. The easiest >> way is probably to add the following lines to the >> enterprise-2.3.0-features.xml in the "system" folder: >> >> <feature name="ipojo"> >> >> <bundle>mvn:org.apache.felix/**org.apache.felix.ipojo/1.8.2</** >> bundle> >> </feature> >> >> 3. Edit the etc/org.apache.karaf.features.**cfg as follows: >> >> featuresBoot=config,ssh,**management,kar,jpa,ipojo >> >> Some other obeservations: >> >> - If I switch the jpa and the ipojo features I get other >> exceptions. >> >> - The org.apache.aries.util bundle is part of the jpa feature >> (start level 30) but it is also present in startup.properties >> (start level 20). >> >> - If I remove the org.apache.aries.util bundle from the jpa >> feature then things seem to work. >> >> - If I install ipojo by using startup.properties instead of >> using a feature then things seem to work. >> >> The last two observations might imply that org.apache.aries.util >> and ipojo must be resolved at the same time (start levels do not >> make any difference). >> >> I'm not sure if this post belongs here or in Felix mailing list. >> However, since it seems to involve the enterprise features that >> is part of Karaf I try here first. It's very confusing. Although >> I have found a couple of work-arounds I don't feel comfortable >> using them since I don't know what is happening. >> >> Does anyone have a clue? >> >> /Bengt >> >> >> >> > -- > Jean-Baptiste Onofré > [email protected] > http://blog.nanthrax.net > Talend - http://www.talend.com >
